Table of Contents

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.

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. there was a discussion, focusing on kernel headers and derived work. IMHO point of view presented by RMS is at least blurry. also complex C++ template classes does not meet requirement of being simple-typedef-like. and so LGPL did not worked as well…

this was the moment something changed in me. if i do write code that i publish anyway, for others to use it, why not make it as restrictions-free as possible? it saves others' time, gives wider usage options and still contribute to open source community, which is what it is all about in the first place.

the first change

having this in mind i realized i can (as an author) have dual-license or simply switch to other license, 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… 220 words total. simple, isn't it?

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 licenses, probably created by users tired of long terms-of-usage of almost-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… :)

summary

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

i'm 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 (while others may not think alike). forcing and/or limiting is not my understanding of freedom.

i've moved all my code to BSD license already, some time ago. if you find on my page any software that is (L)GPL-only please let me know – this must be 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 sticks to the point (Occam's razor), that you're free to do whatever you want! :)

remarks

having said all of this i'd like to make a final statement, in order to be sure that this article is interpreted correctly by the readers. what has been shown is a substantial change in my view on GPL, triggered by a real-life event. i knew what the GPL is, when i choose it as a primary license i used to use in the past. my terms, i wish to distribute own projects on, evolved in a different direction over the time, though. this is the story presented.

please notice that it is NOT my intend to force anyone into what i think is free or not. this is the private post, on the private page, that shows my private opinion. since i always promote thinking, there are 3 messages behind this article:

  1. think.
  2. think.
  3. think.

now you know the arguments of the “non-GPL” person. be sure to listen to both sides before deciding. after hearing both, think for yourself and make up your own mind. you might also want to see Comparison of free software licenses on wiki.

acknowledgements

as could be imagined, this article attracted some criticism. at this point i'd like to give special thanks to Michał Rzechonek, Grzegorz Nowakowski and Wojciech Waga for their time. their substantive critic and discussions helped to make this article better, and more balanced. also some errors, present in the original text, have been fixed.

although above mentioned ppl are for GPL, we have had stick-to-the-point discussion, i believe everyone benefited from. this is a good thing, indeed. thanks guys! :)