[XviD-devel] it doubts...

Christoph Lampert xvid-devel@xvid.org
Fri, 20 Sep 2002 10:47:43 +0200 (CEST)


On Fri, 20 Sep 2002, peter ross wrote:
> what about software which dynamically calls the main() function,
> must they too be GPL?!? i do agree with everyone; only gpl'd
> applications should be able to utilize xvid. but we should not
> restrict people using xvid with commerical apps.

It's not _us_ who restrict the use of XVID in this way, it's the
license. A while ago there was the discussion whether XVID should be
LGPL or GPL. In the end GPL won and this is the consequences. Every
library under GPL has this problem, and it's intentional, because if the
library is really good (like XVID), it "forces" developers of calling
applications to GPL their software, too, or not to use the library in
question which leads to a worse program. 

This discussion has be fought several time: 
http://www.gnu.org/licenses/why-not-lgpl.html
(I don't say I agree to Stallman's points, but it's the reference
document). 

What we should _not_ do is create our own license allowing to call main().
Since it's allowed to modify XviD and redistribute, main() could be any
function they want. The minute we leave GPL, we cannot user other people's
GPL code anymore, and other GPL project couldn't use ours. 

Maybe what we could do is put decoder under LGPL and encoder under GPL. 
That somehow logical, because the decoder part is not that unique. Other
libraries can do the same job, so nobody will GPL it's program just to
support XVID decoding. But it would be kind of strange, too... 


_Or_ what we could do is leave everything as it is and simply ignore that
everybody (not me) is violating the license in this point until somebody
tries to make money out of it. 

gruel



> windows provides an api for accessing video codecs based on fourcc,
> there is no direct linkage taking place (well, it is perform in the
> msvfw32.dll). i think our official statement to such requests should be:
> 
>   to use xvid encoder/decoding functionality within a non-gpl'd
>   software application you may the video-for-windows api. To obtain
>   a reference/handle to the xvid, you may ONLY use the ICOpen()
>   function and request a 'vidc/XVID' compatibile codec. e.g.

No.

>   handle = ICOpen(ICTYPE_VIDEO,
>                   mmioFOURCC('X','V','I','D'),
>                   ICMODE_DECOMPRESS);
> 
>   statically or dynamically linking to xvid is not permitted under the
>   terms of the gpl license. this prevnts you from calling DriverProc()
>   directly, or the using the ICOpenFunction().

No.