I’m a big fan of podcasts, and listen to a wide variety of them regularly. So much so that it isn’t uncommon for me to have a couple months worth of backlog sitting on my phone and iPad (synced via PocketCasts) waiting to be listened to.
So it was only this morning that I listened to an episode of The Dirt from back in December 2014: Open Source pt. 2: Licensing Matters with Gabe Levine. This was the 2nd in a (so far) three part series on Open Source from a podcast I usually really enjoy, put out by an agency (Fresh Tilled Soil) for whom I have tremendous respect. It was on a topic (open source licenses) about which I think most web designers, front-end developers, and web developers need significantly better education and understanding. It included as a guest a lawyer (Gabe Levine) whose twitter bio describes him as a “New Media Lawyer Extraordinaire” and who was described by The Dirt post as a “super lawyer.”
That’s why I was so disappointed.
Beyond muttering to myself on my morning walk, I just have to respond to some of the major issues I had with the podcast. (No comments allowed on the blog where the podcast is posted, so I’ll write here and tweet to the podcast).
1. The obligations of the GPL are triggered by distribution
What no one mentioned was the helpful choosealicense.com site GitHub launched to help people choose, which does a very simple and clear job explaining the differences between popular licenses. (Simplified, but generally accurate).
The discussion turned to the GPL and its “copyleft” cause, which says that if you distribute changes you make to a project licensed under the GPL, or if you distribute a project that is a derivative of a project licensed under the GPL, you must make your software available (to those to whom you distribute it) under the GPL as well. This means you pass on the same four freedoms you enjoyed from the upstream project upon which you are building.
One of the podcast hosts (Tim?) asked, in essence, what if I build a site on a GPL platform like Drupal? Am I obligated to share all of my code under the GPL? Gabe answered no, but implied that was because the code Tim would have written in that case would not be considered a derivative. No one even mentioned the concept of distribution at all.
The reality is, you can take a project licensed under the GPL, modify it, make derivatives of it, make it run 300% faster, add features, extend the core, and run it on your own servers as often as you wish. As long as you are not distributing the code to anyone (offering it for download or shipping CDs), distribution has not been triggered.
Google reportedly makes many modifications to linux distributions to improve efficiency in their data centers – and is under no obligation to share that back.
had for some time has a project called Drupal Gardens, which enables users to set up free Drupal sites in a SaaS model – like WordPress.com – and was under no obligation to open source that project, though it was quite clearly derivative of Drupal.
Automattic, in addition to WordPress.com, offers WordPress.com VIP hosting, and has created various bits of software to make that platform run efficiently – as have many other managed WordPress hosts – and they are under no obligation to release those platforms.
For companies who are building their website on a platform that is GPL licensed, they are not distributing that software. It is very common, in building a WordPress powered site, to develop custom plugins or complex themes, which are at least partially “derivative” of the core software. (Some parts of themes might not be derivative, but let’s accept for the sake of argument the generally accepted thinking that the php code in themes and plugins is derivative). Those companies are not obligated to release those plugins or distribute them at all. The issue is only when they do decide to distribute them – in which case they need to make them available to the distributees under the GPL.
To repeat: if you are not distributing your modifications/derivative works, you need not share them with anyone, including the source project.
If you are building software you intend to distribute, and don’t wish to distribute under the GPL, you should not build on GPL software.
If you are building software you do not intend to distribute, you need not worry about GPL infection. This is why even Microsoft (as strongly anti-GPL as any company I can think of) has no problem hosting WordPress powered sites.
2. The GPL is used by many of the largest and most successful projects
Ok, so maybe in this case I’m being overly sensitive.
The whole discussion was presented in such a way that made GPL licensed software sound like it was only for fringe projects, or was unpopular.
Let’s not forget that all of the most successful open source content management platforms are licensed under the GPL: WordPress, Drupal, Joomla, and so on.
Let’s not forget that Linux itself is licensed under the GPL – and is undoubtedly the most common server operating system on the web.
Let’s not forget that Git is licensed under the GPL (and yet this doesn’t prevent GitHub from being a hosted service based on Git).
I’m not arguing that the MIT license is a bad license, or that people who choose “permissive” licenses over “copyleft” licenses are doing it wrong – but to suggest that the GPL is some kind of fringe case is simply wrong.
3. Creative Commons did not inspire the software licenses; it was inspired by them
Later the conversation turned to Creative Commons, and the license variations Creative Commons offers, which are designed (thus the “Creative” in the name) to allow creators of creative works (photography, art, illustration, music, writing, etc) to define the ways in which they want their work shared. (Or the conditions under which such sharing is explicitly allowed by the copyright owner).
Gabe (I believe – I could have the voices assigned to the wrong speakers) suggests that perhaps Creative Commons was first, and inspired the software licenses.
That’s like suggesting that perhaps horse-drawn carriages were inspired by the early automotive marketing industry.
Creative Commons was formed in 2001, and released their first license in 2002. The inspiration flowed exactly the other way: “Creative Commons developed its licenses – inspired in part by the . . . GPL.”
The Free Software Foundation was organized as a 501(c)(3) in 1985, and the notion of using the license the FSF had created as a General Public License appears in 1988 or 1989. The GPL v2 was released in 1991.
4. Dual licensing is common
The notion of dual licensing also came up near the end of the discussion, and it seemed a wholly novel idea – that a piece of software would be available under multiple licenses.
This is not uncommon. MySQL itself has long been available via GPL or via a commercial license which enabled you to build it into products that would be distributed without triggering the GPL distribution clause.
Even commercial software is regularly dual licensed. You can get Microsoft Word or Adobe Photoshop or Apple Keynote retail as an individual, or via an OEM license, or as a corporate subscriber to a corporate license, or as a student under a student license, etc. Each of these may be the exact same set of bytes but made available under different license regimes and restrictions.
There are complexities for open source projects with respect to dual licensing. The copyright holder needs to agree to licensing changes – so in the absence of a contributor agreement or copyright assignment, an open source project that has taken a number of contributions from many people may be unable to change the license retroactively.
Apologies in advance if this whole post feels like a rant. I know the folks at The Dirt are not intending to spread misinformation or scare people about working with open source software, but I think it is really critical that people understand what the GPL does and does not require.
I am not a lawyer, and don’t even play one on the internet. But there are many great resources that can help you understand what the licenses do and do not mean. Here are just a few:
- Free Software Foundation – Licensing
- Open Source Initiative – Open Source Licenses
- Creative Commons
- Which Open Source Software License Should I Use?
- Comparison of Free and Open Source Software Licenses (wikipedia)
For key projects I’ve worked with, here are there pages on the concept:
- WordPress: License, Philosophy (see the “Bill of Rights” section of that page).
- Drupal: Licensing FAQ