Subscribe to this newsletter
   
  Unsubscribe from this newsletter
   
  Send feedback to Bernard Golden

 



 


 

Open Source Commentary from Navica's CEO, Bernard Golden

September 2005 Newsletter

  • GPL 3: The Calm Before The Storm

  • Takeaways

GPL 3: The Calm Before The Storm

Many discussions of open source obsess about licenses. Organizations spend a ton of time understanding them, analyzing them, consulting lawyers about them, setting policies about them, and, most of all, discussing them ad naseum. This, despite the fact that most organizations merely use open source, never modify it, and never distribute it, thus sidestepping any possible complications from an open source license.

This is due to what may be termed the “veil of the firewall.” If you are an IT organization that takes advantage of open source software, but use it solely for internal applications (that is, inside your firewall), you have no obligation to share any code changes you might make to an open source product. Of course, the vast majority of open source users never modify the source at all – for them, the community surrounding the product is much more important than the license under which it is distributed. This topic was addressed in last month's newsletter, which may be accessed here. The overall meaning of the veil of the firewall is that most organizations can obtain the benefits of open source without paying much attention to license niceties.

The fraction of open source users that modify open source code and distribute the resulting changes also typically do not have to worry about the license conditions. Most of them are improving the product and have no reason to keep their changes private; in fact, one of the main reasons they distribute the changes is to ensure they are merged back into the mainstream code base of the product.

Only a miniscule percentage of open source users – software vendors-- worry about the redistribution implications of open source. That percentage has an important reason to be concerned about redistribution requirements of source changes: handled incorrectly (and depending upon the specific license), their product could be “infected” with the open source license and thereby become open source itself.

Software vendors that do distribute modified open source now operate under a widely-shared set of assumptions about license requirements, developed over the past decade. In essence, the $200 billion software business is getting ready to start playing a new game, based on a common understanding of the current open source licenses and their conditions.

However, a revision of the GPL is due for release in the near future, and has the potential of disrupting the growth of the open source software industry. GPL 3 may very well:

  • Make it more difficult for software vendors to pursue an open source-based strategy
  • Confuse mainstream IT organizations as to whether their open source use falls under redistribution requirements

The Free Software Foundation (promulgator of the GPL) recognizes that it must not veer too far from the current GPL 2 license; otherwise, it faces the possibility that many projects will stick with GPL2. Put another way, if GPL 3 represents too large a change, the FSF confronts the potential of a GPL fork. Therefore, the FSF has pledged that GPL 3 will offer only incremental, minor change from GPL 2. It is not clear that the implications of GPL 3 as currently discussed are consistent with that pledge. What is clear, however, is that the open source community is going to be embroiled in GPL discussions for at least the next year.


Why could the introduction of GPL 3 cause such turmoil?

Keep in mind the following:

1. The GPL is the most widely-used open source license

The GPL is by far the most widely-used open source license. Nearly 70% of the projects calling SourceForge home use the GPL. When someone creates a new open source project, the GPL is the typical choice for its license. It enables someone to make his work available for use while precluding anyone else from “hijacking” the project source base.

There are literally tens of thousands of GPL-based open source projects. Therefore, any implications of the GPL 3 will affect a huge number of open source products. As each one of those projects releases new products, its developers will have to decide which GPL license to use: GPL 2 or GPL 3. It doesn’t take much imagination to envision a huge amount of discussion and angst about which version to use, repeated 20,000 times.

2. Extending the GPL to software services will muddle who is subject to reciprocity requirements

One of the rumored areas that GPL 3 will address is the use of GPL software in so-called Software-as-a-Service (SaaS) implementations. Perhaps the best-known example of SaaS is SalesForce.com. It is thought that SalesForce makes heavy use of GPL software (perhaps having made modifications to it).

The current GPL license does not countenance software functionality being delivered as a service, and therefore does not address it. The rumor floating around the industry is that GPL 3 will explicitly address SaaS and consider it as public use, which would therefore trigger reciprocity requirements.

In some sense, this is consistent with a GPL licensing perspective that precludes a user from profiting by modifying a base product and realizing revenues from the resulting product while incurring no obligations for reciprocity.

3. The GPL license is created under unique conditions

