Tuesday, May 26, 2009

Linux and GPL...Move to OpenSolaris, FreeBSD and/or OpenBSD?

I know this topic is discussed over and over again. [But clarifications and hence a kind-of detailed reasons listed on (say) kernel.org would be helpful, I think.] Anyways,

I read
http://www.kernel.org/pub/linux/docs/lkml/#s1-19
(note: The link to the message wasn't working - I am guessing its the normal licensing.txt or might be this)
and
http://kerneltrap.org/Linux/NDISwrapper_and_the_GPL


I have a lot of confusions over the reasons for why a GPLONLY API needs to be there. Use of GPLONLY define implies some kind of differentiation between kernel modules which are GPL and "other"licenses.

[Just for the sake of argument, what prevents the same kind
of extension (of differentiation) to GPL programs/applications
and other programs?]

Linus, himself says it is not good to prevent non-GPL driver code in Linux. There is a nice argument here, here and of course here.

I think you really just disagree on what is derived, and what is not.
Richard is very extreme: _anything_ that links is derived, regardless of
what the arguments against it are. I'm less extreme, and I bet you're even
less so (at least you might like to argue so).
I liked this argument of Linus,

The silly thing is, the people who tend to push most for this are the
exact SAME people who say that the RIAA etc should not be able to tell
people what to do with the music copyrights that they own, and that the
DMCA is bad because it puts technical limits over the rights expressly
granted by copyright law.

Doesn't anybody else see that as being hypocritical?

So it's ok when we do it, but bad when other people do it? Somehow I'm not
surprised, but I still think it's sad how you guys are showing a marked
two-facedness about this.

This is exactly what I feel about GPLONLY symbols too.

If Linus was convinced by his fellow-team-mates (so called) to add such a define, why shouldn't some one convince him to make GPLONLY system calls for user space programs as well? The reason given in the FAQ is:

To allow choice for developers who wish, for their own reasons, to contribute code which cannot be used by proprietary modules. Just as a developer has the right to distribute code under a proprietary licence, so too may a developer distribute code under an anti-proprietary licence (i.e. strict GPL).
Choice?


Many people, including me, like freedom without any frills. GPL license adds too many frills to it. GPL (as an extreme example) is like saying: take these seeds (for free) do what ever you want with it, but if you grow a tree using it (with whatever hard work it might take) you need to give it back to others (for whatever reason they might need it for) - for free, as in freedom, of course.


Whatever it (the reasons) might be, what's the guarantee that, the so called exceptions (like the one that allows non-GPL code running in user space) be taken out by our Linux kernel friends? Or for that matter limited to a few legacy APIs only?
What is the guarantee that GPLONLY define will not be put all over the kernel? Maybe that's the idea...

Unless a standardized API (for drivers i.e.) is published and maintained (20yrs of kernel developement and not a hint towards it), there probably is no guarantee...We just have to hope (and pray), Linus is not hijacked!
Note: I am not saying it should never change, but it should be more or less standard across minor version changes. And if it can be done with GPL drivers (not extenstion of the kernel) then it should be possible with non-GPL drivers.

At least wrappers, like the one use by nVidia drivers, will go away.


Because of all the above reasons (and more), I am seriously contemplating on moving to OpenSolaris, FreeBSD and/or OpenBSD.

I have already registered for a free CD of OpenSolaris and will be downloading FreeBSD and OpenBSD. Read on for updates on my experiences with those...

-----

In comparison to GPL, LGPL is far better, BSD licenses are too weak (but in some sense the best), do we have something in between? Can't I ask for both pista as well as strawberry milkshakes? Is that the reason why I like cassata ice creams?


PS: I am not anti-GPL.


3 comments:

Exospaca said...

As an OpenBSD user, I shall forwarn you of a danger, do not go asking for help prior to reading the FAQ, the man pages and making a Google search or two. The OpenBSD community reacts poorly to those who have not at least attempted to help themself prior to going to the mailing lists or IRC channels.

The OpenBSD Wikipedia article is pretty decent at giving a feel for how the OpenBSD community behaves.

Muthu Subramanian K said...

Thanks! Will sure keep a note of that...
I guess _most_ (except a few) open source communities are like that...

Probably OpenBSD is a little on the higher end, maybe...

Muthu Subramanian K said...

From the reddit comments page:

I made it (the analogy) funny on purpose (or rather should I say seriously-funny :))...And there is also a reason why I used a _tree_ example...

@_ak: Anyways, I would appreciate if you could avoid comments targetted at the author...
And yes, I am waiting for a _better_ analogy :)

And I really really think if it was not for Linus, FSF guys would have killed Linux with that license!

Think about it: Anything that links to the GPL code (static/dynamic) is GPL. So, even _running_ a program (technically) is dynamic linking!

So, if you write a "hello world" program which uses LGPL printf, the final code executing will be GPLd driver - so the whole chain _has_ to be GPL code.

So, GPL for application is fine (adjustable kinds) but for the kernel?