I'm not sure you understand the problem here. They do not have a license to use h264, and even if they did, they could not afford to share it with you. Distributing patent-encumbered GPL code violates the spirit of GPL-2 and the letter of GPL-3. If you don't like it, campaign against software patents.
Chromium's approach to this is slightly better, but it's not all there yet. (Speculating here) Google can afford to distribute Chrome binaries with license protection, but they most likely track the total downloads in order to pay the fees. They cannot easily track the source, which is why Chromium doesn't ship with h.264 either. However, it uses ffmpeg, so if your system ffmpeg has h.264, you'll be able to use that (after this is fixed: http://code.google.com/p/chromium/issues/detail?id=21318)
Ideally, that's the approach Mozilla would take, too. If not, as other posts mentioned, the distros that are willing to distribute non-free will eventually solve the problem.
I do, which is why I am so critical of Mozilla's "solution" to it, which has confused the issue of not being able to ship h.264 support for the reasons you mention with trying to promote a format that (whatever its merits) nobody wants.
Ideally, that's the approach Mozilla would take, too.
Indeed, it would be, but my understanding is that they are unwilling to do so or unable with their current code, due to the dumb (IMHO) decision to pressure people into using Ogg.
I took a quick look at the firefox source, and it looks like they wrote their own media-handling code (implemented with libtheora, etc).
I did a bit more research, and found this[1] bug. Mozilla explicitly rejected using ffmpeg on mostly-ideological grounds. So, I guess there's plenty of blame to go around. They're still bound by software patents, but they could allow their users the ability to choose, and they refused.
... So I guess that means we're now in violent agreement. :)
Suggesting nobody wants Theora/Vorbis is absurd. Clearly someone wants it, as it was created. The important questions are whether it is useful enough to merit inclusion in a browser, and whether it's useful enough to outweigh the downsides. The same questions should be asked about H264.
But it wasn't created for this purpose. It was originally created by On2 to be sold commercially, but nobody bought it because it sucked. They dumped it as royalty-free abandonware, and some free-software partisans picked it up, changed some strings, and released it as Theora.
Nobody wanted it then, nobody wants it now. The dumping could even be seen as a brilliant strategic move to troll the hell out of the market for codecs by building a community of earnest activists yelling at everyone.
The number of people who care about Theora is small, and the number that care about it primarily for non-ideological reasons (i.e. practical reasons) approaches zero. Compared to the number of Firefox users who view video on the web (which is the group whose concerns we're talking about), I feel I'm not being absurd in referring to the former as "nobody".
Clearly someone wants it, as it was created.
This is very presumptive when talking about an open source project.
The important questions are whether it is useful enough to merit inclusion in a browser, and whether it's useful enough to outweigh the downsides.
There are a lot of directions this could go, but let me make clear that I'm not against supporting Ogg Theora. I'm also not insisting that Mozilla include h.264 support in their products. I'm against limiting support to only Theora on ideological grounds, which is what Mozilla has done. That turns it into a question of whether it's useful and advantageous to actively prevent the use of all other codecs.
Given that h.264 is already the most widely used codec on the web (while Theora is among the least) and that YouTube and Vimeo, two of the largest video sites, have already started supporting it (and not Theora) in <video>, I think it's clearly not in the interests of users to block them from using it.
Patches are not welcome. Mozilla is not going to back down on this.
Their implementation is designed to make it extremely difficult to swap in other codecs from a plugin or straightforward patchset. You'd have to fully fork at least Gecko and XULRunner, and extend Firefox. Due to their strong Trademark policies, your fork couldn't use their names or logos (see also: Iceweasel).
You're right on the former, I was under the impression that it was an economy-of-effort thing rather than an ideological thing. However, I'm not sure I agree that it would be as hard as you think. The mime types are registered here[1] and the impls are here[2]. Each media type is implemented as a state machine that could wrap ffmpeg. That's where I would start, I suspect.
EDIT:
Looks like someone's already blazing that trail[3]. They're using gstreamer, but the research they do for that will show anyone how to add a new one.
> They do not have a license to use h264, and even if they did, they could not afford to share it with you. Distributing patent-encumbered GPL code violates the spirit of GPL-2 and the letter of GPL-3.
Mozilla wouldn't need to distribute h264 decoder. It should allow using 3rd party decoders, either by using system APIs (GStreamer, DirectShow etc) or exposing somekind of plugin interface.
Comments
I'm not sure you understand the problem here. They do not have a license to use h264, and even if they did, they could not afford to share it with you. Distributing patent-encumbered GPL code violates the spirit of GPL-2 and the letter of GPL-3. If you don't like it, campaign against software patents.
Chromium's approach to this is slightly better, but it's not all there yet. (Speculating here) Google can afford to distribute Chrome binaries with license protection, but they most likely track the total downloads in order to pay the fees. They cannot easily track the source, which is why Chromium doesn't ship with h.264 either. However, it uses ffmpeg, so if your system ffmpeg has h.264, you'll be able to use that (after this is fixed: http://code.google.com/p/chromium/issues/detail?id=21318)
Ideally, that's the approach Mozilla would take, too. If not, as other posts mentioned, the distros that are willing to distribute non-free will eventually solve the problem.
As they say: Patches Welcome.
I'm not sure you understand the problem here.
I do, which is why I am so critical of Mozilla's "solution" to it, which has confused the issue of not being able to ship h.264 support for the reasons you mention with trying to promote a format that (whatever its merits) nobody wants.
Ideally, that's the approach Mozilla would take, too.
Indeed, it would be, but my understanding is that they are unwilling to do so or unable with their current code, due to the dumb (IMHO) decision to pressure people into using Ogg.
I took a quick look at the firefox source, and it looks like they wrote their own media-handling code (implemented with libtheora, etc).
I did a bit more research, and found this[1] bug. Mozilla explicitly rejected using ffmpeg on mostly-ideological grounds. So, I guess there's plenty of blame to go around. They're still bound by software patents, but they could allow their users the ability to choose, and they refused.
... So I guess that means we're now in violent agreement. :)
1) https://bugzilla.mozilla.org/show_bug.cgi?id=541494
I appreciate you doing what I was too lazy to do.
Suggesting nobody wants Theora/Vorbis is absurd. Clearly someone wants it, as it was created. The important questions are whether it is useful enough to merit inclusion in a browser, and whether it's useful enough to outweigh the downsides. The same questions should be asked about H264.
But it wasn't created for this purpose. It was originally created by On2 to be sold commercially, but nobody bought it because it sucked. They dumped it as royalty-free abandonware, and some free-software partisans picked it up, changed some strings, and released it as Theora.
Nobody wanted it then, nobody wants it now. The dumping could even be seen as a brilliant strategic move to troll the hell out of the market for codecs by building a community of earnest activists yelling at everyone.
The number of people who care about Theora is small, and the number that care about it primarily for non-ideological reasons (i.e. practical reasons) approaches zero. Compared to the number of Firefox users who view video on the web (which is the group whose concerns we're talking about), I feel I'm not being absurd in referring to the former as "nobody".
Clearly someone wants it, as it was created.
This is very presumptive when talking about an open source project.
The important questions are whether it is useful enough to merit inclusion in a browser, and whether it's useful enough to outweigh the downsides.
There are a lot of directions this could go, but let me make clear that I'm not against supporting Ogg Theora. I'm also not insisting that Mozilla include h.264 support in their products. I'm against limiting support to only Theora on ideological grounds, which is what Mozilla has done. That turns it into a question of whether it's useful and advantageous to actively prevent the use of all other codecs.
Given that h.264 is already the most widely used codec on the web (while Theora is among the least) and that YouTube and Vimeo, two of the largest video sites, have already started supporting it (and not Theora) in <video>, I think it's clearly not in the interests of users to block them from using it.
Patches are not welcome. Mozilla is not going to back down on this.
Their implementation is designed to make it extremely difficult to swap in other codecs from a plugin or straightforward patchset. You'd have to fully fork at least Gecko and XULRunner, and extend Firefox. Due to their strong Trademark policies, your fork couldn't use their names or logos (see also: Iceweasel).
You're right on the former, I was under the impression that it was an economy-of-effort thing rather than an ideological thing. However, I'm not sure I agree that it would be as hard as you think. The mime types are registered here[1] and the impls are here[2]. Each media type is implemented as a state machine that could wrap ffmpeg. That's where I would start, I suspect.
EDIT: Looks like someone's already blazing that trail[3]. They're using gstreamer, but the research they do for that will show anyone how to add a new one.
--
1) http://hg.mozilla.org/mozilla-central/file/b27f05c8743b/cont...
2) http://hg.mozilla.org/mozilla-central/file/b27f05c8743b/cont...
3) https://bugzilla.mozilla.org/show_bug.cgi?id=422540
Scroll down a bit, the only reason it's alive in bugzilla is because it's intended solely for use in Fennec, the current attempt at "Mobile Mozilla": https://bugzilla.mozilla.org/show_bug.cgi?id=422540#c105
> They do not have a license to use h264, and even if they did, they could not afford to share it with you. Distributing patent-encumbered GPL code violates the spirit of GPL-2 and the letter of GPL-3.
Mozilla wouldn't need to distribute h264 decoder. It should allow using 3rd party decoders, either by using system APIs (GStreamer, DirectShow etc) or exposing somekind of plugin interface.
> As they say: Patches Welcome.
Patches haven't been welcome.