You are viewing a plain text version of this content. The canonical link for it is here.
Posted to general@xmlgraphics.apache.org by Cameron McCormack <ca...@mcc.id.au> on 2006/08/27 10:51:55 UTC

Public domain code

Hi again.

I came across a public domain animated GIF decoder[1] (the LZW patents
have expired world-wide now, right?).  If I wanted to include this with
Batik, should I compile it and stick it in a jar file?  Or should it be
included as source?  (Or is it at my discretion?)

Incidentally it turns out that the Theora decoding part of the Cortado
applet, jheora, is LGPL, so it looks like there’s still scope for it to
be used as an optional download.

Thanks,

Cameron

[1] http://www.fmsware.com/stuff/GifDecoder.java

-- 
Cameron McCormack, http://mcc.id.au/
	xmpp:heycam@jabber.org  ▪  ICQ 26955922  ▪  MSN cam@mcc.id.au

---------------------------------------------------------------------
Apache XML Graphics Project URL: http://xmlgraphics.apache.org/
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org


Re: Public domain code

Posted by Cameron McCormack <ca...@mcc.id.au>.
Jeremias Maerki:
> 1. the LZW patent
…
> A question for you to derive from this is: Is it worth entering a zone
> of uncertainty to support a basically obsolete format?

Probably not.  I was just looking for an easy animated image format to
use as a first format for 'video' elements.

> Personally and with my PMC chair hat on, I'd not add any LZW-related
> code to software at the ASF without first having received a go by the
> ASF's legal council. Alternatively, you can access all subimages of an
> animated GIF through ImageIO which effectively shields Batik against the
> patent. Of course, it means that you only get support for animated GIF
> on J2SE >=1.4. But would that be so bad?

Ah I might just use that then.

> Interesting links:
> http://burnallgifs.org/archives/
> http://en.wikipedia.org/wiki/GIF
> http://www.unisys.com/about__unisys/lzw

According to that last link, the relevant patents have indeed all
expired.

