PowerBASIC Forums
  Programming
  LZW and software patents

Post New Topic  Post A Reply
profile | register | preferences | faq | search

UBBFriend: Email This Page to Someone! next newest topic | next oldest topic
Author Topic:   LZW and software patents
Dave Navarro
Member
posted March 21, 1999 02:24 PM     Click Here to See the Profile for Dave Navarro     Edit/Delete Message   Reply w/Quote
Dave
quote:

One important note about LZW compression. Unisys has a patent on LZW and if you use LZW compression in a commercial product, you are required to sign a royalty agreement with them.

Ulf Westlund

quote:

Dave, can you clarify when an algorithm is "free", i.e. based on LZ77 or LZ78, and not free, i.e. based on Terry Welch 1984 patented algorithm?

I'm in urgent need of a free compression algorithm with fast decompression. Of course, the compressed data block should be small too, but I'm not so concerned about the compression speed.


Lance Edmonds

quote:

Apparently UniSys have some information on their site about the licence restrictions. There used to be a link to it from the IMGDLL ( http://www.smalleranimals.com ) site. However that site has been redone and the link seems to have been removed (or I just can't find it anymore).

I just went to their site, but their search engine seems to be off-line, so I can't give you a precise URL.

Have a look later on at http://www.unisys.com


Mike Luther

quote:

Pat might want to comment on it himself. His home page site notes the following:

"TIF compressed LZW format needs a UNISYS license available on option."

"Writing to GIF compressed format required a UNISYS license available on option."

If he has exposure to the issue suffcient enough to have made a decision on that, then he might be able to offer some comment on the code he posted as to whether it is Public Domain or not.

I, also, would like to know the correct status of the code. Copyright issues are really messy when folks get unhappy about them. Further, it's easier to get in a mess over them than one might think. Even using the 'standard' examples in the PB 3.5 suite, appears to me to be an issue considering that they are all prefaced with something like:

' Search and Replace Utility
' Copyright (c) 1995 by PowerBASIC, Inc. All Rights Reserved.

That means EXACTLY what it says. Have you ever thought of that? It's the reason I haven't used anything of it. Technically, neither I nor you, nor anyone else can, without his expressed consent! Maybe I've missed something, but, to be precise, I can't find anywhere in the docs where it expressly gives someone the right to use the source, even though it looks, on the surface, that you ought to be able to do so, since they were furnished as examples in a oroduct you licensed for use!

No, I'm not a lawyer.

Nor, do I want to have to hire the services of one over the defense of this kind of stuff. Nor do I wnat to fuss with the Feds over this kind of stuff either. Thus, unless plainly marked otherwise, if it says "no" in the body, I take it to mean it means, "no."

Just because they are furnished as examples, doesn't, to me, for example, legally mean they, legended as such, are a part of the compiler tool you purchased the right to use when you did that. Unless they are expressly defines so somewhere else, "no" means "NO."

In the case of the code that Pat furnished, where he said:

"' LZW (like) code converted to 32-bit by Patrice Terrier"

I'd, perhaps like to use it! Since his site notes awareness of the Unisys issue, I hope he may respond to the comments, but I'll also, grin, understand if he comes back with something like 'caveate codor.'

The UNYSIS site is like stepping in a tar pit.


Patrice TERRIER

quote:

You can compress any kind of file with this code. Compressing a bitmap file with it will not make it a GIF nor a TIF file of course. There are also better compression algorythms like the one used in ZLIB for example (I used it to achieve the highest non-destructive compression for storing pictures inside of my graphics librairies). There is also the LZS compression (most of them written by French authors "cocorico", ie ZLIB, LZEXE). About the GIF file format during a time people were allowed to used it freely until Compuserve (and UniSys) changed their mind. The GIF file format is public and they are lots of places where you can found it here on the net. As long you read it without writing you can't get into trouble. But anyway if you want to use a non destructive compressed format why don't you try the PNG format that is far much superior to GIF and can also be used with modern Navigators and do not suffer of the 256 colors limit.
My 2 cents.

Lance Edmonds

quote:

AIUI, PNG was developed to provide an image format similar to GIF but without the license requirements. I experimented with PNG in conjunction with IMGDLL, and found that my older version of Graphics Workshop could generate PNG files that IMGDLL would not load: I sent a file to the Author of IMGDLL and he told me that GW's implementation was in error. Wierd but true... I guess it's a case of YMMV.

For anyone wanting an industrial strength image processing tool, I highly recommend IMGDLL for US$25 (now up to V4.4.2.1). http://www.smalleranimals.com

Other tools are also available like ULEAD for a much higher price.


Don Dickenson

quote:

"About the GIF file format during a time people were allowed to used it freely until Compuserve (and UniSys) changed their mind. The GIF file format is public and they are lots of places where you can found it here on the net. As long you read it without writing you can't get into trouble."

Interesting ... I sent them an email asking if I could write (and distribute) a program that dispays GIF files and they said that I'd need to pay a royalty.


Lance Edmonds

quote:

The corporate division of www.unisys.com holds the following page on the licensing issue: It's quite "brutal" so watch your step if your code includes any ability to write LZW compressed files:

http://corp2.unisys.com/LeadStory/lzwfaq.html


Greg Turgeon

quote:

A few years ago I investigated the issue of software patents as they apply to compression. I noted:

-- LZW is not covered by a copyright; it's cover by a patent. Legally that's a very different thing. The issue of software patents is controversial to say the least, but the patent on LZW exists. It's held by Unisys because Terry Welch (the "W" in LZW) was working for Sperry (now Unisys) when he devised and published his adaptation of the LZ78 compression method in 1984.

-- For quite some time, and for reasons only it can supply, Unisys ignored the spreading popularity of LZW in all sorts of applications, including graphics apps that read and wrote the GIF format--until Unisys suddenly woke up and declared that it would enforce its patent rights, and anyone wanting LZW had better pay up.

In other words, just because GIF files turn up everywhere does not mean that Unisys is without legal recourse or the will to enforce its patent rights. Patrice's description of the issues involved is completely accurate.

from Ulf Westlund:
[quote]
... can you clarify when an algorithm is "free", i.e. based on LZ77 or LZ78, and not free, i.e. based on Terry Welch 1984 patented algorithm?



If Dave could do this, he's be a patent attorney, could work 20 hours a week, and wouldn't need to put up with us. It's simply astonishing how many software patents now exist, and compression seems to have attracted a disproportionate number of them.
quote:

I'm in urgent need of a free compression algorithm ...


The Info-ZIP project has sought to address this issue. See Patrice's reference to ZLib. The relevant URLs:
http://www.cdrom.com/pub/infozip/
http://www.cdrom.com/pub/infozip/zlib/
[/quote]

Mike Luther

quote:

Thanks Greg and Pat both.

The pointers to the URL's and the entire discussion were valuable and should help a lot of folks. For me, it is helping to, perhaps, resolve the questions of what to do about compression and encryption of medical record data, both for pure storage and transmission. It, perhaps, wasn't a real factor ten years ago; it's really turning nasty now.

Ten years ago we had 31 blank areas of a HCFA1500 form for a bill. Then came UB-92, with fixed-length strategy, 192 byte fixed blocks and 'specialty' de-blocking - about 8K-16K per record. Now comes AMC-X12 with over 900 defined fields! What cross-walkable fields there are to the UB-92, are about double the max size of the UB-92's corresponding ones and ... although labeled as a 'transmission standard', are totally variable length! I believe those fields go somewhere else in the scheme of things besides just -transmission-.

Yeah, and the <:> mark is a delimiter in the records!!! Oh well..

You could submit about six things for which to get paid on a HCFA-1500 at one time. The max 25-50 things payable at once, on a UB-92, have expanded, as of June this year here in at least one venue in Texas, to 250 at a single billing! UB-92 use specialty records, such as just the ambulance part, for example, meant that only that one part, perhaps, needed to be stored, of old, but now, the push is on for what is known as 'unified billing.' A record now has to have space for and pointers to everything from drugs, diagnoses, procedures, ambulance ride - todos!

As well, the real questions of right to access and encryption of data are four-square in front of us. Compression and Encryption are now, to my way of thinking, taking center stage.

I had about a 45 minute conversation with Dr. Tom Shope, head of the committee on software for the FDA in late October, I think, in 1996, just from pure recall without going to the records here. As well as a lot of other very good advice, he noted that FDA would not stand for any other than lossless compression.

As a small fry, he advised I stay away from any software development which was capable of being used to directly treat or take data from a patient or be automatically included in or could automatically be made a part of a permanent medical record without the decision of a qualified medical person putting data there! Such coding, per his advice, constitutes a medical device. I've followed that advice.

So said, at some point, in that compression was in a lot more venues than we would think, I would be surprised to see that even such things as modems, networks, would be licensed for medicine, in the future! They all play compression games! All forms of software which offered compression would, if they touched medicine, be eventually licensed as such by FDA. I could not get him to tell me any more than, "Watch the Federal Register", for how to determine the progress of that vector by FDA. He said leave the compression deal, networking, to others

Per his note relative to these direct-action and compressed goodies, this meant that EVERYTHING in the program from the operating system, through the assemblers, compilers, and program code, would have to be proofed and documented for accuracy for every single line of the code! The comment was that some sort of certification program like ISO-9000 would likely be acceptable. Where code actually takes the part of un-monitored human direction, that's what the rule really was and is directed at. If one wants to stay out of the soup, make sure a human makes the decisions. OK, I've tried to follow that.

However, hardware and software are expanding in scope and complexity even faster now than they were several years ago. Looks like to me the line between a qualified medical professional's OK and what goes in and out of a record by computer and software control is blurring fast. Six or seven poor souls whom died in Tyler, Texas a number of years back, over what went wrong in a generic computer program sparked all this. Dosages in a cyclotron run for treating their cancer got botched, so I understand, just because the program reached different results with and without a numeric co-processor aboard. They were grossly over-radiated and roasted alive.

To focus this in today's world, general records and compression...

Paul Harvey, in his commentary the other morning, said that he thought we could stop Medicare fraud if every doctor had to personally sign every claim for Medicare payments! Someone should send him the now over 3900 pages on AMC-X12 which one needs to understand just how - "transmission" of a claim get paid ... $35 for a visit! Most of it is all empty space, but yet, if, as they are now insisting, that, DAILY billing is necessary, and your poor Mother has 15 different meds daily, we can't even get all of that in one invoice per month!

Yes, AMC-X12, the NPRM for final ruling published in June of last year, is upon us. The notice for public comment was over in just 30 days, on July 7, 1998! The data set is so huge that, at least, to me, the need somehow, for internal compression is upon me. Though I've, I think, managed to get the whole UB-92 into one huge less-than-16K UDT with some 1200 discrete variables, on the way to somewhere for a date with the even larger AMC-X12 crosswalk; most of it is still empty space. Even though we've, so it seems, moved from no more FIELD statements to only such things as UDT's in WIN-xx, for file data write/read use, AMC-X12 will be a *LOT* more empty space than a mostly empty UB-92 for 95% of all records. Pure AMC-X12 doesn't, to me, seem anything appicable to any of the way any of this WIN-xx or generic file I/O stuff has gone, but then I don't claim to be any kind of expert in this stuff. Looks to me if little folk are still able to be involved, it has to be a compressed and delimited storage affair and we are still, right back to letting the operating system, or an embedded such creature like it, do the work!

Choosing a compressive technique to handle the storage might be a VERY important decision, right about now... It could have serious long term effects in many disciplines for one's software produced.

Choosing a form of compression now that has roots in an open-source forum and public proof-of-losslessness seems an important decision. If one is going to be able to avoid royalty payments on all this and, maybe some day get paid for the work, one has to think carefully about what has surfaced here, together with the advice Tom gave me a few years back. The posts and thread here seem very relevant to that to me.

The concepts here should be of valuable to others.... regardless of what may be their interest in serving customers with software.... With what I, somewhat jokingly suggest next aside, taking care of customers and making things easiest for them is the only way to really build and stay in business. Well, except that sometimes I think the only business of which the customer ain't always right, is the business of Government, but .. sigh ... that's life!

Thanks.. to all for the help...


IP: Logged

Chris Boss
Member
posted March 21, 1999 07:51 PM     Click Here to See the Profile for Chris Boss     Edit/Delete Message   Reply w/Quote
Warning !!!!

Don't use GIF image display in Visual Basic.

I was intrigued by the info on this thread about Unisys' patent on GIF image display.

I went to the link given here for unisys and read the page and also the Microsoft page it links to.


Did you know that Microsoft licenses the GIF image reading stuff from Unisys for their development products (like VB), but the license doe not apply to any software developed in VB by the end user (developer) ?

Just because GIF support is in VB (the image control) doesn't mean you can use it to display GIF images in your software without getting a license from Unisys. And yes it applies to reading GIF images , not just writing. If I read the Unisys stuff and the Microsoft web page correctly, the GIF support in VBs image object is useless to VB developers unless you get a license from Unisys. This means they get royalties. It also applies to Freeware too. You can't even distribute your software for free without a license from Unisys.

If you doubt this go to the Unisys web site using the above mentioned address.

IP: Logged

Chris Boss
Member
posted March 22, 1999 09:13 AM     Click Here to See the Profile for Chris Boss     Edit/Delete Message   Reply w/Quote
One more note about Microsoft and the Unisys license :

I contacted Unisys to complain about the lack of "up front notices" in Microsofts manuals about the need for Vb developers (or any MS product) to license the GIF support when using the MS Image control which does support GIF file display. They contacted me and said they were sorry (and I believe them) and that they have asked Microsoft to put some noticable warnings in their development software that the developer still must license GIF support from Unisys themselves, but Microsoft won't agre to this.

Basically this means that Microsoft is aware of the problem , but chooses not to do anything about it.

So once again, Please do not use GIF support using the MS Image controls in any MS development product unless you plan to get a license from Unisys. This even applies to freeware and simply reading and displaying GIF images. The rumor that "only if your software writes GIF are you breaching the patent" is not correct.

I simply used the image control to browse GIF files and this was a violation of Unisys patent.

For more info go to the Unisys web site. They also have a link to a web page on the Microsoft web site that brings this out.

IP: Logged

Patrice Terrier
Member
posted March 22, 1999 10:24 AM     Click Here to See the Profile for Patrice Terrier     Edit/Delete Message   Reply w/Quote
Browsing GIF files ---> violation of Unisys patent.

hmmm, when it becomes defacto a standard format it is hard to comply with and it depends on each country specific Laws.

Here in France as long we are only reading GIF we can't be prosecuted.

Some DLL can be found on the net that allows writing GIF files in an uncompressed format.
But does this kind of file are still GIF files, this an other question.<G>

[This message has been edited by Patrice Terrier (edited 03-22-99).]

IP: Logged

All times are Pacific Time (US)

next newest topic | next oldest topic

Administrative Options: Close Topic | Archive/Move | Delete Topic
Post New Topic  Post A Reply
Hop to:

Contact Us | PowerBASIC on the Net

Copyright © 1999-2002 PowerBASIC, Inc. All Rights Reserved.


Ultimate Bulletin Board 5.45c