Saturday, April 24, 2021

GPL, LGPL, AGPL- which license to use? (2008)

I never thought licensing free software would be so interesting. Before I start releasing more source code, I figured it was time to understand what the Free Software Foundation and GPL (General Public License) is all about. So here are my thoughts about licensing free software:

Why Even Bother?
To write software and not license it opens the door for corporations or businesses with money (more money than you) to take your source code, redistribute it with their name on it, removing credit from you (the developer), and profiting off of your work. Most people would agree that even free software needs to be licensed and copyrighted.

What License Should I Use?
Once you've decided to license your source code, their are a ton of licensing choices. Many types of licenses make sense for various types of software. For a free, open-source software project, the GNU GPL (version 3) makes a lot of sense. However, their are 2 main variations of the GPL that you should consider:

GPL vs LGPL

The main difference between these two licenses is the

LGPL

license can be freely modified by anyone, and doesn't require the modifications (i.e. modified source code) to be re-distributed. It's perfectly legal to only distribute the binaries from your changes, and never share your source code. Why is this

dangerous

? Because it allows proprietary versions of your software to be released, and thus you no longer have a "free" software product.

The main selling point of

GPL

(over other licenses) is your code can be freely modified by anyone, and even redistributed by anyone, but any public release of any version of your software (by anyone) must make the source code available. It's also perfectly fine for someone to sell a version of a

GPL

software product, however they must make the source code available, and they must not charge extra for the source code.

What about GStreamer?

The

GStreamer library

is unique, in that it uses many non-free,

proprietary codecs

. If your software wants to use this library, it will be in violation with the

GPL

(version 3). What does the

GStreamer

team recommend? They recommend adding an exception clause to your

GPL

similar to this example:

"The EXAMPLE project hereby grants permission for non-GPL compatible GStreamer plugins to be used and distributed together with GStreamer and EXAMPLE. This permission is above and beyond the permissions granted by the GPL license by which EXAMPLE is covered. If you modify this code, you may extend this exception to your version of the code, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version."
Are There Any Other Licenses?

Of course, there are many open-source licenses to consider, not just the GNU

GPL

. The

Open Source Initiative

(

OSI

) has a

comprehensive list

of

OSI

approved licenses for you to consider.


Summary

Just to be clear, I am no lawyer, and I strongly recommend you speak to a lawyer if you are interested in licensing an open-source project, especially if it uses libraries that contain non-free software. Also, there are many great resources on the Internet related to this topic, so head to Google and start learning.



from Hacker News https://ift.tt/3emKWZm

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.