After more than a year of work, it appears that GPL v3 is almost ready for adoption. I don’t mean this simply from a timetable perspective, I mean it from what the document says and what it will do for the computer industry. I congratulate Richard Stallman, Eben Moglen, the FSF, and all others who contributed their work and thousands of hours on this important license.
Note that I said “almost” above. In part this is because we have some time to go before that “Last Call” draft, but also because I understand that there are a few issues that are still controversial to some people. Moreover, some of those issues may cause further language deletions, additions, or just changes.
For our part, we’re pretty satisfied with where we are. We also think that of the possible changes that might be made to the bits that people are arguing over, IBM can live with the expected alternatives. Others may have concerns, but we think we’re almost there.
Should there be unexpected and substantive changes to the draft license, I reserve the right to yell and scream. But right now the path from here to final adoption looks pretty smooth from where we’re standing.
The GPL is of critical importance to IBM’s business because of our huge investment in GNU/Linux and other free software that uses the license. Our customers and we depend on free and open source software to run our businesses, and there is no going back. The open process of evolving the software industry, while messy at times, sure beats the alternative.


I will be quite surprised if the path to adoption is smooth. There are several areas of serious uncertainty, such as will make cautious lawyers advise their clients to go slow in boarding GPLv3. Maybe the IBM engineers are happy, but it will be surprising if many corporate GCs are.
(1) The Digitial Rights Management issue. It appears that DRM and GPLv3 are incompatible, despite Bruce Perens recent argument to the contrary. Many in the tech community abhor DRM, but the content creators regard it as crucial to their survival. They will have nothing to do with any software that does not allow them to protect their stock-in-trade.
(2) The web services issue. GPLv3 allows any contributor of code to a GPLv3 project to add an as-yet-unwritten Affero license clause that would require anyone using the code for a web services application to make the source code available. This could well require that the services provider make available not just the code it received, but any tweaks it made on its own. (Since the Affero license is not yet written, who knows how far any requirements will extend.) This not only puts valuable IP at risk for companies like Google, it is a fundamental shift in the nature of the GPL – before, as long as you did not further distribute code, you had not obligation. Now, there could be a host of questions concerning the reach of this clause to people who clearly do not redistribute code, but who do operate over the web.
(3) The patent issue. Behind the MSFT-NOVL deal is simple a reality. The customers care zero about the civil wars of the software world. They want their programs to interact, without their involvement or worry. The drafters of GPLv3 are determined to break this interoperability. Were I distributor of open source software, I would worry that customers might react to this state of affairs by jettisoning the people who broke the link, not those who tried to forge it.
(4) The dynamic linking question. An issue under GPLv3 has been how closely code linked to GPL’ed code had to work together before the FSF would claim that the linked code must also be covered by the GPL. The GPLv3 says: “Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work.” This seems to extend the reach of the GPLv3 even further that was true for GPLv2, but the exact extent is murky.
Finally, the whole GPLv3 rationale document is full of abstractions and devoid of examples, so one cannot assess the intended reach of these provisions. As I said at the start, the GCs are not gonna be happy.