☞ Two Endings and a Beginning

☂ Causality Essay Published

In response to several comments, I’ve just extracted my discussion of direct and indirect causality from my recent article on why “which licence” is now the wrong question in understanding open source communities. The discussion can found as the essay Direct and Indirect Causality. I’m keen to get it fixed up so your comments are invited (here).

♥ Thinking of OOoCon

Hungarian Parliament, originally uploaded by webmink.

My best wishes to all my friends attending the OpenOffice.org conference in Budapest this week. With all of the ups and downs and pluses and minuses of the OpenOffice.org project, it is still entirely remarkable what it has achieved over the decade since Sun made it open source, most notably:

  • Forced Microsoft to open up their file formats – ODF is a true phenomenon and one of the wonders of the FOSS world
  • Provided true competition for productivity software in public administrations globally
  • Kept going all these years!

Whatever happens next for the project (and I sincerely hope it’s excellent), we can all be proud of what we’ve achieved collectively against all odds. Have a great conference, and enjoy visiting the Hungarian Parliament (pictured above, feel free to use my photo!)

♫ Holiday Gift

★ GNU/Linux – finally it’s Free software

A Bold GNU Head
This may come as a shock, but all GNU/Linux distributions to date have been built with essential software under a licence that clearly meets neither the Open Source Definition nor the Free Software Foundations’ requirements for a Free software licence. The tenacity of a Red Hat hacker has finally solved this problem for everyone, however, and I’m proud to have played a part too.

One of the long-running projects I had at Sun was to get the (pre-GPL, permissive) license on Sun RPC changed.  Why would that interest anyone? Well, the code in question is the original implementation of Sun RPC, which went on to become RFC 1057 and today is a core part of every UNIX-family operating system. Including Debian GNU/Linux and Fedora, both keen to be 100% Free-licensed software.

The way the RPC code was originally licensed was exceptionally liberal. Written in 1984 or earlier (well before the GPL existed), it allowed unfettered use of the Sun RPC implementation in any program for any purpose. The only significant restriction imposed, entirely reasonable to most eyes then, was to say that the module itself could not be sold as-is, only as part of a larger work. The code was circulated on Usenet and was extensively cut-and-pasted into software being developed then –  notably the parts related to NFS.

What was liberal is now conservative

Times change. During the 80s, Richard Stallman’s Free Software movement established the four freedoms, with the GNU General Public Licence (GPL) appearing in 1989. During the 90s (1994-7), the Debian Free Software Guidelines established a need for the code in their distribution of GNU/Linux to be fully Free software. The Sun RPC Licence did not qualify, becuase of the restriction on distribution as-is – an “additional restriction” that also meant the licence is not GPL compatible. By the beginning of this decade, Debian maintainers were making a serious effort to audit the millions of lines of code in Debian for true DFSG compliance. And in 2002, they found the old Sun RPC code in core Linux files glibc and portmap. The members of the Fedora community were also engaged in a similar effort.

Reading the history for Debian bug 181493 tells the next part of the story. Inside Sun, the challenge of finding the code in question was Just Too Hard, and the things reached an uneasy impasse.

The issue came back to life in 2008 when the bug was re-asserted as part of the run-up to the Lenny release. I was contacted both by folk at Debian – notably my friend Ean Schuessler – and at Fedora – notably by Tom “Spot” Callaway – asking if there was anything I could do to accelerate licensing of the old code. Both projects had decided to take a hard line and removing the code from glibc and portmap was going to be a real headache, especially for the stability of glibc.

Challenging

The task of relicensing old code can be pretty time consuming and involves people who were already much in demand.

  • First, the old code is often very old. The people who wrote it may no longer be with the company, it is no longer part of a current product, and people sometimes can’t even be sure where it originally came from before Sun put it on Usenet. You have to find the original code if you’re to make any progress at all. Doing so might mean retrieving crates of paper from long-term storage and crawling through them.
  • Second, once the code is located, a legal expert has to look at the origins of the code and maybe once again crawl through retrieved paperwork to find the contracts behind the code. Their job would be to determine if Sun actually has the right to change the license at all.
  • Third, someone had to believe it is their job with respect to the code in question to act on Sun’s behalf to evaluate the change, authorise it and bind the company officially.

All this is time-consuming and expensive, and without a current code owner inside Sun it was touch-and-go whether anyone could find either the staff time or the budget to run a license change through to completion.

With help from friends both at Debian and at Red Hat, we managed to identify some modern OpenSolaris code that matched the code in Linux. This was a key step. It meant we could trace ownership through the comprehensive records for OpenSolaris and start the process moving. By early 2009, we finally reached the point where we felt comfortable to relicense the Sun code involved. I got permission from both the legal team and the management at Sun and announced (and blogged) at FOSDEM in Brussels that it would be OK to relicense the old code.

But then there was some sort of foul-up after it was all agreed and Red Hat (who were making the change) never received documentation of the decision that was sufficient to give them confidence it was all over. They tried contacting people at Sun, but by then acquisition of Sun by Oracle was in full swing and no-one was allowed to make any changes affecting copyrights any more.  Even though it had all been decided, no-one in the legal department was comfortable giving Red Hat the documentation they felt was essential to confirm the decision. So the changes were rolled back, much to everyone’s disappointment (not least mine).

But Spot persisted and finally got confirmation in an acceptable form from an Oracle VP, Wim Coekaerts, that permission to make the change had indeed been granted. So, at long last, the licence is changed, glibc is Free software and we can all breathe easy that this can’t cause copyright infringement suits against Linux. Congratulations to Spot for his tenacity! Spot has more information and his view of what happened over at LiveJournal.


[First published by ComputerWorldUK]

☞ History In Action

  • Google Code Blog: An update on JavaOne
    Google pulls all their people out of JavaOne. That’s going to be a big hole in the agenda since they employ all the good speakers… (well, most of them)
  • Bradley Kuhn’s recollections of the middle of the process – worth reading along with mine & Spot’s.
  • Interesting and useful exploration of the history of OpenSolaris and Solaris puts Oracle’s actions into perspective. It also shows why Illumos is a true open source community with a bright future, as it’s the coming together of skilled developers who each have different reasons to need a Illumos and are synchronizing those fragmentary interests in an open and equal community around a shared commons.

☞ Fixing Linux

  • One of the long-running projects I had at Sun was to get the (pre-GPL, permissive) license on Sun RPC changed so that GNU/Linux could become Free software at last after decades of quietly using Sun RPC under a non-Free licence (Sun never cared).

    I had it all agreed by Sun’s legal and management teams and was given permission to announce it at FOSDEM in 2009 (which you can see in my blog), but then there was some sort of foul-up after it was all agreed and Red Hat (who were making the change) never received documentation of the decision that was sufficient to give them confidence it was all over. So the changes were rolled back.

    Tom “Spot” Callaway at Red Hat persisted and finally got confirmation from an Oracle VP that permission to make the change had indeed been granted. So, at long last, glibc is Free software and we can all breathe easy that this can’t cause copyright infringement suits against Linux. Congratulations to Spot for his tenacity! Read his view of what happened.

%d bloggers like this: