[FFmpeg-cvslog] r9601 - trunk/libavcodec/mpegidct.c

Diego Biurrun diego
Thu Jul 12 15:05:17 CEST 2007


On Thu, Jul 12, 2007 at 03:16:47AM +0200, Michael Niedermayer wrote:
> 
> On Thu, Jul 12, 2007 at 01:37:32AM +0200, Diego Biurrun wrote:
> > On Thu, Jul 12, 2007 at 02:09:28AM +0300, Ivan Kalvachev wrote:
> > > 2007/7/12, Ivan Kalvachev <ikalvachev at gmail.com>:
> > > > 2007/7/12, Diego Biurrun <diego at biurrun.de>:
> > > > > On Thu, Jul 12, 2007 at 12:01:21AM +0200, iive wrote:
> > > > > >
> > > > > > Log:
> > > > > > Inport the original intiger IDCT from MPEG2 reference decoder.
> > > > > > It passes IEEE1180 requirements.
> > > > > >
> > > > > > --- (empty file)
> > > > > > +++ trunk/libavcodec/mpegidct.c       Thu Jul 12 00:01:21 2007
> > > > > > @@ -0,0 +1,211 @@
> > > > > > +/* idct.c, inverse fast discrete cosine transform                           */
> > > > > > +
> > > > > > +/* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. */
> > > > > > +
> > > > > > +/*
> > > > > > + * Disclaimer of Warranty
> > > > > > + *
> > > > > > + * These software programs are available to the user without any license fee or
> > > > > > + * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims
> > > > > > + * any and all warranties, whether express, implied, or statuary, including any
> > > > > > + * implied warranties or merchantability or of fitness for a particular
> > > > > > + * purpose.  In no event shall the copyright-holder be liable for any
> > > > > > + * incidental, punitive, or consequential damages of any kind whatsoever
> > > > > > + * arising from the use of these programs.
> > > > > > + *
> > > > > > + * This disclaimer of warranty extends to the user of these programs and user's
> > > > > > + * customers, employees, agents, transferees, successors, and assigns.
> > > > > > + *
> > > > > > + * The MPEG Software Simulation Group does not represent or warrant that the
> > > > > > + * programs furnished hereunder are free of infringement of any third-party
> > > > > > + * patents.
> > > > > > + *
> > > > > > + * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware,
> > > > > > + * are subject to royalty fees to patent holders.  Many of these patents are
> > > > > > + * general enough such that they are unavoidable regardless of implementation
> > > > > > + * design.
> > > > > > + */
> > > > >
> > > > > This is clearly non-free.  What were you thinking ?!?
> > > >
> > > > My mistake. I thought it is public domain.
> > > 
> > > At least 2 other GPL project use same routine and have same header in it.
> > > http://cvs.xvid.org/cvs/viewvc.cgi/xvidcore/src/dct/idct.c?view=log
> > 
> > Which one is the second?
> 
> libmpeg2 has a file which seems derived from it, some comments are identical
> if you ignore whitespace
> it has walken as author and GPL header ...
> 
> mpeg4ip has it with MPL license header
> 
> iam sure you can find more if you try ...

> could someone explain me the reasons behind this overreaction?

I don't think this is an overreaction.  Committing non-free code that
renders FFmpeg non-distributable is about the worst abuse of commit
privileges I can imagine.

> it doesnt seem other projects share your interpretation of the license

I would rather think that they don't give a damn.  In any case they are
wrong, wrong, wrong.

So how do we interpret this license statement?  Easy, first we define
what we need, the four freedoms:

0) The freedom to run the program, for any purpose.
1) The freedom to study how the program works, and adapt it to your needs.
2) The freedom to redistribute copies so you can help your neighbor.
3) The freedom to improve the program, and release your improvements
   to the public, so that the whole community benefits.

None of these are in any way automatic, they have to be stated
explicitly, since all copyrighted material reserves these rights.
Some fair use exceptions might apply, but this is not what we are
after, we need more than fair use exceptions.

Now that we know what we are looking for, let us analyze the license text:

  /* Copyright (C) 1996, MPEG Software Simulation Group. All Rights Reserved. */

This is a very clear statement.  The file is copyrighted and all rights
are reserved so none of the four freedoms are granted to us.  (Maybe you
understand now why I shrink away from the "All rights reserved." phrase.)

  /*
   * Disclaimer of Warranty
   *
   * These software programs are available to the user without any license fee or
   * royalty on an "as is" basis.  The MPEG Software Simulation Group disclaims
   * any and all warranties, whether express, implied, or statuary, including any
   * implied warranties or merchantability or of fitness for a particular
   * purpose.  In no event shall the copyright-holder be liable for any
   * incidental, punitive, or consequential damages of any kind whatsoever
   * arising from the use of these programs.

Read: You did not have to pay for this software and you may use it as it
was provided by you.  However, there are no guarantees that it will
perform as you think it will or as we think it will.  If you use it for
some important purpose and lose a lot of money, don't come whining to
us, we told you it was at your own risk.

   * This disclaimer of warranty extends to the user of these programs and user's
   * customers, employees, agents, transferees, successors, and assigns.

Read: We will not be held responsible, not by you, nor your friends,
partners, family or your cat.

   * The MPEG Software Simulation Group does not represent or warrant that the
   * programs furnished hereunder are free of infringement of any third-party
   * patents.

Read: Patents from third parties may apply, you have been warned, make
sure you don't violate them on your own.

   * Commercial implementations of MPEG-1 and MPEG-2 video, including shareware,
   * are subject to royalty fees to patent holders.  Many of these patents are
   * general enough such that they are unavoidable regardless of implementation
   * design.

Read: You need to pay patent fees if you use this commercially and you
have just been informed of this fact.

So in summary, none of freedoms 1-3 have been granted implicitly or
explicitly.  Freedom 0 is never granted explicitly and I would argue
that it is not even granted implicitly.  But this is irrelevant, the
license is very clearly non-free even if you interpret it in a way that
would grant freedom 0.

Diego




More information about the ffmpeg-cvslog mailing list