Had an interesting conversation today with Wim about copyright and software. We are currently working on integrating some RTSP patches into GStreamer and it turns out these patches contain some code originating in Xine which means we need to get a relicense on the code to the LGPL or replace the GPL parts.
Part of the problem is that people in the free software community tend to be rather sloppy with copyright statements when copying code around. So when people take code from a GPL project to put into another GPL project they often don’t copy all the needed copyright headers over as well, and also a lot of people when making significant changes don’t add their names to the copyright header of the file.
On top of that there are issues like the hard to grasp definition of what exactly constitutes a copyrightable contribution and the general problems with programming languages not being very expressive by nature, meaning that there isn’t that many (non stupid) ways of doing something.
Neither of us being a lawyer probably doesn’t help either
Anyway all of this makes it a quite extensive task to a) identify all (potential) copyright holders on a specific piece of code. b) track all these people down. c) get their permission to relicense d) if anyone says no, identify exactly what is their contribution and figure how that can be removed. Figuring out what to do when things are not easy to rewrite in any intelligent way, as a rewrite would basically look like the original and so on.
In terms of rewrites being identical to the original copyright law addresses this with rules saying that only the expressive elements of code is copyrightable, but its not easy for a layman to have a clear feeling on what that translates into in terms of a specific piece of code. In many cases you can never really know, even with a good lawyer to help you, before a judge gives final verdict on it. And having a judge give final verdict is what you probably want to avoid in the first place as that process costs a lot of time and money.
What is certain is that it do seem clear to me that copyright law was not made with gigantic collaborative efforts, which open source software is an example of, in mind. (ok, I am not expecting any awards for spotting the obvious
Quite some time ago Fluendo funded an effort to get RTP specifications written for Vorbis and Theora. It has taken longer than we hoped at the outset, but things are coming together now. A big thanks to Luca Barbato who have been working on our behalf over the last 4-5 months on getting things sorted out.
The Vorbis RTP specification is now
available in a close to final version which has prelimenary IETF approval. The Theora
specification is a close behind, currently awaiting the initial stamp of approval from IETF.
Having these specifications ready I hope we will see a lot of projects implement them now and free formats start taking further steps forward into the world of VoIP, video conferencing and mobile streaming.
I announced today that Luca Barbato would take over as project lead in charge of sherpherding the Theora and Vorbis RTP specifications to completion. Due to various reasons this work got stalled, but hopefully with fresh blood at the helm we can move things to conclusion. A lot of people are expression interest in ‘Ogg’ RTP and it would be nice to have something ready for them to start implementing and adding to their programs. With Thomas and Wim having worked much lately on RTP streaming support in GStreamer and Flumotion it would also be nice to be able to have it ready so we could start implementing support for it in the GPL version of Flumotion.
New librsvg release
Helped send out the release announcement today of
librsvg 2.11.0. It will probably be our last libart only release as most work goes towards CVS head where the Cairo support is added.
Seems quite a few people agreed with my previous blog about eyecandy. Been thinking about how we could proceed with the issue. One thing which could be interesting to do was to host a call on for instance art.gnome.org where we ask artists to come up with mockups for what kind of themes or effects they would like to have available. Then we review those mockups and proposals and try to come up with a todo list for the various projects like GTK+, gnome-panel and Metacity for what they need to add in order to enable such things. Like if we want animated or shaped borders in metacity what would need to happen and how should it happen. If we want to have the gnome-panel look like a Giger like cloud of swarming larvas to go with our Giger inspired desktop, what would need to happen. The goal would be that GNOME continues to look like today out of the box, but people can grab themes and extension packs that can give them very dazzling looks to the desktop.