> 2. the GIF format
> 
> Personal opinion: Don't use GIF, use PNG (or TIFF withut LZW). Burn all
> GIFs! :-)
> Problem: PNG does not (directly) support multiple images. MNG and APNG
> are possible solutions but they are not very popular. :-(
> 
> Links:
> http://www.libpng.org/pub/mng/
> http://www.vlad1.com/~vladimir/projects/apng/

After 30 seconds Googling, the best I could find was LGPL MNG
implementations.  If there were some usable Java implementation I would
just go with that instead of GIF.  I’m just looking for the easiest way
to get a simple animated image format.

> 3. GifDecoder.java
> 
> Kevin Weiner puts the class in the public domain. Ok so far, but what
> about this: "LZW decoder adapted from John Cristy's ImageMagick."
> ImageMagick is GPL so you could argue that Kevon Weiner is not even
> allowed to remove the GPL even if he rewrote the code in Java from code
> in ImageMagick. The reason I say this: The developers of GNU Classpath
> and Harmony have very strict rules about how the software is to be
> implemented. Nobody is allowed to work on the two projects who is
> "tainted by the source code of the Sun J2SE implementation". You may not
> look into the Sun J2SE source code when you're working on either GNU
> Classpath or Harmony.
> 
> I see a big question mark here which needs to be reviewed by the ASF's
> legal council. I don't give my go on this class just like that. It's too
> suspect. Sorry, Cameron.

Ok, fair enough.

> Links:
> http://www.imagemagick.org/script/index.php
> 
> 4. Using public domain code
> 
> If some source code is in the public domain and safe to use (legally,
> see 3 above), then generally it is possible to include the source code
> in our repository provided that the origin and legal info is properly
> documented. I think some info would have to end up in the NOTICE file.
> Reminds me that I have to add a few things to FOP's NOTICE file.
> 
> Here's what HTTPD does: http://svn.apache.org/repos/asf/httpd/httpd/trunk/NOTICE

Acknowledged.

I’ll try the imageio route for now.

-- 
Cameron McCormack, http://mcc.id.au/
	xmpp:heycam@jabber.org  ▪  ICQ 26955922  ▪  MSN cam@mcc.id.au

---------------------------------------------------------------------
Apache XML Graphics Project URL: http://xmlgraphics.apache.org/
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org


Re: Public domain code

Posted by Jeremias Maerki <de...@jeremias-maerki.ch>.
Hmm, there are several things we have to look at:

1. the LZW patent

Yes, it is expired at least in North America and Europe. Info about
patents in other countries is scetchy. That leaves a lingering
uncertainty around the LZW algorithm and usually it's a good idea to
just ignore this algorithm alltogether especially since there are better
alternatives.

A question for you to derive from this is: Is it worth entering a zone
of uncertainty to support a basically obsolete format?

Personally and with my PMC chair hat on, I'd not add any LZW-related
code to software at the ASF without first having received a go by the
ASF's legal council. Alternatively, you can access all subimages of an
animated GIF through ImageIO which effectively shields Batik against the
patent. Of course, it means that you only get support for animated GIF
on J2SE >=1.4. But would that be so bad?

Interesting links:
http://burnallgifs.org/archives/
http://en.wikipedia.org/wiki/GIF
http://www.unisys.com/about__unisys/lzw

2. the GIF format

Personal opinion: Don't use GIF, use PNG (or TIFF withut LZW). Burn all
GIFs! :-)
Problem: PNG does not (directly) support multiple images. MNG and APNG
are possible solutions but they are not very popular. :-(

Links:
http://www.libpng.org/pub/mng/
http://www.vlad1.com/~vladimir/projects/apng/

3. GifDecoder.java

Kevin Weiner puts the class in the public domain. Ok so far, but what
about this: "LZW decoder adapted from John Cristy's ImageMagick."
ImageMagick is GPL so you could argue that Kevon Weiner is not even
allowed to remove the GPL even if he rewrote the code in Java from code
in ImageMagick. The reason I say this: The developers of GNU Classpath
and Harmony have very strict rules about how the software is to be
implemented. Nobody is allowed to work on the two projects who is
"tainted by the source code of the Sun J2SE implementation". You may not
look into the Sun J2SE source code when you're working on either GNU
Classpath or Harmony.

I see a big question mark here which needs to be reviewed by the ASF's
legal council. I don't give my go on this class just like that. It's too
suspect. Sorry, Cameron.

Links:
http://www.imagemagick.org/script/index.php

4. Using public domain code

If some source code is in the public domain and safe to use (legally,
see 3 above), then generally it is possible to include the source code
in our repository provided that the origin and legal info is properly
documented. I think some info would have to end up in the NOTICE file.
Reminds me that I have to add a few things to FOP's NOTICE file.

Here's what HTTPD does: http://svn.apache.org/repos/asf/httpd/httpd/trunk/NOTICE

On 27.08.2006 10:51:55 Cameron McCormack wrote:
> Hi again.
> 
> I came across a public domain animated GIF decoder[1] (the LZW patents
> have expired world-wide now, right?).  If I wanted to include this with
> Batik, should I compile it and stick it in a jar file?  Or should it be
> included as source?  (Or is it at my discretion?)
> 
> Incidentally it turns out that the Theora decoding part of the Cortado
> applet, jheora, is LGPL, so it looks like there’s still scope for it to
> be used as an optional download.
> 
> Thanks,
> 
> Cameron
> 
> [1] http://www.fmsware.com/stuff/GifDecoder.java


Jeremias Maerki


---------------------------------------------------------------------
Apache XML Graphics Project URL: http://xmlgraphics.apache.org/
To unsubscribe, e-mail: general-unsubscribe@xmlgraphics.apache.org
For additional commands, e-mail: general-help@xmlgraphics.apache.org