IBM has made several major interventions at various critical junctures in the history of open source. For example, on 22 June 1998, it announced that it would ship Apache with the IBM Websphere Application server, and offer “commercial, enterprise-level” support. This meant it was throwing out its own proprietary Web server, developed in-house, and replacing it with code that had been developed by a bunch of hackers around the world. Moreover, it was offering support for that code. Together, those moves represented an unprecedented vote of confidence in open source and its applications, and made the IT world sit up and take notice of free software in a way that it hadn't before.
Then, on 10 January 2000, IBM went even further, announcing it intended “to make all of its server platforms Linux-friendly, including S/390, AS/400, RS/6000 and Netfinity servers, and work is already well underway.” Again, the sight of Big Blue committing to GNU/Linux probably played a big part in paving the way for open source's wider uptake.
Of course, a problematic area for the growing rapprochement between IBM and open source was that of patents. IBM loves them – for years it has obtained more of them than anyone else – whereas open source hates them. A compromise solution seemed to be offered by the creation of the Open Innovation Network (OIN), one of whose backers is IBM:
Open Invention Network is an intellectual property company that was formed to promote Linux by using patents to create a collaborative environment. It promotes a positive, fertile ecosystem for Linux, which in turns drives innovation and choice in the global marketplace. This helps ensure the continuation of innovation that has benefited software vendors, customers, emerging markets and investors.
Open Invention Network is refining the intellectual property model so that important patents are openly shared in a collaborative environment. Patents owned by Open Invention Network are available royalty-free to any company, institution or individual that agrees not to assert its patents against the Linux System. This enables companies to make significant corporate and capital expenditure investments in Linux — helping to fuel economic growth.
Open Invention Network ensures the openness of the Linux source code, so that programmers, equipment vendors, ISVs and institutions can invest in and use Linux with less worry about intellectual property issues. Its licensees can use the company’s patents to innovate freely. This makes it economically attractive for companies that want to repackage, embed and use Linux to host specialized services or create complementary products.
Although that sounds fine in theory, there are a few problems with it in practice, notably the fact that OIN is explicitly about GNU/Linux, and not open source in general. This leaves other projects in limbo, potentially threatened by IBM's vast software patent portfolio.
Sadly, that fear has now been realised. IBM has sent a nastygram to the company TurboHercules, with a “non-exhaustive” list of US patents that it believes “will be infringed” by TurboHercules' code.
TurboHercules is interesting because its software is not released under a mainstream open source licence like the GNU GPL, but the less well-known Q Public licence, as used by Trolltech for its Qt code before adopting the GPL. That means it's accepted by the Open Source Initiative as being an open source licence, but may not be one that will be whole-heartily supported by some in the free software world.
I think that's a pity, because there are larger issues here. One is that IBM is either a friend of open source, or it's simply an opportunist, supporting some projects when it suits, and attacking others when it doesn't. There's also the worrying point that among the patents that IBM cites in its letter to TurboHercules, there seem to be some that it has “pledged” to the open source community, as this blog post points out:
To add insult to injury, the list of patents with which IBM tries to intimidate the Hercules project even includes two of the 500 patents IBM originally "pledged" to the open source community.
Patent numbers U.S. 5613086 and U.S. 5220669 appear on page 4 of IBM's 2005 "patent pledge", and also appear as patents #83 and #106 in the letter IBM sent to TurboHercules.
That's from Florian Mueller, who founded the NoSoftwarePatents campaign, and contributed to the European Parliament's rejection of a proposal for European software patent legislation. He continues:
When IBM made that announcement [of its patent pledge] in 2005, I immediately viewed it as a deceitful attempt to kill two birds with one stone: to appease the FOSS community and to alleviate concerns by many European lawmakers who were opposed to a legislative proposal to enshrine software patents in European law (for more background on that process, see my initial post to this blog).
ZDNet and other media quoted me calling IBM "just being hypocritical". I stand by it. Five years later, I still can't find a better word to describe IBM's approach to open source.
Make no mistake: this is not about a simple commercial dispute between IBM and some other vendor. The patents in question, the largest group of which covers the IBM mainframe CPU instruction set, are not specifically connected to what the TurboHercules company is doing beyond the Hercules code base. That mainframe instruction set is emulated by the Hercules open source project itself, which started 11 years ago and has thousands of users worldwide, even including a number of IBM people. Other patents that IBM brings into position here cover general address management and virtualization/emulation functionality that would affect many other open source projects as well.
This is an attack on Free and Open Source Software as a whole. Unless IBM is stopped, other vendors might do the same to protect their turf.
IBM certainly has some explaining to do. It needs to make clear where it stands on open source, and where on software patents. It needs to understand that the two are not compatible, and that it cannot truly be a friend of the former while deploying the latter as weapons against free software, even when the victims sit on the latter's fringe rather than at its heart. After such a long and mutually beneficial relationship, it would be sad if IBM decides that it prefers software patents to open source – and ultimately to its detriment.
Update: interesting post from TurboHercules' founder on the latest developments.