New release of gnome-themes-extras

I had basically given up maintaining gnome-themes-extras, but yesterday, having a public holiday here in Spain, I sat down, merged the latest changes from David Vignoni, went through the bugzilla reports and put together a new release. gnome-themes-extras 0.9.0 is out!. Special thanks to the translators and Josselin Mouette (who contributed the cool new mixer icons). Even ended up doing some more work in CVS after the release, so expect a new release soon. Just going to give Thos a few days to do some long promised Gorilla work.

GStreamer and DRM

Thought I should use the chance to clear up some questions about GStreamer and DRM that has popped up over the last few days since my last DRM blog entry.

How will the DRM stuff be implemented? Will it take over my system and not allow me to do the stuff I do today with GStreamer?

The DRM additions are being done as a separate helper library and using special plugins. This means the core of GStreamer and the current plugins will remain untouched by this change. The DRM enabled plugins will be able to playback both DRM’ed content and normal non-DRM’ed content in the formats they support. You can have both your current free software plugins and any drm enabled plugins installed even if they support the same formats.(Just like GStreamer 0.8 could play back mp3’s using both the libmad plugin or the ffmpeg plugin). This DRM implementation is not something that tries to hide itself on your system like the Sony CD stuff, it will be there in plain view with clearly marked packages if you choose to install it.
So no, it will not in any way ‘take over your system’.

Why would I want to install the DRM additions?

Because they give you access to playback things you wouldn’t otherwise. Many music stores only offers DRM’ed WMA files for download, and without a system supporting Windows DRM these files are useless on your Linux system. DRM also includes stuff such as the protection mechanism on the upcoming high-definition DVD’s.
That said, what DRM systems actually get supported depends on more than just having the technical infrastructure in place, like being allowed to ship support for the various DRM systems etc. Some of the DRM system vendors disallow desktop Linux support by default for instance due to fears that the open nature of GNU/Linux will make it to easy to circumvent..

Still couldn’t I just wait for JLJ and friends to reverse-engineer these DRM systems? Like what happened with DVD CSS?

Sure. But that means you have to wait for quite a bit after each such system is released and no distribution will probably dare to actually ship it. But I am sure that such things will be done also in the future and I am also sure there will be GStreamer plugins using them, like there is a GStreamer plugin doing DVD CSS.

Is it really possible to do DRM as Free Software?

Sun claims they have a system that does so (and has released code to prove it).
I haven’t looked in detail to how it works, but I would say that saying in general that open source DRM is impossible is like saying that GPG can’t be secure since its free software. There might be some ramifications of being free software which will make the resulting system have conditions for use that makes it painful, like a requirement for being online when playing back as an example, but its definetly not impossible.

What DRM systems will you support?

The DRM system is being developed in such a way that anyone who wants can implement a DRM module for their DRM system of choice. Fluendo will probably support a couple of DRM systems ourselves, but it is not sure at this point in time that we will provide them for use outside the embedded market. Customer interest and what kind of contracts we are able to negotiate will decide that.


#1 Mike Hearn on 12.08.05 at 02:27

I don’t think you can support DRM *playback* with GStreamer 0.10 and todays Linux kernel.

I mean, if you have a theoreticaly wmdrm-decoder element that knows how to decrypt WMA files, what’s to stop you doing:

filesrc location=britney.wma ! wmdrm-decoder ! oggenc ! filesink location=britney.ogg

And stripping the DRM that way? The element would have to scan the entire pipeline and prove to itself that the audio is going direct to the kernel and not being teed off to any files or network streaming elements anywhere. And that’s not possible to do because anybody can write their own element that the wmdrm-decoder element wouldn’t recognise that subverts the pipeline that way.

I really think you guys need to research how the existing crop of DRM systems work – maybe the very lightweight ones like FairPlay can be supported (but apple have zero incentive to help a competitor that way) but there’s absolutely zero chance of you supporting Windows Media which is pretty much the de-facto DRM system outside of Apple land.

In particular, Windows Media playback requires a kernel that refuses to load unsigned drivers and which cannot be modified at will by the user …. it’s called the Secure Audio Path and is implemented in Windows XP and ME.

#2 Mike Hearn on 12.08.05 at 02:28

Oh … I didn’t finish the comment. Obviously DRM playback on Linux is hard to impossible simply because open source and DRM have competing philosophies (it’s not like encryption at all) but DRM *encoding* probably is possible.

So I guess there’s no reason you couldn’t support protected radio streaming and the like using something like WMDRM.

#3 Christian Schaller on 12.08.05 at 05:56

Mike, the essence of the design is the design of a secure pipeline. The decoder would refuse to connect to any plugin it can’t trust if its working with protected content. What happens outside GStreamer is of course a different issue, and here there are work happening at the distros to come up with solutions.

#4 Mike Hearn on 12.08.05 at 06:37

How does it know the plugin is trusted – the binary has to be signed with a trusted key presumably … so how does this work if distros are in charge of compiling GStreamer – they need the trusted key but can’t keep it in their public source packages?

I dunno …. I’ll wait and see what you guys come up with I guess.

#5 Xyzzy on 12.10.05 at 11:38

“What happens outside GStreamer is of course a different issue, and here there are work happening at the distros to come up with solutions.”

Would you mind explaining that comment further? What work happening at distros are you referring to?

#6 TopDown on 12.11.05 at 19:42

“How does it know the plugin is trusted – the binary has to be signed with a trusted key presumably … so how does this work if distros are in charge of compiling GStreamer – they need the trusted key but can’t keep it in their public source packages?”

Yes, hence the reason this whole business is fundamentally incompatible with Free software… and Schaller should be ashamed of his umming and ahhing. In case it wasn’t obvious already — he doesn’t actually want to talk about this aspect. He’d rather wave his hands around and talk about how “doors are closed to us if we don’t implement DRM”… and since he’s now sucking on the corporate teat… he’s taken to spouting the corporate line too.