Subject: [rtcweb] x264 vs OpenH264 (Was: On the topic of MTI video codecs)

From: Emil Ivov <[email-masked]>
Date: Fri, 1 Nov 2013 17:19:25 +0100

On Fri, Nov 1, 2013 at 4:56 PM, Cullen Jennings <[email-masked]> wrote:
>
> On Nov 1, 2013, at 9:14 AM, Emil Ivov <[email-masked]> wrote:
>
>> On Fri, Nov 1, 2013 at 3:27 PM, DRAGE, Keith (Keith)
>> <[email-masked]> wrote:
>>>
>>> That ownership means they are also take responsibility for any of the liabilities arising
>>> from defective code they so distribute. I see no reason why Cisco would want to do
>>> that under anything but a controlled evironment, which would have its own set of
>>> non-trivial costs.
>>
>> They could have the same by distributing x264 binaries that they have
>> compiled by themselves.
>>
>> One of the things in the Cisco grand, that sound a bit incoherent to
>> me is their declared will on building a healthy open source community
>> around their implementation. Specifically, what baffles me is that
>> there is already a very well oiled implementation that does a lot more
>> than just baseline. That implementation already has a vibrant
>> community, significant popularity and, again, it sounds like it would
>> be considerably superior to what Cisco are planning on rolling out in
>> OpenH264.
>>
>> In addition to wondering at the pure waste of resources (with a casual
>> reference to NIH), potential contributors could legitimately ask "why
>> would we contribute to your project when you made the exact opposite
>> choice when faced with the decision?".
>>
>> Emil
>
> We considered just using x264 (I like x264 myself) that but Mozilla told us it would not work for them because it is GPL.

It would be nice for Mozilla to comment then. They wouldn't have been
required to statically link against it or even distribute it. It is
already possible to use GPL plug-ins with Firefox, so why is x264 an
insurmountable problem?

Emil

-- 
https://jitsi.org

---

From: cowwoc <[email-masked]>
Date: Fri, 01 Nov 2013 12:24:40 -0400

> already possible to use GPL plug-ins with Firefox, so why is x264 an

Can I dynamically link x264 against my proprietary application without 
having to GPL it? If not, that's a non-starter. Similarly, what do I 
under iOS where I am forced to statically link?

Whatever solution we end up with has to enable closed-source non-browser 
applications to act as WebRTC peers. This approach sounds like a 
non-starter to me.

Gili

---

From: Max Jonas Werner <[email-masked]>
Date: Fri, 01 Nov 2013 17:35:20 +0100

On 01.11.2013 17:24, cowwoc wrote:
> having to GPL it?

Actually no: https://www.gnu.org/licenses/gpl-faq.html#LinkingWithGPL

That's why the LGPL (that poses other risks, though) exists.

Max

---

From: "Olle E. Johansson" <[email-masked]>
Date: Fri, 1 Nov 2013 17:36:50 +0100

> already possible to use GPL plug-ins with Firefox, so why is x264 an
Emil. If you take x264 and link into Jitsi you will have to pay license fees to MPEG-LA.

If you let the Jitsi users download the codec binary from Cisco and use the plugin API which will 
be defined by the OpenH264 community you don't have to pay any license fees. Cisco will.

It's all about the money. Make sure you join that API discussion so you can use it in Jitsi.
I would like that. :-)

The same applies to Mozilla/Firefox.
/O

---

From: Emil Ivov <[email-masked]>
Date: Fri, 1 Nov 2013 17:51:44 +0100

Hey Olle,

> be defined by the OpenH264 community you don't have to pay any license fees. Cisco will.

My question was: why not have users download x264 binaries from Cisco.
Basically, nothing changes from the current Cisco suggestion, except
for where the source code comes from.

Emil

-- 
https://jitsi.org

---

From: Richard Barnes <[email-masked]>
Date: Fri, 1 Nov 2013 13:01:51 -0400

IIUC, by providing a BSD implementation, developers will be able to build
the library directly into their apps, if they're willing to accept the
MPEG-LA restrictions.  This could be helpful for developers who are willing
to pay the license fees, or who are too small to be required to pay the
license (think I had head 100k users).  The BSD licensed implementation
means that those developers don't have to either (1) bother with the Cisco
song and dance or (2) worry about GPL restrictions.

