As explained on the GNU/FSF website, the definition of "free software" encompasses four separate freedoms. None of these freedoms have to do with the price of beer. The four freedoms are:
Fine. You may be thinking, "I can do that already with software that's in the public domain, or covered by other open source licenses, like the BSD-style license." You're right, you can. But software in the public domain, and software covered by a BSD-style license, is not afforded any protection whatsoever to ensure those same freedoms exist for the next user, or the next, or the one after her.
How does it work?
The GPL makes those freedoms self-perpetuating by requiring that anyone who obtains and redistributes GPLd software to release it under the same terms. This is sometimes referred to in a pejorative sense as its "viral nature." Call it what you will, this feature is what provides the protection for the four freedoms. This is what provides Linus -- and thousands of other free software authors -- the protection they want for their software.
Microsoft, for example, took the BSD-licensed TCP/IP stack from the public and swallowed it up in its proprietary product line. Then sold back to the public what it had taken from them. Legally, of course. The BSD-style license offers no protection against that sort of thing.
They've done the same thing with Kerberos, except worse. They made their version of Kerberos work fully only with their servers. Public pressure forced them to provide documentation for their closed-fisted proprietary pirated version, but they attached a restrictive license to the documentation which made it impossible for it to be used in free software.
Once again, it was piracy of public software. Stolen in order to increase Bill Gates' personal fortune. But it was legal theft. The MIT license covering Kerberos provided no protection against that sort of thing.
I love the GPL because it protects Linux and other great software from falling into the clutches of the real software pirates.
How well does it work?
The Linux kernel is the poster-boy for GPLd software. It's become the little OS who could, the bumblebee who could fly, the impossible notion that a bunch of kids on the Internet could create the most successful operating system in history come true. All of that has happened at least partly because of the GPL.
Linux thrives for several reasons, but chief among them them is its community of developers, a community unrivaled by any other platform. Are they drawn to Linux by a charismatic leader? Some, no doubt. To my way of thinking, Linus Torvalds' greatest genius is not in code, but in creating an environment where many gifted coders can work together for the common good. But don't forget, in his heart of hearts, Torvalds is a geek: a sub-species not noted for being warm and fuzzy people-persons.
Could it be the license? For many, yes. The GPL is often described as idealistic and altruistic. If the kernel developers were interested only in the code, wouldn't the BSDs be the ones with the huge development corps instead of Linux? That's what we're told all the time by the BSD-bigots, it's better technically.
But they are not just interested in the code. The GPL adds a magic glue to the Linux community, the good feeling that comes from doing good for others, and knowing that it will continue to do that good for as long as it is used. If you don't know what I'm talking about, then you are probably never going to "get it" as far as the GPL, or Linux, is concerned.
The GPL covers a whole lot more than just the Linux kernel. Check the statistics. Freshmeat.net lists almost 36,000 projects covered by more than 50 different licenses. The page showing percentage covered by specific license reveals over 68% of those projects are licensed by the GPL. What's in second place? The GPL's sibling license, the GNU Lesser GPL, with nearly a 6% share. Coming in third, with 3.57%, is the original BSD license. The GPL is not just the most popular open source or free software license, it is overwhelmingly the people's choice.
Why the lies about the GPL?
Gates and Ballmer attack the GPL at every opportunity. It's not unusual to hear them break out in that old familiar fascist soft-shoe routine and refer to it or Linux as communistic. Hey, who can blame those two bozos. They stumbled blindly into a pot of gold when they were given a monopoly on what turned out to be -- largely no thanks to them -- the hottest technology of the century. Now their lives are dedicated to protecting that monopoly from all comers.
They've done pretty well at that, too. Sometimes they've won anti-trust battles in court, sometimes they've won them in back room deals with secretive administrations. But several superior technical solutions have come and gone -- DR DOS and OS/2, for example -- without making much of a dent in the Microsoft monopoly.
But Linux is immune to most of the kneecap-busting, air-supply cutting, baby-knifing techniques that Microsoft is so fond of. Linux is not a company or an individual that can be bought. It's a community made up largely of folks who find the Microsoft mindset disgusting. Geeks like things that work, and despise the hollow-men who make hollow claims about performance, security, robustness, and availability. And -- unlike the TCP/IP stack and Kerberos -- it's protected by the GPL.
You know those bogus and misleading ads that Microsoft calls its "Get the facts" campaign, and loves to run here and on other popular Linux sites? That's not only what Microsoft does best, it's about the best it can do in its campaign against Linux. And judging from the feedback reactions I've seen to them in comments, they aren't winning any converts for them.
Stallman as a substitute target
The GPL is a license for software. Words. Statements. Clauses. A legal document. Richard Stallman is a man. Brilliant, opinionated, and uncompromising. Many attacks on the GPL are made indirectly, by going after Richard Stallman, for no other reason than he is vulnerable to them, while the license itself is not.
If you don't disassociate the two, then the GPL is going to rise and fall in your estimation based on how you're well getting along with Stallman at the moment. Remember, we're talking about a man who can polarize a room into warring factions just by walking by. I admire Stallman greatly, but I don't always agree with him. It's perfectly OK to like the GPL and to dislike Stallman. They are two different things.
The bottom line
The reason I love the GPL is because it has made one of the richest men in the world -- some would say that makes him one of the most powerful men in the world -- impotent against the surging growth of Linux and its user base.
And because Linux and other free software exists, I have been able to free myself from the noxious terms and conditions imposed by the monopoly on their customers. Changing their licensing terms on the fly, for example. And doing so in ways which forces meek compliance, since failure to accept them means you don't get the latest service pack, which contains fixes for dozens of gaping security holes, which are known and constantly probed for every minute of every day.
The monopoly hates the escape route the GPL provides me. That's why they constantly attack it. Those attacks will undoubtably continue. Some will be legal challenges, some will merely be insane. Sometimes the hand of Microsoft will be obvious -- as in its financial backing and support of SCO -- sometimes not. But it doesn't matter. The GPL is winning. And for that I love it all the more.
Note: Comments are owned by the poster. We are not responsible for their content.
It was invented by Dennis Richie, one of the most brilliant men in software, and was good enough for Ken Thompson, Bill Joy, Richard Stallman, and Linus Torvalds.Actually, Richard Stallman's favorite language is LISP; though he writes in C for speed-dependent stuff. Emacs is an example, the core is written in C but much of the editor is written in RMS's own version of LISP, which makes it customizable by the end user. Bill Joy of course invented the C-Shell's not-extremely C-like really script language, though it is inferior to the Bourne shell for scripting. (It has some great user-interface features though.) The inventors of Unix specifically made it easy to script because of all of the little utilities such as sed and awk which contribute to that. Perl is just a condensed version of the Unix scripting toolkit in one language.
All software should be written in C.
All software should be written in whatever works best.
... a compelling response to Joe's article. The only trouble is that it was completely unreadable. Do you need a couple of URLs to sites that explain the basic HTML tags? I'd suggest checking out the hows and whys of the <P> tag for starters. (Frankly, I'm surprised you went ahead and clicked on "submit" after seeing your post in the preview.)
If you choose to post in html, then you have to use the "P" tags.
If you choose "Plain old text", then you can just press enter...
But best... if you choose "Extrans" then you will have the magic you were expecting! (I belive... but, I have never tried)
Please don't confuse issues. TCP/IP and Kerberos are protocols. Of course, it's difficult to put a protocol under the GPL and consider it fair use of the GPL. The implementation of protocols is a different matter though.
The problem of MS copying the BSD implementation of the TCP/IP stack is that it seems unfair from a moral/geek point of view. Why would such a huge company, with all it's money and resources, just copy that code (which they are legally allowed to do under the BSD licence) and then just make tons of money from it and put a nice technology out of business (NetWare) and replace it with an inferiour technology (NetBIOS/SMB). Was this the intend of the BSD licence?
Use a licence for what it's good for. But consider this: all the new 'believers' in Open Source wouldn't be so supportive if BSD were the only licence. In the competitive world of big business, a 'tit-for-tat' licence goes down much better than a 'nil-for-tat' licence. With the former, code of company A is added to the code of competitor B. Now and forever. Both sides are enriched which is a win-win in the short and long run. With the latter, code of company A is just free to take for competitor B. Now, B can make it's own modification without A having access to those new possibilities. Hmm, try explaining that to your shareholders.
This is incorrect. It's the same mistake made tirelessly by GPL zealots day in and day out. Sigh.
If I add Y&Z to your (BSD licensed) implementation of A-X, I cannot claim the whole alphabet as my own. I must still acknowledge your authorship of A-X. Nor is your implementation of A-X 'buried' in my draconian EULA. Anyone may still get the A-X implementation from you or anyone else who distributes it. Only those who want my Y&Z additions need come for my code. Or they may code their own Y&Z, to release under BSD, GPL, or any other license they wish.
If I write something I want to give to everyone, F/OSS user or not, licensing it BSD-style has the best possibility of penetration. GPL will limit my penetration to the F/OSS worlds only. I want to keep that choice, thanks.
I did not jet mention CDDL, but if you check
you would find that the CDDL is a first class
OSI compliant license while the GPL is only
a second class OSI compliant license.
Not according to the OSI.
The reason I love the GPL is because it has made one of the richest men in the world -- some would say that makes him one of the most powerful men in the world -- impotent
I HaTe M$, biLLg c@n g0 sUck @n eGG! lInuX r0x!!!oneoneone
That was a very fun and intersting read, though nothing all that new or anything that I haven't read in the past. Thank you.
There has always been one thing that I have wondered about with GPL style software. Where will GPLed software be in 20 years?
The GPL is in a way viral in that what you develop on top of that code must also be GPL. So over time I have watched projects start and stop, be taken up again and mature, from linux to gimp to gnome. In 20 years I expect these projects to be even more advanced as they feed off of each other.
The downside to this for people that develop for something other then the GPL is that the bar keeps rising for both those that want to enter into the field and those already in the field.
Where will this take GPLed sofware in 20 years? Basicly everywhere. It will simply grow to fill more markets as it can't help but do so.
Some of the practical downsides to the growth of GPLed software:
Government funded research. I know where this has effected scientific projects. Many of them start out their projects 'on' GPLed code and in the end must release their code work under the GPL and not public domain. Companies cry fowl but it is becoming more common as reprodusing past GPLed work from scratch would take exponentially more time to get a 'clean' implamentation of a project that would be possible to release to the public domain. In the end the cost of developing non-GPLed software rules out developing it through govenment research projects.
Shareware: In the past shareware has been a hot and neat idea but I can see that over time GPLed software compleatly takes over the shareware universe. Most of the programs were small and quick and were made to solve one problem. It still exists in the Windows and Mac worlds, but is very rare indeed on the linux side of things. Shareware has, almost by definition, a very small development staff. So creating similar GPLed software is relitivly easy. This tends to only happen with the most useful shareware programs though.
Lost works: Good software has been made by many a company only to be lost to time because of its closed nature. Relegated to a dusty shelf never to be looked at again. The GPL actually contributes to this lost work by simply growing. I consider the lost of all that past work to be sad.
Right on.
Posted by: Anonymous Coward on January 29, 2005 06:06 PM#