Open source developers have rewritten a piece of code to avoid violating an IBM patent, raising questions over the effectiveness of IBM's policy to allow open source developers the free use of some of its patents.
Developers on the open source database PostgreSQL announced on a mailing list last week that the latest release of the database contains a fix that has been added to avoid violating a patent filed by IBM.
Earlier this year IBM said it will allow open source developers the royalty-free use of 500 of its 10,000 US patents, with more patents to be made available under the scheme in the future. Any software covered by the Open Source Initiative's Open Source Definition was granted royalty-free use of the named patents.
But some PostgreSQL developers are concerned that using any IBM patent will prevent companies from reselling the open source database as closed source — something that is permitted under its OSI-approved BSD licence.
"Our BSD license says people can take PostgreSQL code and do *anything* with it," said an article summarising PostgreSQL discussions about the issue. "Including any [IBM] patents would preclude any third party from packaging and re-selling PostgreSQL. It would require that they pay license fees or remove the patented code. This changes the essence of the BSD license and so is not desirable."
The US patent office has not yet made a decision on the patent IBM has filed, but if it was approved it would have an "enormous effect" on commercial PostgreSQL distributors, according to the article posted on the Web site of Varlena, a company that offers services around PostgreSQL..
A posting on Linux news site LWN.net said that IBM's open source patent scheme forces projects to use a more restrictive licence, such as the GPL, rather than a more liberal licence such as BSD.
The GPL licence has been criticised by some, including Sun Microsystems president Jonathan Schwartz, who claim it discourages businesses from using open source software as a foundation for proprietary projects.
"If you are an open source developer — you can just forget about patents and hack freely: you have written license to do so," said the posting on LWN. "Once you'll try to make a program proprietary... bam: you'll get letter with royalty demands pretty soon. Kinda defeats the reason to license something under BSD license."
But an IBM spokesman said on Wednesday that PostgreSQL developers have never contacted IBM about this particular patent, making it difficult for the company to speculate what action it may have taken in the future.
"No dialogue has taken place, which is frustrating from our point of view," said the spokesman. "IBM is keen to support the open source community and hence why it has pledged these patents."
The IBM spokesman was unable to comment on whether the royalty-free licence would apply to proprietary implementations of BSD-licensed software.
The IBM patent that PostgreSQL developers are concerned about is patent number 295507, which was filed by IBM in November 2002. The patent concerns the ARC algorithm, which PostgreSQL had implemented for its caching system. PostgreSQL has now replaced its ARC algorithm and is encouraging database administrators to upgrade to PostgreSQL 8.0.2, which it says contains a "patent free" algorithm.