--Richard

On Fri, Nov 1, 2013 at 12:51 PM, Emil Ivov <[email-masked]> wrote:

> >>> We considered just using x264 (I like x264 myself) that but Mozilla
> told us it would not work for them because it is GPL.
> >>
> _______________________________________________
> rtcweb mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/rtcweb
>

---

From: Daniel-Constantin Mierla <[email-masked]>
Date: Fri, 01 Nov 2013 18:03:42 +0100

> That's why the LGPL (that poses other risks, though) exists.
GPL constraints about open sourcing are for the case when distributing 
the application. You can link anything you want with gpl code and you 
don't have to make the sources available if you don't distribute your 
application.

I think that Emil wanted to say that we, users, don't distribute web 
browsers, we just use them.

Then, if I got it right, no browser will link against the h264 plugin. 
That will be loaded at user will (eventually), by downloading on demand 
from cisco site.

So I, as user, I take Firefox from Mozilla site, then when I need to do 
webrtc, my browser will download (first time) and use the h264 plugin. 
Because I don't distribute further the two, I don't see any restriction 
from gpl here. That's my understanding.

Daniel

-- 
Daniel-Constantin Mierla - http://www.asipto.com
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Kamailio Advanced Trainings - Berlin, Nov 25-28
   - more details about Kamailio trainings at http://www.asipto.com -

---

From: Martin Thomson <[email-masked]>
Date: Fri, 1 Nov 2013 10:08:19 -0700

On 1 November 2013 10:03, Daniel-Constantin Mierla <[email-masked]> wrote:
> Because I don't distribute further the two, I don't see any restriction from
> gpl here. That's my understanding.

I think that you should read the GPL again and maybe consult a lawyer.
 It is my understanding that this would expose the browser to the GPL
copyleft terms.

p.s., why is my spell checker OK with the non-word "copyleft", but not
OK with the acronym "GPL" ...

---

From: Emil Ivov <[email-masked]>
Date: Fri, 1 Nov 2013 18:15:15 +0100

> song and dance or (2) worry about GPL restrictions.

True, but both (1) and (2) would be possible with x264. What you gain
with the BSD license is the possibility to distribute it yourself with
non-GPL compatible code, in which case however you lose the Cisco
grant on the patent anyway.

Emil

--
https://jitsi.org

---

From: Richard Barnes <[email-masked]>
Date: Fri, 1 Nov 2013 13:18:37 -0400

> grant on the patent anyway.

Yes.  There are two, orthogonal benefits of the Cisco proposal:
1. Save on coding: Source code you can use in any way (even
GPL-incompatible), but you have to pay
2. Save on licenses: Binary code you can use in download-from-Cisco
pattern, and Cisco pays

---

From: Emil Ivov <[email-masked]>
Date: Fri, 1 Nov 2013 18:18:44 +0100

> I think that you should read the GPL again and maybe consult a lawyer.

We may both need to do this but that doesn't mean we can't have a
(supposedly) informed opinion without consulting ;)

>  It is my understanding that this would expose the browser to the GPL

It is my understanding that this would have happened if they were to
distribute x264 together with the browser, which is not the case here.

There are already a number of Firefox plugins out there that are
distributed under GPL. Surely you are not saying that FF could somehow
get in trouble for being able to run those?

Emil

--
https://jitsi.org

---

From: "Olle E. Johansson" <[email-masked]>
Date: Fri, 1 Nov 2013 18:21:34 +0100

On 01 Nov 2013, at 18:03, Daniel-Constantin Mierla <[email-masked]> wrote:

> GPL constraints about open sourcing are for the case when distributing the application. You can link anything you want with gpl code and you don't have to make the sources available if you don't distribute your application.
> 
> I think that Emil wanted to say that we, users, don't distribute web browsers, we just use them.
> 
> Then, if I got it right, no browser will link against the h264 plugin. That will be loaded at user will (eventually), by downloading on demand from cisco site.
> 
> So I, as user, I take Firefox from Mozilla site, then when I need to do webrtc, my browser will download (first time) and use the h264 plugin. Because I don't distribute further the two, I don't see any restriction from gpl here. That's my understanding.

