VLC Multimedia Player Shows Changing Open Source License Is Hard, But Possible
from the easy,-it-isn't dept
Licenses lie at the heart of open source -- and many other kinds of "open" too. That's because they are used to define the rights of users, and to ensure those rights are passed on -- that the intellectual commons is not enclosed. Their central importance explains in part the flamewars that erupt periodically over which license is "best" -- many people have very strong feelings on the subject.
Those heated discussions are one reason why it's rare for an open source project to change its license -- usually it's just easier to stick with what you've got rather than provoke another argument over which new license should be adopted. But there's another major impediment to changing the licensing: the need to get absolutely everyone who has contributed code to agree formally.
That's not a problem when the code has been assigned by contributors to a single entity, often a software foundation, as happens with components of Richard Stallman's GNU (GNU's Not Unix) project. But the individual copyrights of perhaps the best-known open source code, that of the Linux kernel, have not been assigned in this way. That makes the prospect of contacting the thousands of people who have contributed code, and getting them to agree to a license change, not just hard, but probably impossible, not least because some of them may be dead. For this reason (and because Linus Torvalds doesn't want to change it anyway), Linux is likely to remain licensed under the GNU GPLv2 for the foreseeable future.
Another project where the copyright on code contributions has not been assigned to some central body is the popular multimedia player VLC. Since this is a major project with many hundreds of contributors, you might think it would be similarly impossible to get all of them to agree to a license change. And yet, against the odds, VLC has done just that, thanks to the tireless efforts of Jean-Baptiste Kempf. A fascinating post explains how he achieved this:
The initial license change for libVLC [VLC's main engine] was completed a few months later in December 2011. This involved about 150 developers and 80,000 lines of code. If a developer did not respond to the re-licensing request, that developer's code was rewritten.
But sorting out libVLC was easy compared to the rest of the code:
Then came the task of contacting the authors of the various plug-ins and modules, focusing on the playback modules first. This was a bit more challenging, involving some 300 developers and 300,000 lines of code. Kempf was kind enough to describe his methods for doing so in a few blog posts. He began with details of how to correctly compile the list of names and email addresses and the measures he took to appropriately narrow that list down to remove dupes, people who had already responded in the first relicensing phase, and so forth. His response rate for the initial emails was only 25%, with 25% bouncing and 50% not responding. This had to be frustrating but not entirely surprising. To deal with the remaining 75%, Kempf employed a variety of methods that could be described as stalking or resolutely resourceful, depending on your perspective; social media, the telephone directory, whois lookups, friends or co-workers, and showing up where they work were all fair game.
Impressive stuff, not least because Kempf did manage to get every single person to sign off in the end. Still, as the post quoted above goes on to note, you might think this is an extremely strong argument for using a contributor's assignment that licenses or assigns copyright to some central organization. But VideoLAN, the non-profit group that produces VLC, is located in France, which recognizes the creator's "moral rights", introducing a further complication:
Moral rights include the right of attribution, integrity, disclosure and withdrawal, and are based on the rationale that there exists a personal and inalienable bond between authors and their work. As such, moral rights cannot be assigned or waived.
That means even in the presence of an assignment, authors would still need to give their permission for a license change that would be valid in any country that recognizes moral rights.
The VLC experience confirms that changing a license is not something to be undertaken lightly. But it also shows that with perseverance it can be done -- once the flamewars have subsided, of course.
Follow me @glynmoody on Twitter or identi.ca, and on Google+
Thank you for reading this Techdirt post. With so many things competing for everyone’s attention these days, we really appreciate you giving us your time. We work hard every day to put quality content out there for our community.
Techdirt is one of the few remaining truly independent media outlets. We do not have a giant corporation behind us, and we rely heavily on our community to support us, in an age when advertisers are increasingly uninterested in sponsoring small, independent sites — especially a site like ours that is unwilling to pull punches in its reporting and analysis.
While other websites have resorted to paywalls, registration requirements, and increasingly annoying/intrusive advertising, we have always kept Techdirt open and available to anyone. But in order to continue doing so, we need your support. We offer a variety of ways for our readers to support us, from direct donations to special subscriptions and cool merchandise — and every little bit helps. Thank you.
–The Techdirt Team
Filed Under: licenses, open source, vlc
Reader Comments
Subscribe: RSS
View by: Time | Thread
GPLv2 Allows License Upgrades
This isn't necessary. The GPLv2 explicitly states that anything licensed under it can be licensed under later versions of the GPL, so if there was any interest in moving Linux to GPLv3, all you'd need is a flag day after which all patches were understood to be under the new license. The only reason the kernel is GPLv2 is because Linus likes it that way, and because any license change that is sufficiently controversial will result in a fork under the previous license.
[ link to this | view in thread ]
OpenStreetMap changed its license
--Bob.
[ link to this | view in thread ]
Re: GPLv2 Allows License Upgrades
» If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.«
[ link to this | view in thread ]
Re: GPLv2 Allows License Upgrades
[ link to this | view in thread ]
since TD didn't mention it...
[ link to this | view in thread ]
Re: OpenStreetMap changed its license
[ link to this | view in thread ]
It's Supposed To Be Hard.
As an aside, Open Source, to be true to itself, should compile as late as possible, say, during the installation process. There should be as few incomprehensible binary blobs as possible. Great sections of the GPL may become practically irrelevant in a context where it is the end-user who actually does the patching, compiling, and linking of code. If there is effectively no distribution of derivative works, the portions of the GPL dealing with such derivative works become moot.
http://www.techdirt.com/articles/20100708/04230710128.shtml#c404
[ link to this | view in thread ]
Re: since TD didn't mention it...
[ link to this | view in thread ]
So, is VLC coming back to the iPad?
[ link to this | view in thread ]
Not unique, not the first
Interesting story, but really not news - pretty much everyone in the open source community knows what it takes to change licenses, a number of project have done so over the years.
Chris.
[ link to this | view in thread ]
[ link to this | view in thread ]
Re: So, is VLC coming back to the iPad?
[ link to this | view in thread ]
Just make the author liable for breach of contract if he ever sues.
Voila, moral rights are gone, just like they are everywhere.
[ link to this | view in thread ]
Simple change player
[ link to this | view in thread ]