Home > Articles > Programming

  • Print
  • + Share This
Like this article? We recommend

Favorite License

The Free Software movement is most closely identified with the GNU General Public License (GPL), which was created by the Free Software Foundation. Browsing the list of licenses that the GNU considers Free, you may notice a recurring pattern: Anything that is not the GPL has next to it a suggestion that you should use the GPL instead.

The rationale for this practice is simple: The GPL is a tool for pushing the Free Software movement’s agenda. It protects the Four Freedoms for the end user, and prevents anyone from using code licensed using the GPL in code that doesn’t practice the Four Freedoms. To a true Free Software supporter, code that restricts the Four Freedoms is intrinsically valueless, so the fact that you can’t use GPL’ed code in that software is irrelevant.

The Open Source movement is less fussy. Eric S. Raymond, one of the founders of the Open Source movement, famously said in 2005 that the GPL was obsolete. His reasoning was that anyone who takes Open Source code and produces a closed fork will harm himself, since his new version will wind up being inferior to the open version. But one project in particular shows that this situation isn’t always so clear-cut.

In 2002, Apple forked the KHTML engine used by KDE to render HTML. Apple’s team spent a year working on KHTML internally and then released all of their changes at once. After that, they continued working in the same fashion for a while; a new release would periodically include a huge blob of changes for the KHTML team to integrate. Since Apple was devoting far more programmer time to its fork, WebKit, than the KHTML team could manage, it became very difficult for KHTML to keep up. This problem was worsened by the long gaps between patches, since internal interfaces in KHTML were likely to have changed between the patches. This example seems to counter Eric Raymond’s argument about the GPL; if KHTML had been BSD-licensed, for example, Apple could have kept its changes private, and produced a better product than the open version.

In 2005, however, things changed. Apple opened its WebKit CVS repository to the public. Since then, Apple has accepted a few patches from the community, but gained a significant bonus when Nokia decided to step in. Nokia was interested in a web browser for small-footprint devices, with the idea being to stop paying license fees to Opera for every device that Nokia sold. Having a second company working on the product is likely to benefit both Apple and Nokia.

This example shows that a closed fork of a project can be better than the original if a company is willing to invest more money than everyone else does. On the other hand, if they invest the same amount of money in improving the open version, they’re likely to get an even better result. For this reason, the Open Source movement is less enthusiastic about the GPL, and much more willing to use other licenses.

  • + Share This
  • 🔖 Save To Your Account