I don't think GPL agrees with that. GPL applies at runtime, not only when building the app. THe FAQ on the link above says

"Linking ABC statically or dynamically with other modules is making a combined work based on ABC. Thus, the terms and conditions of the GNU General Public License cover the whole combination."

"If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of both the main program and the plug-ins. This means the plug-ins must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.

If the program dynamically links plug-ins, but the communication between them is limited to invoking the ‘main’ function of the plug-in with some options and waiting for it to return, that is a borderline case."

/O

---

From: Lorenzo Miniero <[email-masked]>
Date: Fri, 1 Nov 2013 18:28:27 +0100

Il giorno Fri, 1 Nov 2013 17:19:25 +0100
Emil Ivov <[email-masked]> ha scritto:

> >>> That ownership means they are also take responsibility for any of
> >>> the liabilities arising from defective code they so distribute. I
> >>> see no reason why Cisco would want to do that under anything but
> >>> a controlled evironment, which would have its own set of
> >>> non-trivial costs.
> >>
> >> They could have the same by distributing x264 binaries that they
> >> have compiled by themselves.
> >>
> >> One of the things in the Cisco grand, that sound a bit incoherent
> >> to me is their declared will on building a healthy open source
> >> community around their implementation. Specifically, what baffles
> >> me is that there is already a very well oiled implementation that
> >> does a lot more than just baseline. That implementation already
> >> has a vibrant community, significant popularity and, again, it
> >> sounds like it would be considerably superior to what Cisco are
> >> planning on rolling out in OpenH264.
> >>
> >> In addition to wondering at the pure waste of resources (with a
> >> casual reference to NIH), potential contributors could
> >> legitimately ask "why would we contribute to your project when you
> >> made the exact opposite choice when faced with the decision?".
> >>
> >> Emil
> >

Maybe because it is already available and compared. Announcements and
claims work much better when you don't have to actually show anything.

Lorenzo

---

From: Lorenzo Miniero <[email-masked]>
Date: Fri, 1 Nov 2013 18:29:08 +0100

On Fri, 1 Nov 2013 13:18:37 -0400

> 2. Save on licenses: Binary code you can use in download-from-Cisco

How is 1. a benefit exactly? I can already do that with other codecs for free.

Lorenzo

-- 
Lorenzo Miniero, COB

Meetecho s.r.l.
Web Conferencing and Collaboration Tools
http://www.meetecho.com

---

From: Richard Barnes <[email-masked]>
Date: Fri, 1 Nov 2013 13:30:38 -0400

> How is 1. a benefit exactly? I can already do that with other codecs for

Meant it was a benefit relative to the prior state for H.264, since x264 is
GPL (don't know if there are others).

--Richard

---

From: Daniel-Constantin Mierla <[email-masked]>
Date: Fri, 01 Nov 2013 18:38:56 +0100

> "If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, which must be treated as an extension of bot…

Again, the key term here is distribution. I, as user, I don't distribute 
them. Mozilla, as developer, doesn't link against h264 plugin nor 
distributes it. Same with cisco, they don't link h264 plugin against 
firefox, nor distribute firefox.

Now, I, as a user, mix the two, which may result in a combination that 
has to be gpl (if plugin or browser is gpl), but only in my house. So, 
as long as I keep it here, don't give the two combined away, no GPL can 
be enforced.

I agree a specialized lawyer can be more accurate and my understanding 
of GPL might not be the best one. But if it is what you say, I have a 
dozen a folks I know they have private modules for Kamailio, Asterisk 
and other GPL project. We will have lots of features in the next 
releases if we can force them to publish their extensions though GPL :-)

Daniel

---

From: Martin Thomson <[email-masked]>
Date: Fri, 1 Nov 2013 10:53:40 -0700

> get in trouble for being able to run those?

I think that the only rational response is this:

IANAL

More to the point: IANAJ.