Can a company control the use of their software intellectual property more completely if they release it under the open-source GNU General Public License (GPL)? I hadn't really thought about it before, but while researching the OSS position of MySql I read an interesting post on Michael Meeks' log that alludes to something of this nature.
Philosophically, software is usually released under the GPL for the purpose of freedom, freedom for a user to do what they will with the software as long as they afford the same freedom to those who come after them. This precludes others from hijacking free software and embedding it in a derivative, proprietary, work. Not all FOSS licenses have these restrictions, but the GPL does for the purpose of meeting the goals of the Free Software Foundation.
A number of companies with open-source software released under the GPL have recently started taking advantage of a dual-licensing model to generate revenue. This revenue can be put to a number of uses including, paying developers to work full time on the project, building stock holder value, and generate cash for acquisitions and other investments. Richard Stallman himself even reasons that "selling exceptions" is not any more evil than releasing software under a noncopyleft license such as X11 or BSD.
However, one discipline is required of any organization that wants to use a dual-licensing model; they must require that the copyright of all code contributions be assigned to them. Without this assignment they would have no effective legal right to distribute the software under a proprietary license.
Michael Meeks talks a lot about the pros and cons of copyright assignment, and some of it's fallacies and downfalls, in the article I linked previously. One downfall that he mentions is that no project that uses this model has a very vibrant community of contributing developers; most of the development is done internally by the organisation's own developers anyway. If this is the case, then what value does releasing the software under the GPL really give an organisation?
Lets play the roll of a company has a piece of software IP that they want to bring to the market. We are a developer hostile company which is not interested in building a third-party ecosystem around our product. If there is a possibility to generate revenue related to our software, we want it. We'll go through a couple of scenarios with this software to see how we can accomplish our goals most effectively by twisting the GPL.
We've released our software into the market as a closed-source proprietary product and it enjoys some success. As it becomes successful the userbase grows enough that another company, Toolco, sees a market to provide some complimentary feature to our customers. This company uses APIs (public or private) and other integration methods to create closed-source, proprietary plugins or tools that extend the functionality of our product. DMCA Section 1201(f) protects their right to this program-to-program interoperability even to the extent of reverse engineering. Beyond a constant cat and mouse game our company really has no way to limit the distribution of these extensions or to take a piece of the pie, as it were.
Our board of directors sits down for a strategy session and after a couple hours someone recommends something radical. "Lets release our code under the GPL, require copyright assignment for any contributions, and use a dual-licensing model to continue generating revenue. In fact, I expect that most of our development will be done by internal developers still, though users may be able to provide more in-depth help fixing odd bugs." This may not be so insane after all; there are a number of things that our company gains from this, including some built-in perceived good will and publicity by releasing our large product as an open-source project.
Hey wait, you remember the Toolco guys right? They've used some undocumented function calls in one of our libraries to create a backup tool for our product, it works better and has twice the penetration of our own module for which we charge an additional fee. Well, Toolco now has technically created a derivative work of our GPL product by linking to one of it's libraries. We now have a number of legal recourses to force Toolco out of the market and to also prevent any other companies from creating a product that interoperates with our software.
This may sound tantamount to conspiracy theory but this is exactly what MySql has done, intentionally or not they have slowly been tightening the leash on their open-source software. Internal developers do almost all of the development and any outside contributions must have their copyright assigned to MySql. Around version 4.1 their client libraries were changed from LGPL to GPL only; to distribute software that even has the ability to communicate with an MySql instance you must now either release your source code or pay for a proprietary license. The copyright assignment has allowed them to do this without so much as a query to the MySql community.
Aside from the dual-licensing revenue, they have also begun making a profit from proprietary management and monitoring software. These applications use interfaces to MySql that would make any third-party's similarly functional package a derivative work and only releasable under the GPL. This has effectively created a legal haven for Oracle as the only company in the world that can make a profit by writing closed software that interoperates with MySql.
The GPL, with a goal to provide software that is free-as-in-speech, has been effectively used as a legal muzzle to strip freedom and competition to an extent that even closed-source proprietary software would have difficulty accomplishing.