The Linux folks seems to be pretty active recently.
On July 15, on the public Linux kernel maillist, Linus Torvalds described the OpenBSD crowd as “a bunch of masterbating monkeys” regarding their concentration on security issues. On September 17, during his keynote presentation on the Linux Plumbers Conference 2008, Greg Kroah criticized Canonical, the company behind Ubuntu, for not contributing back to the Linux community. Then, on September 24, in an article published on InfoWorld (which was “accidentally reprinted” on the New York Times), Jim Zemlin (Executive Director of the Linux Foundation) declared that “the future (OS) is Linux and Windows” and “Sun Solaris is on its deathbed”.
When was the last time the Linux folks became so aggressive, launching warfares against other members in the open source movement, and brothers and sisters in the Linux ecosystem as well?
I am not extremely interested in why the Linus Torvalds / Jim Zemlin attacked OpenBSD and Solaris. Linux is not Unix, but competitors of Unix. Therefore it is understandable for Jim Zemlin to denounce ZFS and DTrace on Solaris while Ted Tso (the Linux Foundation’s Chief Platform Strategist) wants them in the Linux kernel. After all, the platinum members of the Linux Foundation include Sun’s business opponents like HP, IBM, Oracle, and Novell. Despite the fact that Sun did not do well financially in recent years, the Solaris operating system still has the largest installed-base among all commercial Unix/Linux distributions. Three years after Sun unveiled the OpenSolaris project (in 2005), there have been tremendous interests coming from people previously using Lunix, and the adoption of OpenSolaris as a development desktop is accelerating. The assertion that “Solaris is on its deathbed” while its market share is growing can only be explained as a FUD (Fear, Uncertainty, and Doubt) strategy, which was learned by Jim Zemlin from Microsoft only recently.
But why Greg Kroah set fire on Canonical? Isn’t Ubuntu a brother or sister of the Linux family?
“Companies who rely on Linux must contribute, or they are at the whim of others.” Just like a father reproaching his naughty child, Greg Kroah kindly advised “developers who are not allowed to contribute to Linux should change jobs”. To support his argument, Greg Kroah provided a ranking of the companies contributing to the Linux kernel during the past 3 years. Among all 99,324 patches, Canonical ranked number 79 with 100 patches, while Novell (Greg Kroah’s employer) ranked number 5 with 7222 patches. Well, Greg Kroah forgot the fact that Canonnical has only 130 paid employees, while Novell has about 4100 (Redhat has 2200). Also Suse Linux has been around since 1994, while Ubuntu, since 2004.
It is difficult to know how many employees belongs to engineering or marketing / sales in a company, even more difficult to identify the number of kernel developers or desktop developers. Therefore, it might be fair to measure a company’s contribute to a certain area with the average contribution per employee. Based on the data provided by Greg Kroah, we can compare the average contribution from Redhat, Novell and Canonical to the Linux kernel, as below:
Redhat: 11846/2200 = 5.38
Novell: 7222/4100 = 1.76
Canonical: 100/130 = 0.77
Clearly the average contribution from Canonical employees to the Linux kernel is relatively small, but still on the same scale as that of Novell. Redhat is obviously the most outstanding contributor, its average contribution is 3 times as big as that of Novell. Considering the fact that in recent years Redhat and Novell invest heavily on server-side technologies, which has a lot to do with the Linux kernel, it is reasonable that they contribute more to the Linux kernel. Canonical as a startup that focuses on desktop, might has less contact with the Linux kernel, therefore not being able to contribute more. Nonetherless, the data provided in Greg Kroah’s presentation was extremely misleading, and unfair for Canonical.
Free software, as defined by Richard Stallman, has four degrees of freedom.
- Freedom Zero is the freedom to run the program however you wish.
- Freedom One is the freedom to study the source code of the program and to change it to make the program do what you wish.
- Freedom Two is the freedom to distribute copies of the program to others, when you wish. Now this includes republication of the program.
- And Freedom Three is the freedom to distribute copies of your modified versions to others when you wish, and this also includes publication if that’s how far you wish to go.
So, as long as Canonical publishes their source code, they are using GNU/Linux in a legitimate way. And Canonical does exactly that. Should we require Canonical to grow the moral responsibility to put back their modifications to upstream projects, then we are giving Canonical free as “free lunch” rather than “freedom”.
If we continue to explore whether Canonical should contribute more to the Linux community then we are missing the point. During the past years both Redhat and Novell have invested significantly on server-side technologies, with the belief that server-side deals will be the future of the open source economy. However, Ubuntu is gaining market share by providing a user-friendly desktop to entry-level and medium-level developers. The contribution of Canonical to the Linux community lies not in the lines of code or number of patches to the Linux kernel, glibc, or X.org. Rather, it lies in the number of people being influenced by Ubuntu and switch (or consider to switch) from Windows to Linux. By offering free CD’s to anybody who are interested, Ubuntu not only wins users from those who previously use Windows, but also from territories traditionally occupied by Redhat and Novell.
The open source movement today is quite different from what it was 10 years ago. As pointed out by Greg Kroah, most of the components that we see in a Linux distribution — just like the Linux kernel, glibc, gcc, X.org, binutils and others — are maintained and patched by paid developers hired by commercial companies rather than amateur developers. Unlike non-profit organizations or amateur individuals, commercial companies invest in open source projects for financial returns rather than an elevation in morality. (Otherwise there wouldn’t be the notorious Novell-Microsoft deal in 2006.) The above-mentioned financial returns can be in the form of a better public relationship (corporate branding), a higher market share, or more directly, more revenue. In the past Novell — along with a couple of other mainstream distributions — controlled the majority of the Linux market, leaving the rest to other minor Linux distributions. When Ubuntu joined the game in 2004, although the total number of people using Linux is increasing, both Redhat and Novell are losing market share to Canonical. Canonical is offering enterprise-class support services for Ubuntu users with a price tag that is more expensive than that for Windows Vista. The fact that there are companies buying these services makes companies like Novell even more unhappy.
Mr. Canonical, you are an outsider of the Linux community (because you contribute very little). It is OK for you to earn a little bit money from Linux. But, if you are earning too much from our work, then it is too much.
This is exactly the kind of Linux ecosystem that is being destroyed by Canonical with Ubuntu.
More and more companies have realized that open source can be a strong weapon for technology adoption. When OpenSolaris joined the competition, developers have one more option along with Linux and BSD. New companies like Canonical also managed to grab business opportunities with products like Ubuntu. The competition in the operating system market will be a lot more violent, rather than Windows (desktop) and Linux (server side) share the market peacefully. What we are seeing today is only a prelude to the Linux crusade, and we should be well prepared for more eventful warfares.
(PS. Although the author works for Sun Microsystems, the opinions conveyed in this blog entry does not represent the point of view from his employer.)