It could be said that the GPL came into existence to prevent strip mining of open source, which can be interpreted as the appropriation of free software code for proprietary gain with no intention of feeding code changes back to the community. The part of the GPL licensing framework that achieves this is known to its friends as copyleft, and is represented by its enemies as "the viral nature of the GPL", and has been a major factor in the success of free software.

More contentiously Fleury claimed that "IBM reacted negatively to the Sun announcement" that Java would be released under the GPL "because IBM's approach to open source is what we call 'strip mining', which is to let the open source community do things - then IBM comes and packages them, and adds proprietary code, and markets the result - witness WebSphere - so they have this dual strategy of proprietary products and low-end open source."

Marc Fleury, who created the successful "professional open source" software company, JBoss, is also an advocate of "free software" licensing. Speaking at the time of Sun's decision to release Java under the GNU General Public License (GPL), he said: "The GPL is the best of both worlds because, Stallman's political convictions aside, the GPL creates a very strong notion of 'intellectual property'", an assessment that Richard Stallman, the creator of the GPL, would have balked at, "and at the same time, Sun can still monetize their virtual machine with dual licensing."

A subtext for this assertion is the spat that Stallman had with James Gosling, the creator of Java, back in the 1980s. The first GNU software was GNU Emacs, which first appeared in 1985, written by Stallman, but incorporating some code taken from Gosling's rewrite of Stallman's original MIT Emacs, in C for Unix.

Gosling initially allowed free distribution of the source code to which others had contributed, but as Stallman tells it: "He stabbed everyone in the back by putting copyrights on it, making people promise not to redistribute it, and then selling it to a software-house." Stallman was hurt by this betrayal, and was to say of Gosling; "My later dealings with him personally showed that he was every bit as cowardly and despicable as you would expect from that history."

Stallman's response over time was the GPL, which he devised as a means of protecting the freedom of software, and preventing its misappropriation by third parties. GPL'd code can not be inverted, diverted or revert to proprietary ends, which may be frustrating to some but has ensured community and growth for many free software projects.

"The only reason we have a wholly free operating system", Stallman has said, "is because of the movement that said we want an operating system that is wholly free, not 90 per cent free. If you don't have freedom as a principle, you can never see a reason not to make an exception. There are constantly going to be times when for one reason or another there's some practical convenience in making an exception."

The more traditional "open source" licenses have a more permissive relationship with the code. Third parties can take the code, repackage and (in some cases) relicense it, and pass it on in any form they wish without any obligation to feed code changes back to the community. This has some benefits and many drawbacks, the greatest of which is that the code of contributors can be exploited without attribution or feedback, and code is subsequently forked.

Dipping into the waters

Approaches to "open source" software by the major players in the computer industry have taken different courses because of the different gains to be had from re-using free software code, and the scope of the respective open source and free software licenses.

Apple uses open source FreeBSD as the base for OS X because it has gained a mature Unix operating system which would have been prohibitively expensive to develop from scratch. Apple has no obligation to release source code or changes back to the community because the license says that this is so, and markets OS X as an Apple product. It could be argued that the community loses as a result, and that the subsequent fracturing of the code base is one of the reasons that BSD Unix has never captured the imagination of developers and users in the same way that GNU/Linux has.