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 theres 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: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
