Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
News

GD Graphics Library withdrawn 161

Wacko writes "The gd library, which allows on-the-fly creation of GIF files, has been withdrawn due to copyright problems. They say they may release another version in the future, but would either need to remove LZW compression algorithm or charge for the library. " Mmmm...patents & copyright laws, oh my!
This discussion has been archived. No new comments can be posted.

GD Graphics Library withdrawn

Comments Filter:
  • It's always bothered me why there wasn't a lightweight JPEG producing engine like there is with GD for GIFs.

    Encoding an image with JPEG involves a fairly complex mathematical process, which is relatively CPU intensive. It's not really possible to produce a "lightweight" JPEG compressor. Having said that, with the speed of modern CPUs, it doesn't need to be particularly lightweight, and such a library could now be feasibly produced. However, the sort of images that can be dynamically produced don't tend to lend themselves to JPEG anyway...

  • No. GIF is not patented. LZW compression is. Please understand issues before commenting on them.

    Also please note that PNG cannot do animations (yet).

  • Now that IS scary. Maybe it's time to get Aladdin's view on this. The current (5.50) version of gs is scheduled to become GPLd soon and I'd hate to see anything mess that up.
  • If your server's dead, how are they going to run rm?

    Seriously, though, I doubt Unisys cares about individual users.
  • I don't understand how distributing source code can be in violation of their patent. I got my GIF code from a book that I bought at Borders (Graphics File Formats, John Levine). There were no patent lawyers standing around making sure I didn't read the book without a license. That was a few years ago (1994?) but the book is still available. I don't use that code any more, for fear of being sued, but I still have the book, and I probably have the source ZIPped somewhere in some directory. And nowdays GIF r/w code is easy to find on the web.

    Isn't providing source code basically the same as providing the algorithm? Doesn't one describe the other? Can they prevent people from knowing how LZW works? It should only be an issue when someone chooses to use the compiled source.

    But, I will not fault gd here, I have too much riding on their GIF/RLE code...
  • Maybe Rob can add checks to the scripts for Slashdot, and use PNGs for browsers that support them.

    No, no, no. He should just switch to PNG, and say "If you want to see the little icons, get a better web browser." No browser-checking conditional stuff.

    BTW, I don't know about IE, but Netscape Communicator 4.04 (which I'm using at this moment) does not support PNGs, and I figure Netscape 4.x counts as one of the "Big two". If IE supports it, then sites switching to PNG will result in even more pressure on Netscape to update their browser to at least 1995 technology. Heck, Amiga Mosaic 1.0 handled PNG just fine. :-)


  • Question is, does
    Cricket [munitions.com] use GDlib?

    The Dodger

  • The Welch LZW patent [ibm.com] expires in 2002.

    Until then, there's always civil disobedience.

  • Hell, that's going to annoy a lot of people...
    --
    "The use of COBOL cripples the mind.
    Its teaching, therefore, should be
  • There's something strange about that decision; maybe someone at Slashdot should ask someone at Boutell for a statement. Consider : Wusage outputs GIFs - in fact, it appears to have the GD library statically linked. One would think Boutell either does have a license from Unisys to distribute GIF code with Wusage - in which case one would expect that they would have been clear on what the score is with respect to GIF,RLE and LZW copyright and/or patent issues for some time now - or they do not, in which case why discontinue GD but keep distributing Wusage (or MapEdit, which reads GIFS...) So; what brought this on ? Inquiring minds want to know.
  • > 1. Is this LZW compression the same compression
    > used in the unix "compress" command?

    It's related, anyway. Patent problems are among the reasons that the GNU folks created gzip as a replacement for compress.

    > If Unisys failed to defend their
    > patent/copyright (does anyone know the facts
    > regarding what rights they have to LZW?) for so
    > long, wouldn't it have lapsed?

    They have a patent on the algorithm, and were essentially licencing the patent for free, not failing to defend it outright. It wasn't until LZW started getting widely used that they decided to yank the rug out from under everyone and start charging money.

    > 3. Who do we email at Unisys to complain about
    > this?

    You don't. This has been going on a long time now, and a lot of people have been complaining. It seems that as long as they get their money, they don't give a shit what happens the rest of the world.
    ---
  • >Also please note that PNG cannot do animations (yet).

    This is a good thing IMHO. GIF animations are almost as annoying as the dreaded BLINK tag. Just imagine a web without annoying flashing banners assaulting your eyes (at least until the page completely loads and you can hit escape).
  • No. But distracting animations on web pages are evil, so this is another good reason to use PNG instead of GIF.
  • UNISYS tried charging for GIF what, 5 years ago? At that time (after almost the entire world went up in arms over it), they said they'd retain the patent on LZW, but not charge for non-commercial use or something like that. I can understand pulling it for non-free reasons, but what prompted pulling GD right now?
  • "We are pleased to be able to bring you a new version of gd. Version 1.6 completely replaces GIF images with PNG images. Please note that you will need to make code modifications to use version 1.6. This should be straightforward. Both major web browsers and many less popular tools support PNG in their recent versions. PNG also produces highly compressed images. Version 1.6 produces palette-based PNG images only; however, version 2.0 will support truecolor, and also JPEG. We are also in the process of reevaluating the RLE-based compression used to make LZW-compatible GIFs in gd version 1.3."

    'nuff said...
  • wouldn't it be possible to write out gif files
    without using LZW compression? I don't know the details of LZW - is it possible to just write the "obligatory" escape codes and output the stream in raw format?

    Although the files will grow considerably in size, it'd be better than nothing!
  • ...no telling what you might catch from them....
  • I was a bit confused, but a part of what I was thinking was that several files at once could be stuffed into the same container. This could allow animation, e.g. And they wouldn't really all need to be graphics (although synching up the sound is probably a whole other problem -- still, once it was there it would be something to buid from).
  • Uhh, what is a gamma channel? Gamma is traditionally associated with color calabration in computer graphics. However it is always applied as a single function over an entire image, meaning there is no need for a channel. Am I missing something?
  • Doesn't Cserve own the GIF patent still? (And IIRC it could apply to any program that -views- GIF files, not just creating them. But they have failed to enfore for so long.... Maybe the same thing will happen to creation sometime soon.

    Or maybe we should write a GD library replacement that uses JPG...
    /*He who controls Purple controls the Universe. *
  • yes, but i have to leave that unselected for all windows, so that if i want images in one window, and not others, i have to load them every time i load a page. I should be able to set the auto-load window by window
  • This doesn't surprise me. It appears that UNISYS is bound and determined to end GIF as a graphics file format. GD should go PNG and be done with it. This bit of news is probably a great reason to do so.
    --
    "All that is visible must grow and extend itself into the realm of the invisible."
  • Ok, well, Communicator 4.5 and later apparently do. So, that's something, I guess...
  • Why bother with GIF when you can use PNG, or JPEG, both of which are a lot nicer, and are not patented/license restricted.
  • Actually, IE has supported PNG since the beta versions of 4.0. It doesn't support alpha, true, but you can get PNGs to load via the tag, which was more than you could say for netscape at the time (IIRC, during the 4.0 beta perios, Netscape said they wouldn't support png natively, leaving people to write plug-ins. Gee, thanks for the extra work in writing pages, guys.)

    If you've got pngs that cause IE to blow up, you've either found some kind of IE bug or are using a feature it doesn't support. Maybe you should tell the IE team so they can fix it.
  • PNG offers better compression and features than GIF, and doesn't have the legal problems. The modern browsers all support it too. There's really little reason to even want to use GIF.
  • You've got the code to GD still.
    I've got it on at least 5 CD's here in my office.

    Hopefully MRTG switches to some other library in the future - and hopefully something without GIF.

    In the mean time, screw 'em.

    The software you have still works. Enjoy it.
  • People have been saying this for years. Some web browsers were supporting PNG back in '95 before the spec was even finalized. The problem is that the "big two" browsers don't (or at least they haven't until recently; I might be out of date). For some stupid reason, people keep using the "big two" web browsers, even though they're so functionally challenged.

    One way to improve the situation is for web authors to just start using it, regardless of what browsers support it. So many of them are willing to deviate from HTML or put "For best results, use browser X" on their wages, so why not do it for a good reason for a change? Why is Slashdot, of all places, still using GIFs?

  • by Anonymous Coward
    LZW is patented, so if it generates the same output, then it likely violates the patent. I'm quite sure the patent claims for LZW are loose enough to cover most similar algorithms that could possibly generate the same output too.

    Patents aren't like copyrights. If it had been just a copyright, then it would be enough to rewrite it independently. But for patents, whether or not you create it independently is completely irellevant.

  • by Frater 219 ( 1455 ) on Thursday July 15, 1999 @04:57AM (#1801347) Journal
    Instead of continuing to use the old, limited, patent-encumbered GIF format, you should consider using PNG. PNG is a free (speech) format which offers the benefits of GIF without the drawbacks.

    Like GIF, PNG offers lossless compression: you won't find the ugly square artifacts you get in JPEGs. However, PNG also offers a wider range of bit depths (1-bit through 24-bit), an alpha channel, and gamma information.

    (For those who don't know: An alpha channel is a fourth number attached to each pixel, alongside the red, green, and blue values. It tells how transparent that pixel is to be considered. Most browsers and graphics tools don't support alpha yet, but they will. Gamma information helps different computers, with different display characteristics, render an image in the same real-world colors.)
  • I use GD as a lightweight portable drawing system and never encode a GIF or read a GIF. (I encode as jpeg usually, too many old non-png browsers around.) There just doesn't seem to be an alternative around. GGI is not portable to windows or mac, X is huge and not easily portable. I need something I can tack on to my programs to draw a JPEG or PNG so I can show the user a graph or picture or whatnot.
    You can see over at the Public 8-Ball [slashdot.org] that I create my queue position messages with GD and then JPEG encode the frame buffer for transmission. I don't worry about the CPU speed, 15 frames/second is easy on the PII-266. You can click the how its done [federated.com] picture and find all the source code plus rantings at Unisys.
    Those of you with IE can thank Unisys for making the 8ball unavailable to you. I had realtime animated GIF creation in place for the video, but its too slow without compressing and I don't feel inclined to hire a lawyer and negotiate a license for a license. IE Windows can't handle the mime type for the jpeg movies I use now.
  • Actually, Ghostscript does support PDF distillation (PDF-format writing). I don't know if it tries to use the LZW compression format or not for what it writes (likely not - that'd cause problems with the currently GPL'd version as well, I think). Don't believe me? Do gs -help to see for yourself.
  • THE BEST IDEA IN THE WHOLE THREAD ! ! !
  • Compress uses (appropriately) compression.
    --
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • ... 1.3 is also available at ftp://ftp.cdrom.com/pub/FreeBSD/distfiles/gd1.3.ta r.gz [cdrom.com].

    This really is a catastrophe , although maybe positive in the long run --

    (a) another demonstration of the importance of avoiding patented code / libraries / algorithms;
    (b) an incentive to get people moving to PNGs;
    (c) everyone has it burnt into their brains : BAD Unisys ... BAD Unisys ...

  • So has Boutell just decided to stop distributing GD without any outside interference - i.e. Unisys haven't played any part in causing this decision to be taken?

    How was GD licensed?

    Dodge
  • They can have my GD library when they rm it from my cold dead server!
  • I was thinking that too. How many browsers that provide graphical page display support the PNG format? (i.e., not Lynx o other character-cell browsers) If only enough did, we could throw GIF away forever...
  • Statement from Unisys : http://corp2.unisys.com/LeadStory/lzw faq.html [unisys.com]

    1995 statement from Unisys : http://lpf.ai.mit.edu/Patents/Gif/uni sys.html [mit.edu].

    ? Go figure.

  • Until I find time to patch lynx so that I can launch extra instances from links, I'm not giving up netscape 3. 4.x crash far to often, and don't have features I use, such as alt to go back, and the moronic move of autoloading of images into preferences rather than a per-page option.

    But then, I have no use for graphic, java, and the like, anyway. Just give me the information.
  • We went through this debate months ago on slashdot when the PNG spec was revised and did not include animation.

    They claimed they had the perfect GIF replacement, but apparently not.

    What were they thinking?
  • I have always been told that failing to promptly informing an infringer of a problem will jeopardize any future ability to go after an infringer. All it takes is a letter stating that you think that an infringer is infringing and request that they either stop or enter negotiations to license patent. In the GIF and MP3 cases the patent owners had a lot of time to inform at least some of the infringers so I think that they would have a much harder case in court.

    I'm no expert on patent law, or any kind of law for that matter!
    _________
    flashcommerce.com [flashcommerce.com]

  • How about you make a diff, post it on a web site, and give us a URL to it? Slashdot's comment system is mangling your code.
  • This post was succinct and informative regarding the advantages of PNG (Free, variable bit-depth, lossless), and gave a good, simple, workable explanation of alpha and gamma channels.

    Thanks Frater.

    timothy



  • IE 4.5 does NOT support PNG format, though my Netscape 4.6 does, and I'm sure earlier versions of Netscape, but maybe that's only the linux version.
  • by hawk ( 1151 ) <hawk@eyry.org> on Thursday July 15, 1999 @05:19AM (#1801367) Journal
    They're beyond being evil.

    Using them damns your immortal soul, to a hell in which you are required to use all microsoft products, even bob, enhanced with the paper clip. Your descendants are cursed unto the seventh generation, and your daughters will become first prostitutes, and then meter-maids. Your sons, after siring the next generation, will go to switzerland for removal of optional factory equipment and join your daughters when they return. You will become obsessed with Roseanne Barr, and search the net for porn sites featuring her. You are a bad person, and your mother will deny you.

    There, that's more like it. I don't bother to block ads. I do bother to block anything that blinks.

  • I don't feel inclined to hire a lawyer and negotiate [...] for a license.

    Piece of potentially interesting info for you - I've just been speaking to a guy I know who owns a company which produces software which includes support for the GIF format. They paid a few hundred pounds (one UK pound ~ $1.60; he can't remember exactly how much) for a one-off, lifetime licence for LZW from Unisys.

    If we consider that Unisys probably aren't going to open source LZW, or even licence it on a basis that allows free packages like GD to use LZW, actually talking to Unisys may be the only thing left.

    And it may turn out that things aren't as bad they seem.

    The Dodger

  • No one necessarily is overly worried about JPEG compressing the images overly well - just having some acceptable file format to stuff images into is enough. (preferably one without the LZW encumbrance)
  • Well, GD has support for reading in a GIF image and making modifications to that. I think that may be where the problem is coming in (because you never know when you'll have to read an LZW-compressed GIF image...)
  • You sure? No PNG reported with IE4

    IE4 reports:
    HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/vnd.ms-powerpoint, */*

    NS4 reports:
    HTTP_ACCEPT = image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, image/png, */*
  • The AC is right; you're confusing copyright and trademark. Copyrights protect a specific instance - if I duplicated Disney's images of their cartoon charachters I would infringe their copyright. Trademarks protect the use of a symbol; if I drew Disney's cartoon charachters I would infringe their trademark.
  • by evilpenguin ( 18720 ) on Thursday July 15, 1999 @07:53AM (#1801374)
    I've expressed these ideas elsewhere in slashdot, but the time seems right to "plant the meme" again, so here goes.

    A society needs copyrights and patents. In most fields of human endeavor there are tremdous costs in moving from idea to artifact and patent law helps protect the small innovator from being beat to market by the huge wealthy predator. Patent law (the idea) is good.

    Copyrights protect a specific formulation of an idea (a written work) from direct copy. It does not protect the idea itself which may be reused in an original way. Copyright law is meant to protect writers and artists (and by extension television producers who really do not qualify as either of the above). The extension of copyright to software is, IMHO, imprefect but useful.

    Patents go to hell in the computer field for two reasons:

    1) The granting of patents for ideas which are dubious as to their patentability. I'm thinking here of the company that claims to have a patent on all e-commerce because the made a dial-up system that took sales orders some time in the mid 1980's. To me, this is like me opening a little antique shop and filing a patent on retail stores. Patent law actually has a protection against obvious patents or prior art, so this is a problem with the Patent Office not doing its job, not the law itself.

    2) Rapid obsolescence. A patent lasts far too long in the field of sotware. Most software ideas are not worth anything after just a few years. (LZW may be the exception that proves the rule!).

    My friends, co-workers, and I have gone round and round on patents for software. The concensus seems to be that applying patents to software is, generally, bad. In those few cases where it isn't totally unreasonable (and I think inventing as powerful a form of data compression as LZW could qualify), the term should be much shorter. We kind of thought an 18-month patent would be reasonable. Since patents are meant to prevent a highly-resourced upstart from profiting before a true innovator can get to market and establish him/herself, and since software can be distributed quickly with hardly any resources required, 18 months should allow one to truly profit from a truly original idea and let the rest of us get our hands on it in a reasonable time.

    So, fix the existing patent office and create a new software patent.

    Oh yeah, just to point out patent law has a "FSF-like" goal on the back end. To get a patent one must put all details of an invention down on paper and publish it (in the patent itself). When the patent expires, anyone can read the patent and do what the inventor did. It encourages the sharing of ideas. It's just that software moves so much faster than manufacturing that these patents become an excessive burden on all of us.

    Finally, Boutell himself posted to this thread with the details on why the gd library was pulled. If you are a moderator (and still reading my verbose screed), I encourage you to read his post and consider moderating it up...

  • And not even all new browsers support PNG. IE theoretically does, but both 4 & 5 explode if you try to feed one to it, even though they are supposed to support it. But when did you last believe a MS spec? Can't confirm that every one of the billions of versions of these can't handle it, but enough that you need to worry about it.

    Sure, we should all be using lynx or mozilla, but until I can control the users desktop, that's not much of a solution.

  • From what I understand, IBM has a compeating claim to the Unisys patent, and there are a couple of other people who also claim patents to the LZW compression algorithm. It is just a nasty minefield, and even paying off Unisys won't help to hold off other potential lawsuits.

    And for the folks concerned about this only affecting people in the United States, these patents are protected under the Berne convention and can be prosecuted in Europe as well.
  • I was taking a look at Unisys' LZW statement [unisys.com] and saw this:

    Currently applicable information as to Unisys licensing policies for products using LZW (GIF,
    TIFF-LZW, PostScript, Portable Document Format (PDF), V.42bis, etc.)

    PostScript uses LZW? Does this mean Ghostscript and Ghostview are going to be affected?
  • Netscape 4.5+
    IE 4.0+ (kind of)
    Opera
    Mozilla
    W3C
    Amaya
    Konqueror
    GNOME-help

    ... and there are more, too.

    As for lack of animation support, what percentage of GIFs in the sites you folks visit are animated?
    Of those, what percentage of them actually contribute to the content of the site?

    Of those, what percentage would render the sites useless if they were not animated?

    Lack of animation support is a lame reason not to use PNGs, at least in the majority of cases, where you don't need animation.

    At worst, you can always use GIFs for those specific times when you do really need animation.
    ---
  • > Also please note that PNG cannot do animations
    > (yet).

    That is a reason not to use PNG in cases where you do not need animation?

    ---
  • > Maybe someone could write a *.pnz (.png.gz)

    That wouldn't get you much of anywhere; PNG uses the same compression algorithm as gzip, although it is a little more efficient because it is applied a less general fashion.

    ---
  • No, obviously not. If you read my comment and the comment I was replying to, it should be quite obvious that it was merely a refutation of the other posters point that PNG can do everything GIF can, by providing a counterexample.
  • Far as I know, Navigator/Communicator have supported PNG for most of the 4.x line (if not all). I've heard IE's PNG support is broken though (gee. what a shock.), so I wouldn't trust it.

    Maybe Rob can add checks to the scripts for Slashdot, and use PNGs for browsers that support them. (Ok, that might be worthless, on second thought.)
  • by Anonymous Coward on Thursday July 15, 1999 @05:36AM (#1801385)
    This is an old story. Before Adobe distributed Acrobat for *nix, the webmaster of Unisys promoted the use of xpdf since the Unisys website made heavy use of pdf for their online documents. Despite that, Unisys still insisted on xpdf being crippled by forcing the author into using a work-around [foolabs.com] which has a huge effect on performance.

    Now that they consider LZW profitable, they continue to make their rounds on enforcing their LZW patent ( Patent #4,558,302) [ibm.com]. But they didn't always consider it profitable enough to actually enforce. They sat silent as CompServe promoted the GIF 87 standard as an open and free graphic file format. Two years later when the open & free format was revised to GIF 89 and GIF 89a, Unisys continued to sit silent. It wasn't until 1993 when GIF had taken on popularity due to it's free nature that Unisys choose to actually take action. If they had taken action back before 1990 instead of 6 years after GIF's original introduction then programmers/users looking for a free file format would not have accepted GIF/LZW and would have looked for an alternative. By remaining blind to the most popular computer image format in BBS history, Unisys ensured an entrenched critical mass of patent infrigement to tax. If Unisys had available to it an even dirtier and non-professional method of making a buck, I'm glad I haven't heard about it.

    The League for Programming Freedom has some good information on the GIF Controversy [mit.edu]. And, since there is always two sides to every story, Unisys has written their take [unisys.com] on the issue. This document explains their stand on requiring licensing from EVERYONE including for what they refered to as "so-called 'freeware.'" They also have a special email address [mailto] set aside to answer licensing questions. You may wish to email them to find out more on why they refuse to provide a license which is fair to the "so-called 'freeware'" software developer.

    Fortantly, this form of Unisys terror will come to an end. Libungif provides a work-around while resulting in files larger than a xpm or bmp containing the same image. The Unisys action also hopefully will help further promote the use of PNG. Most users of web browsers that don't support PNG have much more to worry about than PNGs showing up as a broken image--the public keys for the SSL Certificate Authorites in non-PNG supporting web browsers have either expired or will expire shortly. Since SSL doesn't cleanly handle expired CA entries, users of non-PNG supporting web browsers may be open to a masqurade attack. And to bring things to an end once and for all, 20 years from the filing date of June 20, 1983, US Patent 4,558,302 [ibm.com] expires. I suggest that Slashdot mark June 20, 2003 on it's calendar for a party!

  • The FSF site has long had a notice up saying that no GIFs were available due to (copyright? patent? can't remember) issues. While I think that Unisys is not acting as a friend of the community, I can't really feel that this is something new. The appropriate person there probably just didn't notice before that gd used their proprietary compression. FSF decided to switch to png's. Maybe someone could write a *.pnz (.png.gz) or .ptz (.png.tar.gz) tool? (Has to be "someone" cause I don't yet know how.)
  • While PNG doesn't support animation it does meet or beat GIF in all other areas (e.g. color depth, alpha/transparency).

    "Flash" is a good animation format which is supported by most modern browsers. The actual Flash file format is also "open sourced". More info on this at: http://www.macromedia.com/software/flash/open/faq/ contents.html#2
  • Correct. For example, Fredrik Lundh's Python Imaging Library [pythonware.com] can output GIFs (along with a bunch of other formats), but the GIFs are really large because the image data isn't compressed. Apparently at one point he contacted Unisys to ask if he could get a licence for the patent, but Unisys wanted a per-sales fee and reacted uncomprehendingly to the words "free software". If, as another poster claims, Unisys is now accepting a one-time fee for unlimited use, then at least that's a baby step in the right direction.
  • It seems to me that UNISYS are just being anal about people using anything that tastes like LZW, but what I don't understand is why people try to comply with their insane demands...

    There really is no point in jumping through hoops becasue of patents as long as we are talking OpenSource.
    OSS is not subject to patentlaws, as every patent violating line of code can be rolled up in a patch or a lib and placed on a server in the free world where software patents are void.

    Actually putting up a single server with all the patent violating code would be very helpful as the local judge would quickly get used to booting whiney patent-holders out of court:=)

    BTW if anyone starts a patent-violation archive, know this: "Off-site backup is your friend".
  • by Anonymous Coward
    perl -pi -e 's:ANIMEXTS1:ANIMEXTZ1:' ./netscape
    perl -pi -e 's:NETSCAPE2:NOTSCAPE2:' ./netscape

    Kills 'em dead. They animate ONCE and then they
    stop. Death to lame-ass graphics!

    And yes, there are a _few_ good animated GIFs..
    just like there are a few useful Java applets.
    There are just too many BAD ones out there.
  • No, we have no intentions of dropping the GD-support in PHP. PHP has absolutely no LZW, GIF nor libgd code in it. All it has are a set of access functions. If you have libgd.a and the gd include files on your system, PHP will work. We don't care how you get these files and nobody can come after us for anything because we don't distribute them.
  • Nah, GIF animations can be annoying, but if they are annoying, it's more the fault of the designer of the animation than animations themselves.

    Animated GIFs can be used very effectivley : see here [totl.net] for examples.

  • by boutell ( 5367 ) on Thursday July 15, 1999 @06:17AM (#1801393) Homepage
    At last, a really smart question on this thread.
    There's been a lot of clueless commentary about
    copyrights (which are irrelevant).

    We recently received a copy of a message from
    Unisys to a potential academic GD 1.5 user,
    who wanted to enable the LZW_LICENCED option
    in GD 1.5. They were informed that, although
    they would normally be permitted a free
    license for LZW, the use of unauthorized
    source code (GD) would expose them to
    possible legal action.

    We withdrew GD and communicated with Unisys.
    We determined that their license terms would
    not allow free distribution of source code
    for LZW. So we withdrew GD indefinitely until
    an all-JPEG-and-PNG version can be created,
    which shouldn't take long, with the support
    of outside volunteers (that's your cue).

    "So why not just go back to run-length-encoded
    GIF images in GD?"

    Because (a) it's an interesting legal question
    whether anything an LZW decoder can decode
    is an infringement of the patent or not, and
    we don't have a whole lot of dough for legal
    fees; and (b) they are big (although the
    code for generating them is extremely clever
    and I don't mean to criticize the folks at
    Hutchison Software Corporation who came up
    with the stuff).

    "What about decompression?"

    All versions of GD contain GIF decompression
    support. Some people believe the patent does not
    apply to LZW decompression when LZW compression
    is not present. Again, this is subject to legal
    interpretation, and we are a small company
    without a whole lot of dough for legal fees.

    "What about your company's internal use of
    GD in its products?"

    Our products use GD 1.3, on the strength of the
    legal arguments above for RLE compression and
    for decompression in the absence of compression.
    We do this in our own products knowing that
    there are a reasonable number of copies out
    there for which we can afford to accept legal
    responsibility.

    For the general public's use of GD, we can't
    possibly accept potential liability for untold
    zillions of applications.

    So, we are working toward a PNG-and-JPEG,
    100% open-source version of GD, and we invite
    your participation. This will be a version that
    does not expose us to legal risk we can't afford,
    and which produces better-compressed images
    for the end user. I urge everyone following
    the controversy to support this option.
  • Posted by kewlmann:

    I have talked to some people here at Unisys (where I work) about this. They certainly don't see it as a very big issue at all. There idea is that we invented, we can do with it what we want.



    I just want to say that anything here is not representative of company policy. It is just my personal opinion.
  • I remember seeing original article (by Lempel & Ziv ?) in an IEEE magazine way back. How can it be patented if it was published in a scientific magazine? Isn't it used in just about any compressing algorithm today (winzip, gzip and what not)?

    Even RLE is patented. (two separate patents, actually) Algorithm patents have no basis in fairness or reality. It's just a matter of picking the algorithm with the fewest patents, or the algorithm with the patent holders who are least likely to make your life a living hell.


    ---
  • Unisys applied for the patent in the early eighties so it should be in 2003, I believe.
  • From what I understand, copyrights (don't know about patents) do offer this type of user-protection. If a company does not defend their copyright under certain circumstances, they may lose it.

    This is why Disney sues kids who draw little comic strips featuring their characters, or nurseries that draw the characters on walls. They have to, or some guy can sell unlicensed T-shirts later and claim that Disney had forfeited their copyright.

    At least that's my general understanding of it.
  • Erm, 4.x still lets you load imagines on a page by page basis. The "load images" button only appears if you have "auto-load images" unselected in preferences.
  • > GGI is not portable to windows or mac

    Actually there's a Win32 port now.
    ---
  • I have always been told that failing to promptly informing an infringer of a problem will jeopardize any future ability to go after an infringer.

    I know that's true of trademarks, but I don't know if it applies to patents.

    The problem is, it's expensive to go to court at all these days, whether you're right or wrong. You're not likely to recover court costs even if you win because there is no well defined time frame for abandonment (AFAIK). Even if you could recover the costs, you're out the money until (and if) you get a settlement. The little guy doesn't stand a chance, and big business just swaps patents or figures paying the fees is cheaper than going to court.

    It doesn't help that the USPTO likes to dump any real decisions into the court system and simply ASSuMEs that everyone can afford their day in court.

  • This is somewhat unlikely, unless the site admin resides in a country where international patents don't apply.

    The problem being that, certainly in the UK, the site would still be considered to be being published from their home/business machine, irregardless of where the data was being served from.
  • Encoding an image with JPEG involves a fairly complex mathematical process, which is relatively CPU intensive. It's not really possible to produce a "lightweight" JPEG compressor. Having said that, with the speed of modern CPUs, it doesn't need to be particularly lightweight, and such a library could now be feasibly produced. However, the sort of images that can be dynamically produced don't tend to lend themselves to JPEG anyway...

    Try ImageMagick and PerlMagick. You can create images on the fly and save them to just about *ANY* graphic file format.

    www.wizards.dupont.com/magick/ [dupont.com]

    I used this stuff to create a web-based coloring book. Have a peek at:

    www.dartfirststate.com/color/ [dartfirststate.com]

  • PNG may be a better format than GIF, but nobody on the web is using it. Why not? Well, for one thing, people are comfortable with using the old trusted GIF format and since Unisys totally failed to enforce his patents some five years ago, people have been using it on their webpages because it served its purpose good enough and their was no alternative. PNG was to become that alternative. But, in terms of browser compatibility, you can't use PNG simply because the PNG support sucks. In our Internet publishing compagny, we want all our Internet sites to be supported by at least Internet explorer 3.02 and higher and Netscape 3 and higher. The PNG support is still limited to the >=4 versions of these browsers and even then the support is often broken. Netscape Navigator, for example, still doesn't support transparency (haven't checked the latest Mozilla releases though). I must say the broken support for PNG is partly because the PNG format has a lot more features than the GIF format (I mean, I just have to see about the support for arithmetic coded JPegs which is patented also btw)
    So it seems that Unisys is trying to enforce it's patent again and the GD library is their (first) victim in this round, which is a shame because f.e. the PHP server side scripting language (http://www.php3.org) uses the GD library to create GIFs on the fly, a feature that we have been using a few times and which has proven itself quite valuable.

    see http://www.cdrom.com/pub/png/pngapbr.html for information on PNG browser support.

    TlighT
  • I remember downloading .GIF files back in the 80's ('course they were all porn back then)... Isn't that patent close to expiring yet?
  • Compuserve created the GIF format and put the specs out for it. The problem is that they did not know that UniSys had the patent on LZW compression. UniSys then waited a LONG time before saying people must pay.
  • If I remember right, the default version of gd comes without the patented LZW stuff. It works, but it makes big fat GIFs. Then if you have a license from Unisys, you can download the LZW stuff and compile it in. So what's the problem?
  • Doesn't the GD library use sort of a LZW-clone algorithm (generates the same output, but independantly written)?

    Perhaps the algorithm they used was too close to the patented stuff.

    On a wider note, what happens to Open Source projects if the source accidently gets contaminated with non-OS code? Has this ever happened before?
  • What is wrong with altering the souce of GD to go to a neutral output format (like a simple bit-map), and then having the option of several output filters like: png, jpg, bmp, ppm...

    I use this library all the time with PHP! This is a major bummer!

    -AP
  • I'm not a GIF file guru but I was told by someone
    who is that he's written GIF image tools that
    have basic RLE compression, or some other
    compression and they're standard GIF image files.
    GIF images don't have to use LZW compression.
  • these libraries help the webalizer to make good reports - and if they want to take that away from me, i will just use the version i got on those disks and laugh in their stoopid faces (giggle)
  • by Dawn Keyhotie ( 3145 ) on Thursday July 15, 1999 @03:41AM (#1801413)
    I have GD 1.3, which I assume was a current version. It came with MRTG, an SNMP-based traffic monitor that I have put in place at my company. Quoting the GD readme.txt:

    Non-LZW-based GIF compression code
    Version 1.3 contains GIF compression code that uses simple Run Length Encoding instead of LZW compression, while still retaining compatibility with normal LZW-based GIF decoders (your browser will still like your GIFs). LZW compression is patented by Unisys. This is why there have been no new versions of gd for a long time. THANKS to Hutchison Avenue Software Corporation for contributing this code. THE NEW CODE PRODUCES LARGER GIFS AND IS NOT WELL SUITED TO PHOTOGRAPHIC IMAGES. THIS IS A LEGAL ISSUE. IT IS NOT A QUESTION OF TECHNICAL SKILL. PLEASE DON'T COMPLAIN ABOUT THE SIZE OF GIF OUTPUT. THANKS!
    So this must be some other copyright issue besides LZW. And besides, if the problem was with LZW it would be a patent issue, not copyright.

  • you can get gd1.5 from me here [datathreat.com].
  • The whole GIF issue IS much older than gd. I was referring to the overall behavior of Unisys.

    They pulled their license stunts in the latter half of the '80s. They probably deserved to have their rights stripped at that time. When GIF came out it was: "GIFS are great, everyone use them". Dozens of shareware GIF programs came out without a single word from unisys. Then a few small commercial apps came out, still not a word. Then, nearly all commercial apps supported GIG and suddenly, "That's an infringement on out patent, we demand fees".

    Enforcement is still very selective and spotty at best. Apparently based on weighing potential profits and the probability that the latest victim will quietly pay up vs. the big PR black eye if it ever goes to court.

  • What I heard when the whole thing with Compuserve first came out was that Compuserve had thought the algorithm was in the public domain because it had been published by the inventor without a patent pending notice. Also, it turned out that he hadn't applied for the patent until too much time had passed after he had published the algorithm for the patent to actually be valid.

    I haven't heard any justification of the patent on these grounds; I don't think UNISYS or anyone has actually had to defend their patent claims, since they haven't actually sued anyone over it. I had thought that UNISYS was failing to do anything about people violation the patent because they knew if they got into a case, the patent wouldn't hold up and the people they'd licensed it to would be able to get their money back.

  • ncompress comes with Red Hat at least and provides the compress/uncompress programs which handle LZW compression. gzip also is compatible with compress'd files, so that too much handle LZW compression. Is there some sort of general license agreement whic Unisys provided for these programs?
    --
    Aaron Gaudio
    "The fool finds ignorance all around him.
  • Legally, indeed, you are right. Ethically, if this attitude is prevalent at Unisys, this should be a warning flag to anybody wanting to do business with Unisys. Knowingly tolerating the use of patented technology for years and then starting to charge once users and developers have committed to what they thought was free technology is unethical. Your business partners should start wondering what other stealth clauses and IP rights may be hidden in your dealings with them.

    In fact, when it comes to real property, the law already recognizes that if you tolerate trespassing, eventually people acquire an easement to your property. Cases like LZW suggest that this principle should be carried over into IP law.

  • The problem is that a LOT of people don't use modern browsers. Just look through the access logs at some site to see how many times Netscape 3 (or even 2!) appear. Not to mention IE3 and a lot of wierd browsers that may or my not (probabally not) support png.

    People still use GIF because it is supported by ALL graphical browsers, and when you are dealing with 2k files, the compression difference doesn't count for much.
  • PNG does not support animation. I believe there's another format (MNG?) for mini-animations.
  • Geez, if the government ever needed an example of why file-format patenting is bad, GIF is certainly it. I'm so sick of hearing about one thing or another going under because GIF is proprietary. As has been mentioned here, PNG is nice, and (most importantly) free.

    Although I still have yet to see any large number of PNG graphics on the net, it does seem to be a better format than GIF, and netscrape and exploder (claim to) support it. It does everything GIF does, but it also allows more than 256 colours, full alpha, and a few other features. Here's the PNG homepage [w3.org].

  • Use non-lossy jpeg and they'll still look pretty. Not sure how well the compression will work though.

  • Hmm, that's still pretty annoying. The problem is that the human eye is atracted to movement, so when I am trying read a page with a flashing logo, my eye keeps getting drawn to the advertisement.

    There have actually been user interface studies done on web sites, and when people are trying to read the content on a web site they will tend to put their hand over flashing banners (I guess they don't know about the esc trick) so they can finish reading the page.

    BTW those kinds of banners are doubly annying in that even if you want to read the banner, you have to wait for the rest of the text to appear (which can be annoying even if you aren't impatient :). Long ago I promised myself that I would never click though a site that used animated GIFs to advertise, and it has worked quite well so far (although I don't get a chance to click through very often...).
  • You can get gd1.3.tar.gz [crynwr.com] from me.
    -russ
  • Yes it does.

    Yes the gifs are actually not gifs but something like gif but bloody inefficient.

    Yes we went through this already (unless the alternative technology using RLE compression has been withdrawn as well).

  • by sjames ( 1099 ) on Thursday July 15, 1999 @04:08AM (#1801458) Homepage Journal

    What is needed is provisions to prevent preditory patent licensing. To define:

    Keeping silent about patent voilations until the use of it becomes nearly ubiquitous, then cash in on others work by coming out from under the rock screaming violation.

    Had Unisys claimed patent infringement when GIFs were just beginning, I'll bet GIF would use a different compression standard now. (Or GIF would have been replaced.)

    Fraunhoffer (sp?) did the same with MP3 IIRC. For a long time their web page said that they had a patent for the purposes of enforcing standards only (I sure wish I still had that in my cache!). Later, after a number of programmers had put a lot of hard work into implementing a 'free' standard in their software, suddenly Fraunhoffer (sp?) crys infringement.

    In both cases, I think it's quite clear that the intent was a sort of bait and switch tactic. If they had advertized in the sunday paper, it would have been illegal in many places.

I've noticed several design suggestions in your code.

Working...