|
|
Subscribe / Log in / New account

LWN.net Weekly Edition for January 12, 2006

The coming Debian GFDL collision

The Debian Project's discomfort with the GNU Free Documentation License (GFDL) has been clear for some time. To Debian developers (and many others), the GFDL is not a free license for a few reasons:

  • The "invariant sections" requirement allows an author to designate parts of a document which cannot be changed or removed. This requirement has a clear and transparent purpose: it keeps people from circulating copies of GNU documents which lack the GNU Manifesto and related text. Invariant sections are obnoxious at best; it is, for example, impossible to use a chapter from one of the emacs manuals without dragging along many pages of unrelated material. At worst, invariant sections are non-free, since they restrict the right to create derivative works. Almost nobody (outside of the Free Software Foundation) uses invariant sections (and the related "cover texts") in GFDL-licensed documents.

  • The GFDL contains a section intended to keep manuals from being locked up in digital restrictions management systems. That section is so broadly written, however, that some people believe it disallows storing a GFDL-licensed manual on an encrypted filesystem or even setting the file permissions on the manual to disallow world-read access.

  • The requirement that "transparent" copies of a document (think "source code") be distributed with "opaque" copies strikes some as being overly onerous. The license seems to require users to download transparent copies whether or not they want them.

See the Debian position statement on the GFDL for more information on why the project objects to this license.

Debian developer Anthony Towns recently circulated a proposal for a general resolution (since updated) on the GFDL. The resolution would reiterate the project's objections to the license, and generally bring the issue back into the foreground. Previously, the developers had agreed to let GFDL-licensed documentation slide so as to not delay the Sarge release. That release is now out, and the Etch release is planned for December of this year. As things stand now, the project will not be able to release Etch until all non-free documentation has been removed - and that situation is unlikely to change.

The Debian folks would like to see this problem solved by the FSF, which could make it vanish by releasing an updated version of the GFDL. The transparent copy and DRM items seem amenable to easy fixes, leaving only invariant sections to worry about. Even in the absence of a change of heart on invariant sections, fixing the other issues would make documents which lack such sections free. Tweaking the GFDL to allow the removal of invariant sections would solve the problem completely.

Given that version 3 of the GPL is due to be unveiled (in draft form) on January 16, it is probably safe to assume that the FSF is not devoting a great deal of attention to tweaking the GFDL at this time. The FSF has, in fact, proved quite resistant to making any changes to that license even when there weren't other things going on. So a new GFDL before the scheduled Etch release seems unlikely. So, it is probable that there will be a mass purge of GFDL-licensed documentation from the core Debian distribution. That documentation will then languish in the non-free area, where Debian folks will routinely sneer at it.

This purge will affect any free software project whose code is shipped by Debian, and which has documentation licensed under the GFDL. As it happens, there are a couple of smallish projects which fit that description, called KDE and GNOME. Both of these projects will have to find a way to address Debian's concerns, or see its code shipped without the accompanying documentation.

The projects are starting to think about this issue. Recently, Jordi Mallach posted a call for discussion on the GNOME desktop-devel list, and Isaac Clerencia posted a very similar message to kde-devel. In fact, the messages are so similar that one must conclude that the level of cooperation between the two projects is higher than generally imagined. In both cases, two options are presented: (1) create new documentation-free tarballs, or (2) relicense or dual-license the existing manuals so that Debian will see them as being free. The dual-licensing idea is the one which is recommended.

The initial response in both projects has been somewhat unsympathetic to the Debian project's position. It seems fair to say that quite a few developers (and authors) don't really see a problem in need of a solution - especially since neither project makes use of invariant sections. A GNOME developer suggested that it was up to the Debian project to either get the GFDL changed or to deal with every author to get the licensing changed on their works. A KDE developer has flat-out refused to consider dual-licensing his work. There are people in both camps who have problems with the GFDL, but it appears that bringing about a licensing change will be hard to do.

So there does not appear to be an immediate solution at hand, and the chances are good that Etch will ship without a great deal of documentation. Debian Etch users will have to get their GNOME and KDE manuals at the same time they stock up on MP3 encoders, libdvdcss, and that Flash plugin they swear they never use. It's not the end of the world; that documentation remains readily available. But it is an example of what can happen when we are not sufficiently careful in our choice of licenses. Picking the wrong license can lead to trouble down the road, and it can be a hard choice to change.

This episode could also have been avoided if the FSF had been a bit more responsive to the feedback it sought when the GFDL was released in draft form. Most of the objections one hears now were voiced then, but they had no effect on the final wording of the license. One can only hope that the GPLv3 project, which begins next week, will produce a more generally-acceptable final result. The stakes in that case are significantly higher.

Comments (41 posted)

Flash players for Linux

One of the places where the Linux desktop tends to fall short of the proprietary alternatives is its support for the Shockwave Flash media format. The world is full of deprived Linux users who are unable to enjoy the full benefits of singing, dancing advertisements on web pages. These users are also deprived of cheesy games, delightful product demos, and more. Clearly Linux will never be ready for the desktop as long as this situation persists.

The truth of the matter is that the ability to deal with Flash is occasionally useful. There is a place in the world for cheesy games. So a free Flash player would be a nice addition to the Linux desktop. That player may have just gotten a bit closer with the Free Software Foundation's announcement of Gnash, a GPL-licensed Flash player. According to the announcement:

Gnash is a project to build a SWF version 7 compliant flash player with high-quality imaging. It is the most advanced free flash player that currently exists, and an important addition to the GNU project. The release of Gnash represents the achievement of one of the free software movement's high priority projects.

