Well so people understand the extent of the software patent problem I will point out one now-defunct, but famous patent.. The so-called 'Giff' patent.
As you know 'Giff' is a losslessly (meaning it preserves image quality vs Jpeg which sacrifices quality for smaller files) compressed image format commonly used on the Internet for making little buttons and icons and little animations and other such things.
What happened to cause all the drama was that there was a company called Unisys (along with IBM) had patents that covered a aspect of the software needed to cover Giff file format. Well when Giff became a Internet standard Unisys didn't really speak out much on the subject and waited for Giff images to become popular. Then once it reached a critical mass Unisys began suing (or threatening to sue unless they paid royalties) to companies that had software that was able to read and make Giff file formats.
Now this is a Internet standard. EVERYBODY supported Giff formats. It was quite a financial success story.. Now, of course, the obvious solution is to make a replacement for Giff images to work around the patent. Well you couldn't just do that for a couple reasons.
The first reason was that it was basic to the file format. So you had to create a alternative file format to replace Giff... And the Free software community with others did. They created the 'PNG' format. The PNG format is another lossless format, but it is superior to Giff in many many ways. It supported more then 256 colors. It had real 'alpha layer' support (meaning that you can do fancy transparencies that are not possible with Giff). It has much much higher level of compression so you can have high quality images that compress to smaller then what Giff can do.. and it was not covered by royalties and had software related to it that was licensed in such a way that you could incorporate support into any program with little effort and no licensing costs. Also it became a supported WWW image format standard, just like Giff.
However why if PNG is superior to Giff in every possible way then why is that Giff wasn't replaced overnight and people still use it?? Well the reason is because the most popular web browser of all times, Internet Explorer 6, has very crappy and very limited support for it. So most of png's good features were lost on most people. (even though all other popular browsers and image editing programs had near perfect support for it for years).
The second reason why simply replacing the offending code wasn't so easy was because the software patents covered a aspect of the Giff format.. but in no way actually limited itself to image formats.
The actual patents covered a compression algorithm called LZW. (which is part of the Giff format) It is very efficient CPU-wise and is lossless and although it has been surpassed by more modern, more cpu-intensive systems it was popular. So that in order to work around the patent you not only had to eliminate all support for Giff, you had to write replacements for a dozen or more common Unix programs and break file format compatability with a number of different file formats. Even if you used the compression internally and not for files, but for doing stuff like saving on network bandwidth you still were liable to the patent.
What made it worse was that the people that actually got the patent published the source code that used the patented algorithm in a IEEE computer magazine. (it was published before the patent was granted, but after it was applied for).
So since it was a computer magazine, even made the front cover, people figured that since it was published publicly code that it was alright to use it. Make sense, right? Why would they publish it publicly if they didn't want you to use it?
So one of the first apps to use it was called 'Compress' and was released in 1984. The Patent was awarded in 1985. The compress application was then in violation of the patent, simply because this is how patents work. Giff file format was released in 1987...
It wasn't till many years after that before Unisys started going after people actively for licensing fees.
Now that was just _one_ software patent.
Right now Microsoft has FIVE THOUSAND software patents it owns - 5000. IBM receives about three thousand new software patents every year. In one day the U.S patent office approved 869 software patents. By October of this year they approved over THIRTY THOUSAND software patents, for 2006 _alone_, and will probably break 40,000 by year end. I am not sure but i think they awarded 29 thousand patents.
This is out of control. You do not need to know a patent existed to be in violation of it. Your program could of been written before the patent was even ever approved or published and you still can be sued. Nobody has to use the patent in any software and you can still be sued. You don't have to know about the company that has the patent. You do not need to see the source code or know about how the program works in any way and you still are 100% liable for the patent.
In fact if they think that you knew about the patent, but tried to hide that fact, they award triple damages.
The problem isn't so much that the patent system is broken.. It works fine for inventions were patents make sense, but with software they just don't make sense. They don't work and are 100% counter to the whole goal of patents.
This goal which is to allow a way for you to publish inventions publicly, but still make money off of it. This isn't some intrinsic right that it is assumed we have.. it is simply a way to forward the state of the art and discourage companies from using trade secrets to protect profitability.
In software this doesn't happen. You can't copyright a engine block, for instance, Ford can take a Chevy engine and pretty much copy it. So Chevy can make a new innovation and use it and Ford can't for the duration of the patent. It works out. In a car you may have a dozen or maybe even a hundred patents. I don't know, but in the comparative costs of things the cost of having big production plants and big staffs of workers and such lawyers responsible for this sort of thing are a small cost relatively.
For software it doesn't work. How programs function still remain hidden and in fact it encourages people to hide how programs work so they are less likely to fall victim to a aggressive patent holding company. Totally counterproductive and complete defeats the purposes of having patents in the first place. In Windows your not just dealing with a hundreds of patents, but probably thousands of patents. Patents owned by Microsoft and patents owned by dozens of other companies.
The comparative cost of producing software is very low.. A team of programmers on a dozen cheap PCs is all you need really.. So the legal costs associated with software far far out way the cost of actually writing the software.
So companies like Microsoft simply ignore the patent issue. They get as many patents as possible and then they do patent exchanges with other big companies. This is a lot cheaper then trying to avoid infringing on patents.
This is also why I believe Microsoft won't end up suing Linux. Because there are many big companies now that have big stakes in Linux that own a lot of patents... Novell does, as does IBM and now Sun and HP among others. It would be like a WW1 were instead of international treaties your dealing with legal ones were everybody is agreement not to sue because everybody is in agreement to sue everybody else.
So if Microsoft sues Linux developers it not only opens up the flood gates, it's also a horrific PR disaster and most of it's own customers use Linux already in some important capacity so they will generate much hate against them. Real and totally justifiable hate and dislike with real personal justifications for thousands of individuals and companies. (rather then the Internet-style 'M$ is teh suck' sort of thing.)
The real worry is 'patent trolls'. These are legal foundations, groups of lawyers with deep pockets, which go around and buy up software patents from companies whenever they can. (lots of software companies fail every month, just like any other business) Then they turn around and use the patents to extract licensing fees from other companies. Since they don't actually produce software themselves then they can't be sued in retaliation so are completely invulnerable to any sort of legal counter. Your only choice really is to just pay them as their licensing fees are generally slightly less then the cost of a lawsuit... even if it is one could win.
Got something to add? Send me email.
More Articles by Drag Sidious © 2011-04-30 Drag Sidious
Everyone knows that debugging is twice as hard as writing a program in the first place. So if you're as clever as you can be when you write it, how will you ever debug it? (Brian Kernighan)