The GPL is promulgated by the Free Software Foundation (FSF) and is the creation of its founder, Richard Stallman. He has a strong ideological perspective about software, believing that all software should be freely distributed and incapable of licensing restrictions that allow intellectual property-based profits. An entire industry has coalesced around the current interpretation of GPL 2; however, Stallman is unlikely to restrict GPL 3 licensing conditions merely to ensure that they support commercial vendor business models.

This means that business models and product architectures based on current GPL 2 conditions may need to be rethought in light of GPL 3. The FSF’s attorney, Eben Moglen, noted during a recent LinuxWorld talk that the FSF is setting up a mechanism for the expected 100,000+ comments that will be submitted regarding GPL 3; nevertheless, despite a very broad input mechanism, the final decision on the license depends on one person, not a shared consensus.

The Potential Impact of GPL 3

Based on these factors, what is the potential impact of GPL 3? Here are three scenarios that are possible, ordered from most probable to least probable.

Scenario One: GPL 3 is like GPL 2 but modified to address global licensing requirements

In this scenario, the impact of the GPL modifications is quite modest, limited to clarifying its implications for non-US nations. The economic underpinnings of the nascent open source commercial movement are left undisturbed, and the working practices of IT users can continue unaffected.

On the other hand, if the changes to the GPL are so uncontroversial as to extend merely to global licensing harmonization, why would an infrastructure capable of accepting 100,000+ comments be necessary? Also, the vision of little change described by Moglen in his LinuxWorld presentation may not be entirely accurate.

In discussing the background for this newsletter, I spoke with Larry Rosen, a well-known open source intellectual property and licensing attorney. He pointed out that it may not be a simple transition from GPL 2 to GPL 3 for products; in other words, a product licensed under GPL 2 may not seamlessly be able to be released under GPL 3 if the conditions of licensing are changed. In any case, if a product contains even one portion released under GPL 3, the entire product will have to abide by GPL 3 distribution conditions. This means that the impact of GPL 3 is likely to be sudden and substantial, rather than slow and slight, because it will only require one GPL 3 file to trigger new distribution conditions.

It might be possible to sort out these issues for Linux, given the number of well-heeled sponsors of the product, but thousands of open source products that have adopted GPL 2 may not have the resources to perform the analysis and modification of the licensed product.

Expect an enormous amount of discussion and confusion when the true impact of GPL 3 becomes clearer.

Scenario Two: Software services triggers reciprocity requirements

Somewhat less likely than Scenario One, but, as noted above, strongly rumored as part of GPL 3, is the potential for concretely defining software services as constituting a form of distribution. Also noted earlier was the seeming fairness of asserting reciprocity if the resulting product's services participate in economic transactions. In simple terms, if SalesForce.com modifies a GPL product and sells services based on the modified product, it should have to release those source code changes to its customers. This would have the net effect, of course, of making those changes available to everyone, since SalesForce.com's customers can then turn around and freely distribute the modified product they've received. Overall, this provision would impact software service vendors by subjecting them to the same licensing conditions as software product vendors who use GPL-based components, and provides a consistency for vendors.

Not so obvious from this discussion, however, is the potential impact this licensing condition might have on IT users. A major industry trend is the move to Service-Oriented Architectures (SOA) which enable organizations to cooperate more effectively by tying their computer systems together. SOA is based on several protocols, the most fundamental of which is Simple Object Access Protocol (SOAP). IT organizations are increasingly using SOAP and its sister protocols to improve their economic performance.

The question is, would a GPL 3 licensing condition defining SaaS as triggering reciprocity requirements have the effect of bringing SOA implementations under GPL 3 as well? It seems probable that, at the least, there would be a strong likelihood that organizations might fall under those requirements – after all, how can you tell where SaaS leaves off and SOA begins?

In his LinuxWorld San Francisco presentation, Moglen cited the need for a “single legal phrase” to cover these distributed services. It's not clear, though, that such a single phrase can be found. It's straightforward to make a case that a business that sells software (whether via CD, download, or remote service) should be subject to license reciprocity; it seems much less straightforward that a company that uses software in running its business should disclose its proprietary business knowledge that is embedded in code; however, extending GPL to attempt to cover services will muddy the distinction between vendor and user license obligations.

