Open source licensing scheme the GNU General Public Licence (GPL) has been in the headlines recently after our favourite video playback app VLC was withdrawn from the iTunes App Store because its licensing conditions apparently aren't compatible with the GPL. What exactly is the GPL and why does it matter?
It's clear from the comments on that post that many people don't understand the GPL concept, or don't consider adhering to licences particularly important. This remark from Pu Koh is fairly typical:
Was the GPL created to benefit the end user? How is removing the app beneficial to anyone?
So we figured it was worth explaining how the GPL works, and why having that kind of licensing scheme matters to proponents of open source software -- and ultimately to consumers as well.
Open source licences: why we need them
The broad aim of open source projects is to make software freely available to as many people as possible, both in executable form (applications that can run) and as source code (the actual raw code that comprises the software, which can be improved and adapted by others). As well as the sheer pleasure of building great products, this approach avoids lock-in. If the original developers stop working on the project, others can step in. And if data is created in an open source app, that data should be readable long into the future, rather than being stuck in a proprietary format that isn't easily understood.
You might think that the simplest way to achieve this would be to release the software and the code without any licence whatsoever and free of all restrictions. In practice, however, this approach has one big drawback: there's absolutely nothing to stop somebody taking that code, compiling it, and selling the resultant product for profit without any acknowledgement of its origins. In theory, someone could even patent some of the features of that code and then sue the original developer. There's also no requirement that changes be shared with the original development community, which undermines one of the major potential benefits of an open source approach: the ability for a project to be improved by multiple people.
Releasing a project under an open source licence avoids those problems, and ensures that any work done on open source code remains freely available to anyone with its sources clearly acknowledged. (A common feature of all open source licences is the requirement to acknowledge the use of any code when building products using that code.)
GPL and its terms
There are dozens of active open source licences; Wikipedia has a handy list of the most active contenders. GPL, which was written in its original version by Richard Stallman of the Free Software Foundation, has become one of the best-known examples in large part because it is the licence used by the Linux operating system, one of the most successful examples of open-source software. It is also used in hundreds of other successful open source projects.
In simple terms, the GPL imposes the following conditions on anyone who releases software using it:
- Source code for the software must be made available to anyone interested in it;
- If you make changes to the software and distribute it, those changes must also be made available as source code, and the GPL licence terms will apply to that changed package as well;
- The software itself must be able to be freely copied and distributed without restriction.
It's the last point that created the most obvious issue for VLC. Because you can't copy apps easily from one iOS device to another, and because Apple's terms forbid distribution by others means, via free distribution is impeded. While anyone who wants a copy can get one for free, VLC's development team believed that this didn't meet the requirements of the GPL, so the application was withdrawn. (Other open source projects have reached similar conclusions.)
Note that the GPL arguably doesn't technically require that you make software or source code available for free. While you could charge a fee for either service, this wouldn't be an effective business model: once one other person had the code or app, they could redistribute it at no cost.
Why it matters
The GPL certainly isn't without its detractors, and as we've mentioned, there are other alternative open source licences, some of which might (at least in theory) be more App Store-friendly. However, given that it is used for many key open source projects -- including VLC and Linux -- the GPL is certain to remain a prominent feature of the landscape for some time.
As for the consumer benefit? The simple answer is this: projects like VLC have attracted developers who believe that software should be made as freely available as possible. If those conditions weren't in place, the development might not have been so fruitful. The average iOS user probably doesn't devote any time to thinking about the development philosophy behind different apps. However, the fact that there's been no obvious alternative to VLC spring up for iOS suggests how difficult it is for a single commercial developer to produce a competing product. Clearly, open source has its benefits.
(Since this article is aimed at newbies, I've deliberately steered away from the more complex legal issues surrounding GPL in its various versions. If you've got further thoughts on why GPL matters, we're all ears as ever in the comments.)
Lifehacker 101 is a weekly feature covering fundamental techniques that Lifehacker constantly refers to, explaining them step-by-step. Hey, we were all newbies once, right?