Blogging Ogg
Feb. 27th, 2008 11:04 amToday, I will entertain you with a solidly less professional sort of rant. Welcome to one of my hotbuttons.
From our gullible friends at Linux.com:
"Matroska's creators assert its superiority over Ogg in a number of areas; the one distinction no one argues about is that Matroska is designed to encapsulate any codec, while Ogg is designed specifically for Xiph.org codecs like Theora."
No. No, no, no. Dear God No. Not this again.
Ogg was not designed for only our codecs. Ogg will happily swallow data from any codec you like. We simply didn't hand the world the magic tools for doing it. Why? Because our mandate isn't promoting all codecs. It's promoting Free codecs. So, early on, we made an intentional decision to officially mostly ignore the existence of any encumbered codec. Don't acknowledge the non-Free, don't talk about the non-Free, don't code the non-Free. Correct or not in retrospect, the decision was to publically stay on topic: FOSS only. FOSS is the way.
So, we only mention the Free codecs in the docs and only implement the Free codecs in our own tools. As an aside, it's not entirely clear that it's even legal for us to implement, eg, MPEG4 support in the Ogg tools we distribute, and unlike a number of other FOSS codec organizations we don't winkingly dance back and forth across the legal lines regarding IP and patents ("You can't sue us! What we're doing isn't illegal in all countries! Hey, leggo! This is bullshit! We didn't do anything!")
There's nothing morally wrong with standing up to The Man, of course, especially when He's being a Real Prick. However, our organizational goal is to coopt The Man by showing Him how [E|e]verybody makes more money in the end the FOSS way. Because The Man is more likely to listen when you're not urinating on His Lawn, we avoid the pseudo-legal tapdancing that only works if you're too small to be worth squashing. But I digress.
Getting back to non-free codecs in Ogg, recall the old Dilbert cartoon where the pointy-haired boss proudly proclaims, "They said it couldn't be done!" Dilbert corrects him, "No, we said 'Don't do it.'" That's a big difference, and spin has no place in engineering.
To be fair, that's not directly parallel to the situation here. We're not actually saying 'Do not use Ogg with proprietary codecs or in closed applications' we're saying 'please go ahead, but we can't directly contribute; it's not our mandate.' Our non-profit charter, on file with the cheerful folks at the IRS, states that we spend our resources on the Free stuff. We're happy to see a rising tide lift all boats, closed and open, commercial and public. However, our internal mandate is the open and the public interests. For that reason we've only coded for the Free codecs, most of which happen to be ours(*).
(*)The interesting part is that it didn't start out that way. Speex and FLAC joined Xiph.Org later on. Dirac is a project of the BBC.
</rant>
Oh, and there's nothing wrong with Matroska. It's a good non-linear container counterpart to Ogg for doing many of the things Ogg was not designed to do. It's just that 'contain arbitrary codecs' is not on that list. 'Ogg can only contain Xiph codecs' is a common 'fact' brought up in the context of 'why company Foo won't support Ogg', so let's put a rest to this bit of nonsense, OK? It's harmful to the larger goals of FOSS.