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 LGPLThe 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, proprietarycodecs. 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 GStreamerplugins to be used and distributed together with GStreamer and EXAMPLE. This permission is above and beyond the permissions granted by the GPLlicense 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.

SummaryJust 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.

Popular entries

Siste Inlegg

For a limited-time only, we are offering a unique OpenShot t-shirt design!
Not only do you get an awesome t-shirt which helps us to continue funding development of OpenShot, but you also get a special...

I am proud to announce the immediate release of OpenShot 2.4.4, the absolute best version yet! This is going to be a long post, but here is a quick summary for those who are short on time. This releas...