Joining A Community Means Accepting Its Norms

The progress of Microsoft towards acceptance into the open source community continues. The Azure team is definitely a force for good in the company, constantly pushing Microsoft’s developer teams to understand how important the Linux platform and open source developer components and tools are to the success of Microsoft’s cloud business. After the partnership with Red Hat, the news they will release SQL Server for Linux, while not surprising to me, was very interesting, as was the news they are joining Eclipse. Continue reading

Azure Loves Linux; What About Microsoft?

The news that Red Hat and Microsoft have reached an agreement about hosting Linux is very welcome. I am delighted for Red Hat here, and see this as a huge sign of the continuing power and growth of open source. It shows that the cloud market is one where and embrace of Linux is table stakes. It also shows that the enterprise market is one where Red Hat is a huge and powerful supplier.

All the same, let’s be clear that all the “Microsoft Loves Linux” hype I saw at SUSECon in Amsterdam yesterday and at other events earlier this year is just not true. Microsoft Azure loves Linux, there is no doubt; it is a basic requirement for them to become relevant on a cloud market dominated by AWS and Linux. They have been out in force at every commercially-oriented open source I have attended this year and have a full-scale charm offensive in place.

But the rest of the company still does not. They still seem to covertly spread open-source-related FUD about LibreOffice here in Europe. They haven’t foresworn making embedded Linux vendors pay for patent licenses of dubious necessity. The Azure business unit is certainly embracing the ecosystem the same as many before them have done so in their steps towards open source. But the Windows and Office business units show no signs of “loving” Linux and only modest signs of co-existing with open source.

It’s hard to change a company as large and profitable as Microsoft quickly. But a significant and binding gesture of goodwill would go a long way to convincing those of us with the scars of Microsoft’s decades of verbal and actual abuse of open source that they mean business.  It’s no secret what the necessary gesture is.

“We both know we have very different positions on software patents,” said Paul Cormier, Red Hat’s president for products and technologies. “We weren’t expecting each other to compromise.”
(WSJ)

Red Hat, despite asserting they don’t believe Microsoft has any patents that read on their products, included a standstill agreement in the deal. Sources tell me it is carefully phrased to comply with the GPL. If Red Hat felt they had to do that with their new partner, there’s no doubt everyone else remains at risk.

If Microsoft truly want to signal the end of hostilities, step one is to sign the Mozilla Open Software Patent License Agreement or join OIN. Until one of those happens, I remain sceptical of Microsoft’s love for Linux.

[Please see my InfoWorld article for more]

Saving Mandriva

Can a community-centric approach save Mandriva from bankruptcy? My article today on ComputerWorldUK takes a look.

Help test Ubuntu for Android

Want to get hands-on with Ubuntu for Android?  I heard recently from Richard Collins at Canonical that he would like some help with user testing Ubuntu for Android. He tells me they are looking for some folk in or around London who would be willing to visit them in Southwark and help them with end-user testing.

They are looking for business people comfortable with technology, rather than for developers. Previous exposure to Ubuntu would be useful but is not essential. It will take a few hours in central London and they will provide a pleasing thank-you gift. Contact him <richard.collins@canonical.com> if you’d like to volunteer.

As a reminder, here is my video interview with Richard about the project:

[youtube http://youtu.be/wzc0uMXGFBY]

★ 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]