TLWIR 9: Microsoft’s Kernel Contribution, The Hurd, and Open Hardware from CERN

by Rex Djere on July 20, 2011 · 2 comments

in TLWIR

Summary: In the last edition of TLWIR, I discussed Toyota’s recent embrace of the GNU/Linux operating system. In this week’s edition, I will expand on this theme of organizations embracing the concepts of openness and freedom. I will discusses the three recent news stories below:

  • Linux and Free Software Coax Collaboration Out of Selfishness
  • The Hurd Lives!
  • Free Software Breeds Open Hardware From CERN

 

Linux and Free Software Coax Collaboration Out of Selfishness

One very wonderful aspect of Linux, and of free software in general, is that they both encourage selfish companies to become more generous. Most often, this generosity is a manifestation of self-interest, but it still benefits everyone nonetheless. This principle was recently demonstrated by an astonishing fact: Microsoft Corporation is the fifth largest contributor to version 3.0 of the Linux kernel. Let us put this into perspective by comparing it to how companies have done battle historically.

IBM and Xerox are two of the most successful companies in American history. Xerox is traditionally viewed as an imaging and photocopying company, while IBM is seen as a producer of business machines. However, during the 1980s, the paths of the two gigantic companies collided, as Xerox tried to expand into the business machines market. The move had a very limited amount of success: 30 years later, Xerox is still known mostly as a copier company that also makes some other office products, such as printers. However, think about this very interesting point: during the heat of the competitive 1980s, imagine if IBM had donated source code from its flagship product to Xerox to allow Xerox hardware to better interact with products from IBM. Unthinkable! Competition has always had very clearly drawn lines in the sand: you do NOT help your competitor. By contributing to the Linux kernel, Microsoft is helping a product that was called a “cancer” by its CEO a little bit more than a decade ago. The important question to answer is why?

 

In the last edition of TLWIR, I talked about how collaboration is increasingly being seen as a smarter way of doing business than traditional competition. In traditional marketplace competition, the following general steps usually occur:

  • Several businesses work independently of one another to produce similar products.
  • All of the competing businesses bring their respective products to market.
  • The market decides which version of the product succeeds, and which one fails.

A classic example of this principle in action can be seen in the current battle between Android-powered smartphones, and Apple Iphones. Traditional competition DOES produce very good products. However, it also creates a great deal of inefficiency because different groups of people re-create the same work. How much of the exact same problems do you think were independently solved by Google and Apple in developing the two competing platforms? I would venture to say that there was a great deal of overlap. Here is where and why the free software model is smarter and more efficient: you create a base that everyone has access to and contributes to. All members can draw from and benefit from this accumulated body of knowledge. Microsoft is contributing to the Linux kernel not out of some sense of moral imperative or inherent sense of altruism; they are contributing to the Linux kernel to ensure that their Hyper-V virtualization software survives and, more importantly, that Windows survives. The beauty of free software is that it does not matter what their motivation is, everyone still benefits.

 

How does contributing to the Linux kernel keep people honest? One needs to look no further than what occurred when Microsoft submitted the Hyper-V driver for insertion into the Linux kernel. In 2009, Microsoft released 20,000 lines of Hyper-V source code under version 2 of the GPL license. However, once they released the code, the Microsoft developers completely disappeared. There was no apparent attempt to maintain the code, leading many to question Microsoft’s actual level of commitment to providing quality Linux drivers. Due to this fact, the code has not made it into the Linux kernel. Instead, it is maintained in an external folder, waiting for Microsoft to address several technical issues. This is only speculation on my part, but I suspect that there are actually two reasons that Microsoft decided to contribute to the Linux kernel:

  1. Ensure that corporate CIOs ALWAYS see Windows as a virtualization option.
  2. Prevent the Linux kernel from ever moving the version three of the GNU General Public License.

Let me fully explain number 2. For Linus Torvalds and company to ever move the Linux kernel to GPL v. 3, all kernel contributors, as the copyright owners of the contributed code, have to consent to the license shift. It is well known that Microsoft hates GPL v. 3, so if Microsoft were to have code in the kernel, it would be an insurance policy that they could always hold up any kernel license shift. In the next story, I will explain how GPL v. 3 can still makes its way into an operating system kernel.

 

The Hurd Lives!

The Hurd is an operating system micro-kernel that has probably been in the alpha phase of development longer than any other project in history. GNU’s Hurd has been under development since 1990. The rest of the story is now a widely known piece of software history: Richard Stallman and the Free Software Foundation had developed a lot of user-space software, but the development of the Hurd kernel was moving slowly. Linus Torvalds had developed a kernel that was ready for the prime time, but he did not have any user-space software to place on top of it. The marriage of the two created the GNU/Linux operating system. However, development on the Hurd never ceased; it continued on at a snail’s pace. When I met Richard Stallman last year, he told me that it is very unlikely that the Linux kernel will ever move to GNU GPL v. 3. The reason for this is that Linux Torvalds has ideological oppositions to some of the tenets of the version 3 license. Specifically, Torvalds does not believe that businesses, individuals, and organizations should not be restricted by the some of the overtly moralistic tenets of the GPL v. 3 license. Both Richard Stallman and I disagree with Torvalds on this point. I believe that GPL version 3 is the license that version 2 should have been. For example, if Google had chosen to license Android under GPL v. 3, it is very likely that they would not be facing the legal troubles that they are currently facing from Oracle. The reason for this is that GPL v. 3 has some degree of patent protection built into it. Anyone that releases code under GPL v. 3 must extend any patent protection given to ANYONE along with the code to EVERYONE that is given the source code. If Oracle had shared Java under the GPL v. 3, it could not then sue anyone for patent infringement for using the code. However, Oracle also does not like GPL v. 3. In retrospect, I love Android and I love Google, but perhaps Google would have had an easier time if they had created Android as a GPL version 3 operating system.

 

Why are some people, Linus Torvalds included, hesitant about GPL v. 3? People are scared that businesses will not like its strict copyleft requirements, that extend to software patents. This is probably why Google tends to embrace the Apache license more than the GPL v. 3. The Apache license is more attractive to businesses that simply want to take open source code and do what they want to with it, without being obligated to give changes back to a community. I understand and appreciate their dilemma. However, I think that businesses operate very much like individuals do: they will simply follow the lead of what the majority do. If GPL v.3 is allowed to achieve critical mass, it will be just as popular as GPL v. 2 is. I am rooting for the Hurd kernel because a GPL v. 3 operating system would change the entire software landscape if it became popular. If the Hurd became as functional as Linux, I would chose it over Linux if the Linux kernel continued to be licensed under version 2 of the GPL. The reason for this is that I believe that GPL version 3 is a better license than version 2 because explicitly prevents a problem that is all too common in modern business: exploitation of the shortcomings of the patent system. I believe that there are a lot of people like me who would also shift to a Hurd-based OS, and perhaps it might encourage Mr. Torvalds and company to at least consider GPL v. 3 as a viable kernel licensing option. I suspect that Google perceptions of GPL v. 3 are also changing given their new perspective provided by Oracle’s lawsuit against them.

 

The Hurd is still in a relatively rudimentary stage of development. The encouraging news is that it is developing, and it will eventually get a point where it will be a viable GNU/Linux alternative. Would you shift to GNU’s Hurd?

 

Free Software Breeds Open Hardware From CERN

CERN, the European Organization for Nuclear Research, recently created shock-waves in the free software by creating an open hardware license largely based on the GNU GPL license. I downloaded and read the license here: http://www.ohwr.org/attachments/662/CERNOHLv1_1.pdf

 

If you read through the license, and compare it to version 3 of the GNU GPL, you will find a great deal of similarity between the two licenses in terminology, concepts, and phraseology. The CERN license is appropriately called the CERN Open Hardware License. What does the license actually do? The purpose of the Open Hardware License is very simple: to facilitate the exchange of hardware design ideas in the same way that the GNU GPL license has facilitated the exchange of software source code under ethical guidelines. I think that this a fascinating project. When I first read about the CERN Open Hardware License, I immediately saw synergistic possibilities where CERN OHL licensed hardware could be combined with GNU GPL v. 3 licensed sofware to create fanstastic products. Imagine a completely free software/open hardware ogg vorbis player, tablet, or e-book reader. The sky is the limit.

 

Conclusions

Linux, free software, and now open hardware, are providing unique ideas and solutions to age old problems. Both the United States and Europe are facing immense debt problems that threaten to change how they are viewed, and their economic vitality, forever. What this demonstrates to me is that the old ways of doing things are not working as effectively as they once did. New ideas are needed as we are forced to adapt to an ever changing world. Open hardware might prove to be an innovation that spurs sharing, and eliminates the waste that is destroying economic prosperity. These are challenging times that we live in, but I have no doubt in the ability of humanity to transform ourselves and come up with new ways of doing things to ensure our survival.

Have a great week. I look forward to seeing you in the next edition of TLWIR!

References

IBM. (2011, July 19). In Wikipedia, The Free Encyclopedia. Retrieved 04:44, July 21, 2011, from http://en.wikipedia.org/w/index.php?title=IBM&oldid=440334609

New, W. (2011, July 19). Cern’s ‘open hardware’ licensing initiative opens new frontiers. TPM Idea Lab. Retrieved July 20, 2011, from http://idealab.talkingpointsmemo.com/2011/07/will-cerns-open-hardware-licensing-initiative-pay-off.php

Sobti, K. (2011, July 16). Debian 7 might come in a gnu hurd version. Digit. Retrieved July 20, 2011, from http://devworks.thinkdigit.com/Features/Debian-7-might-come-in-a-GNU_7171.html

Xerox. (2011, July 19). In Wikipedia, The Free Encyclopedia. Retrieved 04:46, July 21, 2011, from http://en.wikipedia.org/w/index.php?title=Xerox&oldid=440372871

 

{ 2 comments }

Don July 21, 2011 at 2:58 pm

I am really enjoying reading this series. Please keep up the good work!

Rex Djere October 15, 2011 at 9:13 pm

Thank you Don! I will try to keep it up.

Previous post:

Next post: