Thursday, May 12, 2005

GPL Is not free

So, after all this time of using Linux and loving the GPL I've finally come to understand that it is esentially flawed, it is in fact not free.

So here is what it is about, at first as a yound idealist I tought GPL was noble, a way of protecting the source and making sure a corporation won't come and dominate others, kill the code and get away with it, now I realize how wrong I was, there is nothing NOTHING GPL can give us over other OSS licenses like BSD for example, here is the point, GPL is not free, they are trying to enforce a "Perfect world" THEYR perfect world, the GPL idealists like Stallman think (or at least say with theyr license and actions, because I can't penetrate theyr mind to read it) that ALL the source should be free and that everybody who ever does anything with any kind of source must make it free as well (free as in speech not as in beer mind you, I'm not one of these closed minded guys who think GPL means non-sellable) anyhow, in the outskirt this seems very noble at first, they want to help everybody to share, but if you sit one second and think about it, you'll see they're not actually helping everybody to share, they're forcing them to share, using THEYR style.

So basically what is going on is that the original developers are FORCING theyr view on anybody who intends to use theyr code for any means other than end user ussage.... How is this any different from an EULA from Microsoft that tells you how you can use the software you've licensed from them? it is not different, it's a diferent form of regulation, of limitation, but it is nonetheless a limitation still, imposed by the developer onto everybody else.

That's not my idea of fair.

Let me tell you why I got so much into Open Source at the start. I've had many passions in my life and I still do, I've choose to study and follow computing out of pure chance I think, I could've been a number of other things and many other areas of interest and many of them I still follow as a hobby, That is also how I started confronting computing and programming, as a hobby.

Now, doing something as a hobby means among other things, that you do not apply so many resources to it, being that time, money, effort. Since applying too many resources to a hobby will divert you from your normal life and supervivence which is bad. This made me understand something pretty quickly, with computing as with all complex jobs getting started is not easy and not cheap at all, not unless you find a mentor, a guide like in the old times when since childhood and if you were lucky, you aprenticed with a master of the trade you loved, and learned from him, earning your keep and study under theyr wing. And so it was that I found my mentor, my mentor was Open Source.

Each time I needed to learn something new, to programm something new, to try to understand a concept I didn't have to go out and buy expensive books, take long college classes which around the world are in general very expensive, and try to piece it out that way, I only had to download source code under an OSS license and read it, read the commens, the commands and learn from it... I first learned Java by reprogramming a simple Chat applet somebody else had done while checking out Sun's openly available API docs, I learned C by looking at a miriad of diferent GNU tools, I first learned Perl by reading the old Form Posting CGI script top to bottom until I understood every single line of it, and I always tought that of my programms when I ever release one (I code only in-house programms so far, but I have three on my mind right now that when i have some time I'll get down to coding and make) would be licensed in an open source manner to give another kid the opportunities I had, and it's not that I am saying all kids who affront this world do so as hobbists, what I say is that not being able to apply all your resources to a complex trade is similar to not having enough resources to apply to it, so yes, I'm speaking about poor people, about kids who had to skip school to work or due to lack of money or any other miriad of troubles.

By being unable to apply enough resources at this career on it's beggining I understood how it felt to be UNABLE to get all the resources you need to start it no matter how much you want them...

And I will still license all my code under an OSS license, just It will not be the GPL, because I will leave it to the kid's conscience and rationality to decide if and when they will do the same with theyr products and code when the time arrives, I want to give them a choice, not an obligation.

Now, there is another point to this whole discussion and that is that there are several flows of work being done in the industry, there is the research flow, creating new computing ideas, paradigms and methods (like for example the so hyped models), and there is the economical flow, companies make software to sell that clients purchase because they find it usefull... I agree sometimes the software is overpriced, but it's still a natural process of humanity, you make something others want and they pay you for it... in this licenses like BSD offer more balance than GPL does, since developing new specifications or functionality over any kind of existent code requires an economical inversion on the part of a company things like paying staff, equipment, electricity and so on, it's not only unfair but also unlogical to preted that a company that INVESTED money to perfect a product, to share it in such a means that makes it easy for other companies who have NOT invested money in the development to take such a program and profit from it.

Now let me clear things up a little on the last topic... many people (and I was one of these) feel very oddly about the BSD license, the feelings divide basically in two type of feelings, the first is that if the company bases on existent code done by someone freely to make a commercial product it's unfair since part of the authors (the original author) do not receive any kind of economical reward while the company does...

Still then you had to admit the company invested in the program, adding code the original author did not and investing time and money in it, as such if some people find use in the program and not in the original code it's more than fair that the company receives a monetary retribution for the new program. And that they protect the program and theyr retribution.

The second feeling is a feeling of stealing, of possesion, that someone took your/theyr code and changed it to make a commercial program sometimes can make us feel like the program was stolen, or taken away from us....

Nothing farther from the truth... possible the happiest day of my life as a programmer came when I did the realization that I could license a program in something BSD like and have as many people copy it and reuse it in ANY manner they want... my copy is still MINE I am the Author of the copy I posses (and registered... always register intellectual property for this reason, not to avoid people using your program but to avoid them saying it was originally theyrs and taking it away from your control for real). And if I see any feature I like implemented by others over my code, I am completely free to implement it myself to be used even under the BSD.... as long as it's not patented... and there lies the only hurdle in the road, like many people (it seems nowaday) I think the idea of patenting software is flawed, yes patents might be awarded but NOT for ideas, specially NOT for basic ideas, only for IMPLEMENTATIONS which is NOT the same.

So, the closing idea behind this all is, that GPL can be as unforgiving as the worst of licenses out there, and that the license that says to "Protect Freedom" actually is taking the freedom of protecting yourself from your own hands, and taking it on theyr hands, that's not free.

And this doesn't means that I will dump Linux inmediatly, it doesn't means I'll switch OS and change my whole system. But it does mean I'll think things twice before recommending systems at work now, and I will think things twice as the time of choosing the license my OSS will be released under comes near.

At 28, nearly 29 years old I get to know Microsoft is not the only "evil" corporation in the game..

Boy I was naive.

No comments: