I suppose it's not shocking or newsworthy (to most people) when an open source project changes its license. Some projects involve a small number of developers, making consensus around such changes easy; some projects have a contributor agreement whereby copyright is assigned to a single entity, averting the need for consensus.1 However, when an open source project has many contributors and no contributor agreement, then such a switch is indeed attention-grabbing. Why? Because to do so means obtaining the permission for the license change from each contributor—a task that is undoubtedly arduous and tedious, requiring an unswerving attention-to-detail and perseverance. But it can be done, as so proved by the efforts of Jean-Baptiste Kempf in switching VLC from GPLv2 to LGPLv2.1.
VLC is a cross-platform, multi-media player and streaming solution. This popular open source project is maintained by VideoLAN, a non-profit organization dedicated to "developing and promoting free, open-source multimedia solutions". In September 2011 at the VideoLAN Developer Days, key project developers approved the idea of changing the license. The reasoning given was to better "match the evolution of the video industry and to spread the VLC engine as a multi-platform open-source multimedia engine and library."2 The license change was to begin with the VLC engine, libVLC, thus allowing applications based on libVLC to be under non-GPL licenses. Later, key plugins and modules would also be re-licensed under LGPLv2.1. The VLC media player itself would continue to be under GPL v2.
The initial license change for libVLC 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.3 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.4 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. (In any case, Kempf may find himself soon employed as a private detective...) Kempf also provides a summary of the outcome and pre-emptive analysis and answer to the question, "what if I made a mistake?" And let's not forget all the attendant work in changing the licensing information and notices in each file and elsewhere in the project code and documentation. Like I said, perseverance and attention-to-detail required.
At this point, you may be thinking that all this work is a grand argument for having a contributor agreement that licenses or assigns each contributor's contribution to a central organization. However, France, where VideoLAN is organized, recognizes moral rights. 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.5 Legal considerations aside, a community may decide to not employ a contributor's agreement to retain the inevitable democratic process required for such a task as changing the project's license.
You might remember that VLC was the subject of a little snafu involving Apple's App Store and a conflict of terms between the GPL v2 and the iTunes Terms of Service not too long ago.6 Presumably as a result, the VLC media player was pulled from the Apple App Store and is still not available. Thus, the question now is, will relicensing VLC under LGPL v2.1 change anything in this regard? The LGPL licenses are considered to be a "lesser" version of the GPL licenses due to more lenient conditions around the requirement to apply the license to derivative works where an application links to the covered library. Nonetheless, this does not impact the potential conflicting terms between LGPL and an end-user agreement (EULA) that includes restrictions upon the use of the software; to avoid such a conflict the EULA would need to contain a carve out: text allowing the terms of LGPL to prevail in the case of a conflict. According to the FSF's interpretation, Apple's terms of service imposed restrictions on the end-users that violated Section 6 of the GPL v2, which states that "[y]ou may not impose any further restrictions on the recipients' exercise of the rights granted herein."7 Section 10 of the LGPL v2.1 has the exact same language, so I would presume that the same analysis would apply. Furthermore, there is still the issue of providing the source code—also required by LGPL when distributing a library in binary form—which has yet (in my view) to be truly addressed by the app store distribution model.
But I digress... license compliance and compatibility aside, the point of this post was to commend a valiant effort to change a license on a popular project. I have more than a few times heard comments that such a task is insurmountable, impossible, impractical, or some other such adjective. Regardless of whether you agree with the license change for VLC or the rationale behind the decision, you cannot deny that to take on the task of properly tracking down all the developers is no small feat and deserves credit and respect. Thanks for the hard work, Jean-Baptiste! And thanks for sharing your process and success.
VideoLAN, VLC, and VLC media player are trademarks internationally registered by the VideoLAN non-profit organization.
View Jilayne Lovejoy's profile