In a recent interview with Richard Stallman, he indicated that the FSF’s current thinking on this issue is to require that any GPL 3 code that offers a service call (this would seem to be an API of some sort) to emit its source code would need that call to be made available by any organization that runs the code within a service. It is very unclear how this could work: if the organization’s service only offers a specified set of services, how would it make the GPL 3 service call available? If GPL 3 requires that any organization using code with such a service call make it callable through their service interface, it is going to be a big problem. Who wants to have to make a bunch of extra service calls available? Furthermore, just keeping track of all the service calls the organization would be obligated to offer up would be extremely difficult. It’s likely that this method will be rethought before release of the draft GPL 3 license; however, its challenges give a picture of how difficult it would be to implement this licensing requirement.

No matter what the implementation mechanism of this requirement, however, it will almost certainly have the effect of piercing the “veil of the firewall.” In other words, organizations that never had to think about the implications of distribution requirements will now have to factor them into their implementation plans.

The most troubling potential outcome of this could be that organizations might be dissuaded from using open source, deciding it's easier to pay a commercial vendor for software for which licensing implications are quite clear. Even worse, they might decide to forego SOA implementations due to increased project costs since open source might not be considered a viable choice.

Up to now, open source users have fallen neatly into two camps: vendors who really need to think about license implications, and users that have had the luxury of dismissing these considerations. Extending GPL 3 to cover delivery of service as a distribution would have the effect of mingling those two categories.

Scenario Three: GPL Defined to Expand Reciprocity

One of the most vexing things about GPL 2 is figuring out how it applies to a given software product. Of course, as a standalone product licensed completely under the GPL, it's clear that the product must live by GPL conditions. However, when one begins to combine GPL-licensed code with other software components, things start to get complicated very quickly. The intent of the GPL is fairly clear – it wants to ensure that any product that extends GPL-licensed code itself must be distributed under the GPL.

What about GPL 3? One might have expected that this version of the license would more explicitly define the circumstances under which the reciprocity conditions of the license would apply. Furthermore, one might have expected GPL 3 to make the definition more extensive, ensuring that more products would fall under GPL licensing conditions.

On the other hand, as noted earlier, the FSF recognizes that it must not go too far with GPL 3. If it effects too large a change, the FSF faces the possibility of a license fork. Therefore, in order to encourage adoption of the new license, the FSF must not present current users with unacceptable license implications, even should it desire to do so in the name of software freedom. Even revolutionaries suffer from the problem of an installed base!

In fact, in Moglen's remarks at LinuxWorld was a little-noted statement that GPL 3 would lower barriers that today prevent the mixing of software covered by the GPL and other open source licenses. This is extremely interesting, as it seems to imply that GPL 3 would renounce the position that mixing GPL code with other code extends the GPL license over the resulting product. Given that there isn't any obvious way to apply this “mixing” ability only to open source-licensed code, this might imply that it will be easier for commercial products to incorporate GPL 3-licensed code without triggering reciprocity distribution requirements. The net effect could be to encourage commercial products to take greater advantage of GPL-licensed components, which could be a great boon to both vendors and users alike.

Takeaways

Notwithstanding the protestations that GPL 3 will be a minor tweaking of GPL 2, it is likely that its release will cause a tremendous amount of confusion, alarm, and controversy. Now that open source occupies a major position in vendor and user strategic plans, what once might have been an “inside the beltway” discussion will generate months of discussion and argument.

If you are a vendor, it's critical that you look at the new license and understand whether it offers a mechanism to more easily take advantage of GPL-licensed component, or whether you may need to rethink your strategy, if it was based on a SaaS delivery mechanism that is no longer immune to reciprocity.

If you are a user, it's vital that you look at your SOA plans and architecture to understand whether your offering and business model will be affected due to GPL 3's conditions. On the other hand, the new license might have the effect of reducing your costs as vendors reduce prices due to the ability to more widely use GPL-licensed code.

The bottom line: get ready for a giant brouhaha. Expect at least a year’s worth of discussion and argument. This controversy will serve notice that open source is now a critical piece of IT infrastructures and vendor strategies.



 

 

 

 
 

  © Copyright 2004-8 Navica Inc. All rights reserved.