January 18, 2006

Legal debate could hinder Fluendo MP3 component

Author: Nathan Willis

A debate sprang up on the Ubuntu developers' mailing list shortly following Fluendo's release of a licensed MP3 plugin for the GStreamer multimedia framework used by Rhythmbox and other media player applications. At issue is whether Ubuntu -- or any distributor -- can ship both the MP3 plugin and a GPL-licensed player that uses it.

Fluendo has an agreement with MP3 patent-holder Fraunhofer ISS that allows the company to offer the plugin free of charge to end users and software distributors. Distributors must sign a redistribution contract with Fluendo, however, which Fluendo maintains is a requirement of the upstream arrangement with Fraunhofer.

The crux of the problem lies in section 7 of the GPL, which states (in part):

If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.

This section has been interpreted to cover dynamic linking; therefore when Rhythmbox (a GPL program) links with GStreamer (an LGPL program) while GStreamer links with the Fluendo MP3 plugin (a non-free program), Rhythmbox and the Fluendo MP3 plugin are linked. Since the plugin's license is incompatible with the GPL, no distributor can ship them together.

The problem applies to any codec covered by patents, and cannot be solved with any changes to GStreamer's license. The GStreamer developers are well aware of this issue, though, and recommend that application programmers take steps permitting their apps to interoperate with non-free plugins -- either dual-licensing the app, or adding an exception clause to their GPL.

The latter is the tactic taken by other popular media players, including Muine, Totem, and Banshee. One list subscriber reported having asked Rhythmbox developers about an exception clause and getting a noncommittal response. But for a distribution to ship the Fluendo MP3 component, such an exception would be required in every GPLed application that links to GStreamer -- a burdensome task today, and an unlikely proposition for the future, as additional applications and indeed other libraries use GStreamer.

Another possible solution is to provide users with a mechanism to acquire the Fluendo plugin but not include it by default. Ubuntu ships a default set of packages on CD and ISO image, but provides additional packages available only via APT -- including several under restricted licenses.

In a further wrinkle, the source code for the plugin is MIT-licensed, while the binary plugin's redistribution contract requires that the distributor assign copyright to Fluendo in the event of changes. Thus if Ubuntu chooses to distribute the plugin via APT only, it would almost certainly have to build the component from source rather than ship the binary plugin supplied by Fluendo.

This is workable, but it is the exact scenario already used to route around legal trouble faced by other MP3 libraries such as LAME or libmad. If the Fluendo component is no easier to obtain than the competition, it may be looking at an uphill battle for acceptance.

Fluendo claims it is releasing the MP3 plugin because there is no legal alternative allowing Linux users to play MP3s out of the box. Unless they find a way out of the licensing knot that seems to surround it, however, they do not appear to have provided distributors with much of an improvement.


  • Open Source
Click Here!