Between the foundational free software components and licenses that the Free Software Foundation has made possible–chief of which are, respectively, the GNU Compiler Collection and the GPL–the FSF has laid much of technological and legal groundwork that underlies free and open-source software as we know it today.
One of the features of free software licensing that pleases me most–and for which I feel most grateful to the FSF for helping build–is the flexibility that free software stakeholders enjoy for dealing with the inability or unwillingness of vendors or projects to suit user needs. Free software stakeholders may simply take the code and branch out on their own. With enough backing, these forked projects can overtake their heirs, which is what happened when the XFree86 project gave way to X.org.
Soon, I believe, the FSF may find itself in the odd position of being likewise jettisoned by a large and important part of its user base for the FSF’s refusal to respect the needs and desires of its own stakeholders. The FSF is preparing to release version 3 of its popular and influential GPL license, complete with new provisions that would require vendors of certain types of devices to enable end users to run modified versions of the GPL-licensed software that drives those devices.
The issue, which goes by the name of “Tivoization,” seems really to cheese off the FSF, which holds that vendors such as Tivo should not be able to foist DRM and other user-unfriendly controls on device end users. The FSF views Tivoization as a loophole left open by the GPL2, and one that needs closing in the GPL3.
Linus Torvalds and many of the Linux kernel developers disagree.
For a somewhat interesting debate on whether the GPL would be a freer license with or without Tivoization restrictions, you can read this exchange from the Linux Kernel mailing lists, in which Linux project leader Linus Torvalds and Alexandre Oliva, a Red Hat compiler engineer who’s active in the FSF, go back and forth on the topic.
While I understand the arguments on both sides, I tend to agree with Linus and the kernel developers on this one.
Even though I’m the sort of person who gets a kick out of modifying the software on black box consumer devices, adding new rules to the GPL to govern how device vendors interact with their users seems like opening a pandora’s box of confusion. The GPL3 drafts I’ve read so far talk of exceptions for particular sorts of devices–it’s OK, for instance, for medical devices to bar software modifications, and it’s OK for security systems not intended for home use to bar modifications. Do free and open-source software developers really want to take on the additional policing efforts that would be required to hold vendors’ feet to the fire on these potentially complex use case scenarios?
The frustrating thing about this somewhat esoteric Tivoization flap is that there really is a need for a new GPL version–at its core, the license upgrade is aimed at clarifying the controls and rights that already exist in the GPL2, particularly those surrounding software patents.
This is a worthwhile goal, since a lack of clarity surrounding software patents currently casts somewhat of a shadow over open-source software, with Microsoft co-opting Linux distributors such as Novell, Xandros and Linspire–each of whom package and sell the efforts of free software developers upstream–to cast doubt on the legality of the code they redistribute.
The GPL3 should either shelve its anti-Tivoization restrictions all together, or, better still, spin those controls off into a separate license, as the FSF sagely did with the Affero clause that set out to redefine software distribution to include offering Internet applications up for public use. If open-source developers wish to crack down on what you could well call “Googleization” (Google’s Web applications are built on open source, but Google doesn’t share its code), then these developers can opt for the Affero General Public License.
The good news is that even if the FSF sticks to its guns and remains unmoved by the concerns of the GPL’s most important project, the Linux developers needn’t ever move to the GPL3, nor need anyone else. Linus and the rest of the kernel team could conceivably excise the offending Tivoization portions of the GPL3 and move ahead with a license that benefits from the modernization and clarification work that the FSF has done while lacking unpalatable and arguably overreaching added controls.
What’s more, since it was a lack of clarity surrounding patents that, in part at least, stood in the way of Sun selecting the GPL2 as a license for OpenSolaris, perhaps Sun would be interested in making available some attorneys to help with the revisions. Maybe Linus Torvalds and Johnathan Schwartz should talk it over during their upcoming dinner.
After all, the FSF may be too interested in perfecting its vision of free to make room at the table for its VIP guests, but the nature of open source leaves those guests free to set out a new spread for themselves.