open source and licensing

what is open source, we all know. many people think of it as a synonym for GPL license though. there are at least two problems with that:

  1. GPL is not the only license open source can be released on.
  2. many ppl (including myself) are not all for GPL since it is very restrictive in number of situations.

free or not?

the first question i'd like to ask you is this: is GPL so free? well… you can redistribute, change, share, fork, use it for free and more. the key is that you cannot do everything you want with it. the two very major issues often mentioned are that GPL is a virus license (when you use code that is based on GPL, your code becomes GPL as well) and commercial usage issue – since you use it, your code becomes GPL and you have to release its sources, which in nearly all cases is unacceptable when thinking about commercial usage.

an incident

code i had myself problems with it. since i'm linux enthusiast i do write and publish many of my programs. i wrote few libraries in C++ as well, and wanted to use one of them in my former job as a part of embedded system we were working on at that time. it appeared not possible! why? i was the author of this code after all right? yes, but it was GPL licensed, so using it (or even small part of it) would mean company would have to release code of their cutting-edge technology device, developed by over 100 developers in 4 locations around the world for some time. it was not an option, of course. i could not resign from GPL as well, since this is against the license! i was caught in the GPL and at first feared that i'd have to write the same code again at my work, just to bypass license i choose by myself. at first i though of adding LGPL license as a second one. then second problem came out – the library i wanted to use was C++, template-based which means there is NO linking phase, and therefore it is technically not possible to link with it! and so LGPL did not worked as well…

this was not the only “surprise” i encountered when using (L)GPL, but this one was the very first that signaled me something is not right. i had to do something with this.

the first change

having this in mind i realized i can have dual-lice, not related to (L)GPL anyhow after all. since i was short on time (if we were to use this library, it had to be agreed by company lawyers and this required other license to be used. my choice went to BSD license, as one that allows not to release code. the first nice thing about is was… it was short! GPL (see full license) has number of pages of law claims and conditions that are not developer-friendly to go through (i think the length of GPL FAQ is an obvious sign of this).

BSD license allows any means of redistribution, along with not redistributing at all. the only thing you have to do is say that you use this code. BSD license also says that author cannot be charged for any usage of this software, its bugs, etc…

other options

BSD license is not the only one i think is fully free. there are other interesting options as well.

one of more known is Boost Software License, used by boost libraries for C++. good example of short, nonrestrictive license.

there is also interesting set of license probably created by users tired of long terms-of-usage of pseudo-free code, including, but not limited to:

  1. WTFPL – Do What The Fuck You Want To Public License.
  2. Beerware – do whatever you want with software and if you like, buy author a beer.

you can take a look at more Otherware licenses too. by this time you probably got the idea. :)

final remarks

I think the GNU license is a joke.Poul-Henning Kamp, author of one of Beerware license variants (common now).

i'm still all for the open source. i think the idea is great and works as a charm. i'm though NOT for using (L)GPL since it DOES limit possible usages and forces others to use license you think is good (but others may not do so).

i've moved all my code to BSD license1) already some time ago. if you find on my page any software that is (L)GPL-only please let me know – this must bee a mistake and i'll fix it, providing other license, that will allow you to do ALL that you want with this code. at the moment, actually i'm thinking about switching to Beerware license. :)

IMHO open and free projects should be licensed under nonrestrictive conditions. such a license can be easily spotted – it's usually short and simple (KISS principle) and just stick to the point (Occam's razor), that you're free to do whatever you want! :)

you might also want to see Comparison of free software licenses on wiki.

1) GPL stays for historical reasons, but will not be present in any of my new projects
docs/open_source_and_licensing/open_source_and_licensing.txt · Last modified: 2010/01/03 11:58 by basz
Back to top
Valid CSS Driven by DokuWiki Recent changes RSS feed Valid XHTML 1.0