There are several fully functional and stable Open Source operating systems including Linux, FreeBSD, OpenSolaris, NetBSD, OpenBSD and so on.
Each of these operating systems is competent and production ready, each has it strengths and weaknesses, each has its unique technologies and goals. So the question is why has Linux won the popularity context.
Using a tool like Google Trends it is clear that searches and news stories for Linux are more than 20 times higher than that of FreeBSD or OpenSolaris. The question is why?
The answer can be summed up in two words: license and hero. In this case the license is the GPL and the hero is Linus Torvalds.
License
Each open source project has a license under which the source code is distributed. Linux uses the GPL, FreeBSD the BSD license and OpenSolaris the CDDL.
Much has been written for and against the GNU Public License. The GPL allows the author of software to release the source code to the public and give permission to others to reproduce, adapt or distribute the work as long as any resulting copies or adaptations are also bound by the GPL. This ensures that all developments of the software remains in the public domain.
The BSD license allows for the redistribution, use and modification of the software in source and binary forms as long as the source retains the copyright notice. This means that people are allowed to make derivatives of the software and they don’t need to resubmit the changes back into the public domain.
The CDDL is half way between the BSD license and the GPL. Under the CDDL any modifications to source released under the license or any new files into which CDDL licensed code has been copied must be also distributed under the CDDL. But unlike the GPL any new files containing only new code don’t need to be released under the CDDL.
The license chosen by the different operating systems has affected the support they have received. In short the GPL has lots of support because it ensures that any software released under the GPL will always remain under the GPL. For example, if a programmer spends several hours a week contributing to an open source project, they know that their hard work will remain open and in the public domain because of the GPL. If a commercial enterprise takes that code and tweaks it, the resulting code is also in the public domain. So the company benefits because large portions of code were written before hand by the part time contributor and the contributor benefits because the improvements made by the commercial company will be released for them to pickup and use.
But a person who contributes to a BSD based project may see the fruits of their labour used in a commercial project and the only thing they receive in return is a copyright notice.
As result part time contributors are more likely to donate their time and effort to a GPL project than to a BSD project. Therefore Linux became more popular than FreeBSD. OpenSolaris is a relative new comer to the open source arena and as such the impact of the CDDL is yet to be fully tested. But it is likely that the GPL will remain more attractive to developers.
Hero
Everyone loves a hero and Linux has one, the student who turned the world upside down. But more than this Linux has a human face, a point of contact. A person that the general public can identify with, judge, like, dislike, whatever. FreeBSD and OpenSolaris don’t have a hero, they don’t have a person identified with their projects. All the great IT companies have a face, Microsoft have (had) Bill Gates, Apple Steve Jobs and so on. Though Linus isn’t the head of a corporation, though he has no legal authority to demand or control how or what Linux becomes, he is the personality of Linux.
Snowball
Once Linux popularity started to grow the entire phenomenon took on a snowball effect. Every turn of the Linux snowball caused it to grow bigger and bigger. Now there are multitudes of Linux companies who are delivering Linux based solutions with commercial success. Companies like Ubuntu/Canonical are reshaping the way IT business is performed.
This isn’t to say that FreeBSD isn’t successful, it is. And of course Solaris is very successful. But the question is who has won the hearts and minds of those seeking an alternative OS. Consumer orientated PC companies like Dell now ship Linux on some of their hardware, this kind of thing doesn’t happen for FreeBSD or OpenSolaris.
You wrote: “This ensures that all developments of the software remains in the public domain.”
That is totally wrong – Linux is not now, nor has it ever been, abandoned to the “public domain”. It is viable, under development, thriving, and licensed under the terms of the GPL (which oddly, you stated elsewhere)
Joel,
You are quite right but I don’t think I used the word abandoned, I merely meant that the source code is in the public domain meaning it is available for all to use and modify.
Gary
Another reason is that linux was free first. The BSD Foundation was reluctant to release the source code with a free license and did so after linux was starting to gather momentum. So several hackers perceived that hadn’t linux been started and they contributed source code, BSD would still not be open source. By others the move was pereived as a hostile one aimed to divide the kernel hackers and thus decided that everybody’s interests would be best serverd if the developer base was concentrated on one effort.
I agree with the points you make here, but I also thought that the USL vs BSDi court case of 1992 had something to do with it as well. Just like Linux had its SCO and ReactOS was crippled by its audit, the USL case slowed down the free BSD’s development right at the crucial time in history when it could have pulled ahead. Linus Torvalds even cited this incident specifically in an interview here.
hi gary,
Sorry to pick on one point in a good article, but Joel is right- the phrase “public domain” has a special legal meaning, which in a nutshell is anyone can do anything they want with it, without restrictions. So the way it’s used in the article is definitely not correct.
Nice piece, otherwise, thanks!
Fred
still, the legal implications of public domain dictate that you should probably reword it to “publicly available”. ‘Public Domain” has a specific legal meaning that can be interpreted similar to the BSD license in that anyone can take the code without giving back.
Yes, but… ‘public domain’ is technically something else.
Please see
http://en.wikipedia.org/wiki/Public_domain
for a pretty good description.
I don’t think it was just license and hero. Sure Linus (well, his approach) was possibly more ‘friendly’ and approachable than those in the *BSD tower, but it goes beyond personalities and legalities. And on that point, the important part about the GPL is not so much that it gives you the rights to copy, modify, and distribute the work, but that it does NOT give you the right to take those rights away from anybody, ever.
The use of the GNU userland must have had an impact – more modern, more user-friendly implementations of all the unix favourites. At the time I had more than one friend state that what they’d really like to see is the GNU userland on a *BSD kernel. As ever – it was the apps, not the kernel, that most interested users. (and given that by then the GNU system was only lacking a kernel, there were quite a few skilled os developers just hanging out to use all of their work, so the kernel had to do nothing but exist to gain an instant following – remember, the os came first, not the kernel).
Solaris doesn’t rate a mention as a `competitor’, since it only recently became free software. It probably did help GNU however, since at the time it was replacing the *BSD variant of SunOS, and so gave a nice modern contrast to the old fashioned bsd.
Well there are other factors no doubt – it was just at the right place at the right time I guess. Cheap PC hardware was just getting feature-ful enough to run real operating systems for example. The internet became available outside of universities allowing easy world-wide collaboration.
I agree with the hero explanantion, but I believe you got the license part wrong.
Contrary to popular belief, the majority of the Linux platform is not GPL, it’s LGPL. Even the kernel has a special clarification from Linus that userland applications are not considered derivated works, and are thus not required to be GPL as well.
Otherwise many tools that made Linux popular in the beginning would have been unavailable, for example Apache, Perl and PHP. Even KDE would not exists in the current form, for its basic library, Qt, was not GPL in the beginning.
You also forgot a major factor: Timing. BSD was a little bit late to the party because of the lawsuit, that Penguin Pete mentioned. Timing is critical for getting the first mover advantage, see:
http://en.wikipedia.org/wiki/First-mover_advantage
I don’t think BSD was late to the party at all. As the auther wrote most versions of BSD use the same GNU tools and user interfaces as most Linux versions. BUT remember that a lot of BSD created and derived tools were taken by Microsoft and now Apple and used with no give back. But as said above the Linux kernel was something new, fresh and like said the GPL 2.0 attracted a lot of attention.
Also the hero was a big part of it. I remember when I first got into Linux it was the ease of use and marketing that got me. I hated Unix and BSD was so Unix like. Even though I use the bash shell on Unix and Linux. Simple commands like managing ethernet cards etc are more straight forward to me in Linux and convoluted in BSD and Solaris. Also they are the same in almost all versions of Linux, while the concept is the same on all versions of Unix the commands can be a lot different. Blah.
Also I loved the marketing of Caldera and Red Hat. Caldera was my company before the SCO mess. They had great books, then had great docs included in the box etc (Back in 95, 96) Also they focused more on the regular Windows, Novell end user and administrator. Where as my Free BSD book assumed you were already a seasoned Unix admin, user.
Now that I think about it that was the key for me. To this day installing Ubuntu for instance and installing Free BSD for instance are two totally different exsperences. I can sleep install Ubuntu Desktop and Server. Just as easy as Windows Vista and Mac OS. (SIMPLE) BSD?? Little more convoluted. Also using the ports system is more confusing then using APT.
PC BSD is easy to use and set up. But compare to Ubuntu they have quite a way to go. Also the development of PC BSD does not seem as open as Ubuntu. They have done a great job no doubt but Ubuntu is just much more easy to use and supports much more hardware.
My Acer 3680 laptop runs Ubuntu perfect. Not to take away from other Linux distros but Ubuntu is the only one (8.04) is the only one that works almost perfect.
One last thing. Besides DesktopBSD and PC BSD which are fairly new. BSD’s have never been focused on one thing. Yes BSD makes for a great server but not so much on the desktop. But people tout it for both. Hummmmm.
I disagree with whom you label as the Hero. The most important part of the GNU/Linux ecosystem is the license as you rightly mentioned but the kernel is only a very small part of said ecosystem. Linus did not turn the world upside down by himself. Indeed, he did not even initiate the thing. He just provided a small but crucial part needed to complete the puzzle that the true “Hero” of the Free Software movement started. That person was Richard Stallman.
@DBO i completely agree
bigbrovars last blog post..ubuntu is taking over – in my work place