A Beginner’s Guide To The GPL

A Beginner’s Guide To The GPL

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?


  • Just one correction. The GNU General Public License was never written as an “open source” license, but rather as a “free software” license.

    There is a difference.

    The GPL was written in 1991 as a political act to change the politics of software. The “open source” movement came years later (1998) with the idea of removing the politics from free software and instead focusing more on cost/development issues.

  • Worth pointing out that, to a degree, projects like VLC don’t have much choice. If they include other pre-existing chunks of code under the terms of the GPL, the VLC developers aren’t free to distribute the product under an alternative (incompatible) licence. Developers who own the copyright of all their code can distribute under GPL and a different licence. Sun/Oracle do this with MySQL.

  • Geez you really vomit up the BS don’t you.

    You stated “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.”

    That’s utter crap. The developers recently released this letter:

    Much to our surprise, we received this friday an email from Apple that said “We regret that the dispute regarding your application named ‘VLC Media Player’ could not be resolved amicably between the parties. We have removed your application from the App Store. For any questions relating to this matter, please contact Rémi Denis-Courmont directly.”

    This was a follow-up from an email we received from Apple last October : “On 10/20/2010, we received a notice from Rémi Denis-Courmont that Rémi Denis-Courmont believes your application named ‘VLC Media Player’ infringes Rémi Denis-Courmont’s intellectual property rights. In particular, Rémi Denis-Courmont believes you are infringing their copyright.”

    Rémi Denis-Courmont’s complaint came pretty much unsuspected, since we did receive approval from the VideoLAN association before starting the iOS port of VLC. As a matter of fact, some members of VideoLAN even helped us porting VLC to the iOS.

    It goes without saying, we still believe the AppStore licence is compatible with the GPLv2 under the which VLC is released. Therefore, together with the VideoLAN association, we’ll do our best to not let this be the end of VLC/iOS.

    As a final word, we think it’s pretty sad to deny millions of users the right to enjoy a nice piece of open source software … in the name of freedom.

    So what we really have here is one person “Rémi Denis-Courmont’s” stuffing things up.

    That one person works for NOKIA.

      • Yes, I agree I was rude. I’m sorry and I apologise.

        I just didn’t like the very incorrect reporting. The developers didn’t withdraw it at any stage.

        Whilst it doesn’t seem to occur in this case, I’m tired of the many misuses of the terms “Open”, “Standard” and “Free” that is being bandied about on the net; and as a consequence, I am (probably unnecessarily) somewhat testy.

        VLC on the App store was not hurting anyone, was not taking anyones money. It may have not been to the letter of the law, but was provided in the correct spirit.

        This is just beauracracy going overboard.

  • Kok, you need to understand that Applidium are the developers of the VLC port to the appstore but by far not the only VLC developers.

    The GPL is a guarantee given to developers and also users that the code provided will stay free instead of ending up restricting users after all the work developers put in it. When apple decided to distribute even free, open source apps with restrictions not to redistribute, they broke the licensing.

    It is unfair for applidium to say that VLC is being denied “in the name of freedom”. The simple approach apple had to deal with this issue was not to force the restrictions on software that is open source, because enforcing such restrictions would make no sense in that case. Instead, apple took the lazy path , and in the process denied the chance of thousands of GPL apps to be in the app store.

    Apple have clear own interests in this. As in their heads, this will discourage the usage of the GPL. In reality, though this will make Android stronger. For example, some parts of Android are already GPL-licensed (the very kernle, indeed) and thus they understand the GPL more. That means that a lot of current and future open source smart phone apps will end in android and it will not be legal to port them to the app store, all because of apple’s lack of will.

    It is a blessing that Android is already more popular than the iphone, this way apple will fail in their push to discourage the GPL and instead, this move will discourage developers from making stuff for iOS. The developers that intend their projects to be GPLed may not be the majority of developers among the smart phone market, but they are a sizable chunk.

    Breaking the GPL license terms is actually copyright infringement or what people call piracy.

Show more comments

Log in to comment on this story!