It was quickly pointed out, however, that the FSF may have gotten a little ahead of itself with this announcement. Gnash, as it stands now, is prone to frequent crashes, does not work on 64-bit systems, and is generally not ready for prime time. It is, however, at a point where it could benefit from contributions from a wider group of developers, and attracting those contributions is certainly what the FSF is really trying to do at this point.

Others pointed out that Gnash is not the only free Flash player out there, and that it might not even be the "most advanced" one. In particular, swfdec has been releasing for some time now, with version 0.3.6 hitting the net on January 10. Swfdec comes with a mozilla plugin (as does Gnash), and GStreamer integration as well.

One important difference between these two projects was pointed out by Christian Schaller: Gnash is licensed under the GPL, while swfdec uses the LGPL. This difference could matter to a significant subset of potential users. Much of what is found in Flash files, including MP3 audio and various video formats, is covered by patents in some parts of the world. The LGPL allows swfdec to be distributed alongside patent-encumbered code; such distribution, instead, is not possible with Gnash. This restriction will not matter to people who aren't interested in running code with patent issues. But people who are less fussy about such issues, and who want a Flash player that actually plays the Flash files they encounter on the net, may care quite a bit.

Choice is a good thing, and the free software community may well benefit from having multiple Flash players out there. But it is also probably true that there is not a surplus of developers with time to contribute to this sort of project. So it might benefit the community to have a discussion about the relative importance of GPL licensing and the ability to distribute non-free decoders. It is a choice with unfortunate consequences either way.

Comments (19 posted)

Publicly funded free software security audits

The static analysis tool once known as the "Stanford Checker" has occasionally shown up here on LWN. The Checker has often been applied to the Linux kernel code base, resulting in the detection (and fixing) of hundreds of bugs before they created trouble on production systems. It is clearly a powerful tool, and it has often been hoped that the Checker would be released as free software. That was not to be, however; instead, it evolved into a proprietary product called "Prevent," offered by a company called Coverity.

The Coverity folks have occasionally posted information on problems found with their software, and those bug reports have been appreciated. It now looks like that stream of information is about to increase; Coverity has announced that it (along with Stanford University) has received a grant from the U.S. Department of Homeland Security to help improve the security of free software. To that end, Coverity Prevent will be run against some 40 free software projects (the release lists the kernel, Apache, MySQL, PostgreSQL, Sendmail, FreeBSD, Mozilla, and GTK) and the results will go into a publicly-available bug database. The project is described as "multi-year"; an initial availability date for the bug database was not provided.

Some people who have yet to fully understand free software have been heard to wonder what benefits come from access to the source. These people may not be programmers, and have no clue what they would ever do with that code. Here is a clear example of why free software is better. All users of the packages analyzed by Coverity Prevent will benefit in a number of ways:

  • The number of bugs found in each package will be public information, as will how that number changes over time.

  • Users who are concerned about the security and reliability of the code they use will be able to see just how responsive each project is to the bugs which are found.

  • Developers will - one hopes - learn from the types of bugs which are consistently found in their packages and get better at avoiding them.

  • These bugs - many of which are reliability and security problems waiting to happen - will be fixed.

Proprietary software simply is not available for third-party auditing in this manner.

Most of this is not new; the auditing (and fixing) of free software is an ongoing process. The free software community does not, yet, have tools which are as good as Prevent, however, so its regular application to free source should be a good thing. And the bug database should be full of interesting information which will help potential users judge the relative security of the covered projects.

One could argue that the Department's funds would have been better applied to the creation of free tools which perform detailed static analysis of code. Then all projects could benefit from the results. Still, direct government support for free software is rare in the U.S. (especially outside of scientific funding agencies), so this grant looks like a step in the right direction.

There are risks involved in an effort like this. If developers are not responsive to the bugs reported by Prevent, the bug database could become an easy shopping list for malware authors. The bug database also offers some FUD possibilities: similar databases do not exist for proprietary software products. But we should not fear public disclosure of our bugs; it makes us stronger in the end. This project, if it lives up to its potential, will result in a higher-quality, more secure code base for all free software users.

Comments (6 posted)

Page editor: Jonathan Corbet

Inside this week's LWN.net Weekly Edition

  • Security: The CERT vulnerability list; AppArmor; A vast number of new vulnerabilities.
  • Kernel: Looking forward to 2.6.16; The mutex API; Wireless networking.
  • Distributions: Testing out the Xen live CD; Yellow Dog Linux 4.1; Damn Small Linux 2.1; Mono in Fedora Core; DebConf6 talks; IBLS; Secure Apt
  • Development: Release 2.40 of Blender 3D Graphics, DWARF Debugging Standard V3, new versions of PostgreSQL, ZODB, ooh323c, Zope, Rivendell, GARNOME, GNOME, KTechlab, SQL-Ledger, Blender, Wine, OOo Label Templates, PEL, Cheetah.
  • Press: 2006 predictions, MCP against Linux, EuroBSDCon coverage, MontaVista CEO to step down, FAT patent upheld, using gd, ISPConfig review, WordPress 2.0 review.
  • Announcements: Asterisk monitor package, CrossOver Office 5.0.1, OpenVZ Debian VPS, Open-source gains in Government, Blackberry survey, KDE at FOSDEM, OSCON CFP, OLS CFP, PyCon keynotes, Qt Centre site.
Next page: Security>>

Copyright © 2006, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds