--- The Detailed Node Listing ---
Richard Stallman <email@example.com>
Date: Mon, 11 Dec 2000 10:00:08 -0700 (MST)
[Please repost this widely wherever appropriate]
We would like to collect information about cases where free software has been harmed by software patents–that is, cases where a free program has been withdrawn from use or interfered with, or where a feature was taken out or never written in the first place, because of the danger of a patent.
We hope to use this information to argue against the system of software patents, especially in Europe where the question has become a live political issue (on late www.freepatents.org).
If you know of such a case, please write to firstname.lastname@example.org and tell us what happened.
Ideally we would like to know the name of the program, its developer's name and email address or other coordinates, what happened to the program, and the patent number. If you know those things, please include them in your report. But if you don't have all of that information, please write anyway and tell us whatever you know. For instance, if you can tell us how to contact the program's developer, we can probably get the rest of the information from the developer. If you can tell us just the program's name, we may be able to find the developer. We may write back to you to try to get more details; even leads for getting more details may be useful.
Please send your information to email@example.com rather than to me personally, so that we can collect the responses efficiently.
Thomas Hudson firstname.lastname@example.org
Another area of constant problems is in audio development for Linux. The relevant homepage is at:
Check the archives of the mailing list. Almost every development runs into another patent. For audio development it is literally getting to the point of programmers having to do a patent search and find ways to program around it. Paul Barton-Davis email@example.com would be a good contact for more info.
Pam Dixon firstname.lastname@example.org
- –I sent a message Sunday with the info; just in case it got jumbled in = the ether, I'll repeat some of it here. I find the RealNetworks patent = worse than most, given the factors involved. The patent is too broad, = the language too loose, and coupled with Real's attitude and approach, = the whole thing stinks.=20
The patent abstract is below – unfortunately, the core patent documents = don't get any better. You'll see right through the smoke screen they put = up in the complete description of the so-called invention. Clearly, some = attorney who didn't know much let this one through. ( = http://www.uspto.gov/patft/index.html to get to the full patent text.)=20
You are probably already aware of this –some important patents = regarding video compression are coming up, particularly relating to = MPEG4; I've talked to the attorney who is the primary examiner on this = patent cluster, and he actually rejected some of them last September = (from major multinationals) based on over-breadth. It's wait-and-see. = PacketVideo has just gotten an important patent on an error reduction = algorithm relating to video compression in low-bandwidth situations that = could have been applied very usefully, had it been freely distributed. =20
Snipped patent text:=20 - ——————————– United States Patent 6,151,634 =20 Glaser , et al. November 21, 2000 =20
Audio-on-demand communication system=20
Abstract An audio-on-demand communication system provides real-time playback of = audio data transferred via telephone lines or other communication links. = One or more audio servers include memory banks which store compressed = audio data. At the request of a user at a subscriber PC, an audio server = transmits the compressed audio data over the communication link to the = subscriber PC. The subscriber PC receives and decompresses the = transmitted audio data in less than real-time using only the processing = power of the CPU within the subscriber PC. According to one aspect of = the present invention, high quality audio data compressed according to = lossless compression techniques is transmitted together with normal = quality audio data. According to another aspect of the present = invention, metadata, or extra data, such as text, captions, still = images, etc., is transmitted with audio data and is simultaneously = displayed with corresponding audio data. The audio-on-demand system also = provides a table of contents indicating significant divisions in the = audio clip to be played and allows the user immediate access to audio = data at the listed divisions. According to a further aspect of the = present invention, servers and subscriber PCs are dynamically allocated = based upon geographic location to provide the highest possible quality = in the communication link.=20
Inventors: Glaser; Robert D. (Seattle, WA); O'Brien; Mark = (Cambridge, MA); Boutell; Thomas B. (Seattle, WA); Goldberg; Randy Glen = (Princeton, NJ) =20 Assignee: RealNetworks, Inc. (Seattle, WA) =20 Appl. No.: 042172=20 Filed: March 13, 1998=20
Current U.S. Class: 709/236; 370/476; 709/219; 709/231 =20 Intern'l Class: G06F 013/38; G06F 015/17=20 Field of Search: 709/236,231,219,248 348/474 700/94 = 370/503,509,512,476 =20
- ————————————————————————————————————= - ———
References Cited [Referenced By]
- ————————————————————————————————————= - ———
U.S. Patent Documents 4827256 May., 1989 Yokoyama. =20 5132992 Jul., 1992 Yurt et al.. =20 5237322 Aug., 1993 Heberle. =20 5537409 Jul., 1996 Moriyama et al.. =20 5719786 Feb., 1998 Nelson et al. 709/219. =20 5758085 May., 1998 Kouoheris et al. 709/231. =20 5793980 Aug., 1998 Glaser et al. 709/231. =20 5915094 Jun., 1999 Kouloheris et al. 709/219. =20 5917835 Jun., 1999 Barret et al.. =20
Other References=20 Govindan R; "Operating Systems Mechanisms for Continuous Media"; = Thesis, University of California, Berkeley CA, 1992.=20 Topolcic C et al.; "Experimental Internet Stream Protocol, Version = 2 (ST-II)"; RFC-1190; IETF Request for Comments, Oct. 1990.=20 Schulzrinne H et al.; "Real Time Streaming Protocol (RTSP)"; = RFC-2326; IETF Request for Comments, Apr. 1998.=20 Bigelow S J; "Modem Communications Standards"; Electronics Now; = pp. 35-42, Sep. 1994. =20
Primary Examiner: Rinehart; Mark H.=20 Attorney, Agent or Firm: Knobbe, Martens, Olson & Bear, LLP=20
Erkki Ruohtula email@example.com
One free program with patent troubles is the BladeEnc MP3 encoder. (The original website was lost) See its homepage at http://bladeenc.mp3.no for the story, especially the news section. Althought theoretically the author (a Swede) should be safe, he avoids distributing binaries himself due to complaints from the Fraunhofer institute and the Thomson company.
Kyle Sparger firstname.lastname@example.org
Although the sourcecode for BladeEnc is distributed under the LGPL, it includes algorithms and solutions that some of the creators of the MPEG Layer 3 standard claims to have patents on.
This makes portions of the BladeEnc sourcecode quite unsuitable for inclusion into other software projects. It might even be a breach of the GPL / LGPL license of another product if you add patent covered parts of BladeEnc to its sourcecode."
Tord Jansson email@example.com
(Tord sent an email explaining with details how he was approached by Fraunhofer/Thomson in regards of a violation of the MP3 related technology)
European Patent numbers from the first round:
0378609 0277613 0309974 0193143 0414838 0251028
European Patent numbers from the second round:
0287578 0340301 0393526 0612156 0554290 0608281 0611516 0667063 0719483 0750811 0193143 0251028 0277613 0414838 0485390 0494990 0464534
Mike Coleman firstname.lastname@example.org
The Ogg Vorbis sound format (a competitor to Fraunhofer's mp3) is probably about to become an example. Fraunhofer is already publicly claiming that vorbis "probably" infringes on their patents, and since they're sending cease-and-desist orders to everyone else, it looks like it'll only be a matter of time.
"Terry Dube" email@example.com
http://mp3licensing.com/patents/index.html bragging about there software patents.
MPEG-4 V3 format: Microsoft informed the author they held patents that covered its use, and they wanted this format to only be used in their ASF files, and also not to allow the format to be converted to other formats.
"Ram'on Garc'ia Fern'andez" firstname.lastname@example.org
Virtual Dub is a free (GPL) program for video edition and conversion. The author had to remove support of ASF file format because Microsoft threatened him of patent litigation.
Virtual Dub home page:
The story: http://www.advogato.org/article/101.html
Derrick Moser email@example.com
I not sure about the details of what happened to Avery Lee but the README.TXT for ASFRecorder says this:
Microsoft does claim a patent on the ASF file format in the United States and possibly in other countries as well. There has been at least one succesful attempt to reverse engineer the ASF format by a GNU software author. The program I am talking about is VirtualDub 1.3 by Avery Lee. By threatening him with legal action, Microsoft has forced the author to remove support for loading ASF media files because of the programs ability to transcode these media files to AVI format.
David Berglund firstname.lastname@example.org
Use of the MPEG-4 format would seem to be potentially a problem with getting locked in, and unable to edit your own movies. This would seem to be even more of a problem with the introduction of digital cameras or camcorders which record directly to the MPEG-4 format, such as the Sharp VN-EZ1, billed as the World's First Internet Viewcam MPEG-4 Digital Recorder. There would appear to be no legitimate way to use such a device with any free software operating system, since Microsoft controls the format. They do not give any "buyer beware" notices.
Information about the Sharp VN-EZ1: http://www.sharp.co.jp/sc/gaiyou/news-e/990317.html (archived)
David Berglund email@example.com
The program Broadcast 2000, a non linear audio and video editor for Linux, apparently initially had some support for use of files from DVD. However, there previously was a note on the web page asking for input on whether DVD support should be dropped, if it were to only be able to be in a binary. I am not sure what the details were beyond this, but the earlier request for input is no longer present. Similar issues related to other proprietary codec formats also would be of importance here, such as the MPEG-4 format, and also MP3 audio.
The web address is: http://heroine.linuxave.net/bcast2000.html
and the e-mail is: firstname.lastname@example.org
"There can't be any Free Software that encodes MPEG II without violating this patent"
Patents (Unisys and IBM) covering the LZW compression algorithm which is used in making GIF files.
Moshe Zadka email@example.com
I'm sure this tops the list, but the GD library does not support GIF output any longer do to patent program (LZW).
The homepage of the project is at:
Don Marti firstname.lastname@example.org
Patent number: 4,558,302
Adam Fedor email@example.com Adam Fedor firstname.lastname@example.org
Attached is some text I wrote a few months ago that explains our position. The only change is that recently Apple has changed their interface somewhat which in effect makes parts of the entire GNUstep system open to patent 'violation' (not just the EOF and WO parts).
GNUstep, The Basics: ————–
GNUstep, with regards to the current discussion, consists of three major parts: The OpenStep system, Enterprise Objects Frameworks (EOF), and WebObjects (WO). All three parts try to emulate interfaces originally designed by Next Computer, Inc (Now Apple Computer, Inc). All three parts use an Object-Oriented design and are primarily written in the Objective-C language.
The OpenStep system consists of basic foundation classes (dictionaries, arrays, etc) as well as GUI elements. While Apple claims it has a copyright over this API, there are no patents that we know of that affect the basic operation of this system (In fact, large parts of the system were released as an "Open" standard by Apple several years ago).
The EOF is designed to be an Object-Oriented interface to a database. This is the interface that Apple has significant patent claims on that we cannot work around without changing the interface in a fundamental way (thereby making it incompatibile with Apple's EOF, which ruins the stated goal of the GNUstep project). EOF depends somewhat on the OpenStep system.
WO is designed to be an Object-Oriented method of creating and maintaining dynamic web pages. WO depends on EOF.
Here is a basic description of EOF taken from the Apple documentation. This discription actually alludes to Apple's patent that is a key part of the EOF system.
"Enterprise Objects Framework brings the benefits of object-oriented programming to database application development. You can use the Framework to build feature-rich, database applications with reusable software components that tightly couple business information with the business processes managing that information.
One of the most significant problems developers face when using object-oriented programming languages with SQL databases is the difficulty of matching static, two-dimensional data structures with the extensive flexibility afforded by objects. The features of object-oriented programming-such as encapsulation and polymorphism-and their benefits-like fewer lines of code and greater code reusability-are often negated by the programming restrictions that come with accessing SQL databases within an object-oriented application.
Enterprise Objects Framework solves this problem by providing tools for defining an object model and mapping it to a data model. This allows you to create objects that encapsulate both data and the methods for operating on that data, while taking advantage of the data access services provided by the Framework that make it possible for these objects to persist in a relational database."
The key patents that cover the implementation of EOF are:
US6085197 07/04/2000 Object graph editing context and methods of use US5956728 09/21/1999 Object graph editing context and methods of use US5873093 02/16/1999 Method and apparatus for mapping objects to a data source US5898871 04/27/1999 Dynamic object communication protocol
US5873093 involves the concept of Key-Value coding (i.e. storing relationships between two entities via a dictionary-like listing of keys and associated values). In EOF, that is how (dynamic) object models are associated with (static) database tables.
US5898871 also involves Key-Value coding, but deals more specifically with how to get information out of a database and present it in a uniform, context-free way to an Object-Oriented program. For example, one associates a database property ("FirstName") with an actual value ("Joe") in the database and presents it in a dictionary as a Key-Value pair. This applies to both EOF and WO.
US6085197 and US5956728 covers a system for managing changes to an object-graph that includes also an undo stack.
Possible Prior Art: —————————
Rumbaugh, et al. "Object-Oriented Modeling and Design" published 1991, chapter 17 deals with mapping object-oriented models to relational databases. The book stems from actual research and someone should be able to turn up something like a lab note that even predates any patent that contains the word "object".
Objectpeople's product TOPLink for Java and Smalltalk, introduced in 1991.
Relational Object Framework (company bought by IONA). There are others, at www.object-relational.org, I believe.
A More Detail Analysis (from Stephen MacDougall): ————————————————————————
"From what I have read of the patent, my impression is that it only covers the creating of the EOModel, as evidenced by the first line in the abstract. This states that, "The present invention creates a model that maps object classes in an object-oriented environment to a data source." Thus, by interpreting the 20 claims with this in mind, it becomes apparent that the patent is for the creation of the model itself.
One can conclude from this that we can do every part of EOF except the EOModel, which creates the model in the first place. We can even read a pre-existing EOModel and use it, as far as I can determine. This would be similar to the LZW patent, in which you can freely create an LZW decoder, but creating an encoder would involve licensing to Unisys, as they hold the patent for the LZW encoding process.
So, if we can find a way to create a completely separate and distinctively unique method to perform a *similar* function, without violating the patent, then we could go forward, and then just create a conversion program that would convert from an EOModel to a GDFMap type of construct. (GDF = GNU Database Framework, the current working name unless someone comes up with something better. "
Ingo Marks email@example.com
someone holds a patent on XOR on graphics.
So you couldn't draw a selection frame with your mouse in Gimp without violating this patent. You would have to "enjoy" flickering like Sinclar ZX81 or enter the corner coordinates via keyboard.
Richard Stallman firstname.lastname@example.org
The GIMP and other free software cannot support Pantone color matching. This makes it much harder for free software to do a good job of generating images for printing.
The GIMP developers may be able to tell you what the patent number is.
The France Telecom patent was used to threaten MBROLA, with the result that it was made non-free.
"Thierry Dutoit" email@example.com
France Telecom's patent on PSOLA (a well-known speech synthesis technique) : US 005327498
Our own patent on MBROLA : US 005987413
There is a third patent on similar thechniques, owned by Philips : EP 0527527 A2
This is the European version of the France Telecom patent: EP 363 233 (B1)
This is the Canadian patent: C 1 324 670
Thomas Hudson firstname.lastname@example.org
One such example is the FreeType Project (http://www.freetype.org). Apple has several patents on the hinting mechanism of TrueType fonts. Thus the freetype project had to implement a different mechanism.
More information can be found here:
"Alexander Weber" email@example.com
The Freetype font-rendering library is affected by a patent hold by Apple describing an algorithm to speed up rendering
Mark de Does M.de.Does@inter.nl.net
Not only the HTML/GIF writing part of my easy rich text processor 'Ted', but many of the graphics projects I do suffer from the fact that writing GIF files is a problem.
I probably suffer more from the cowardice of Linux distributors that ship libungif under the name of libgif, than from the actual patent. As A European I prefer to ignore the LZW patent. The cowardly misrepresentation causes me headaches because the patent invites distributors to distribute a library that writes GIF files that only are GIF files formally.
Moshe Zadka firstname.lastname@example.org
The "ncompress" program is very hard to find, and is not distributed in many GNU/Linux distributions because it uses the patented LZW.
I think the original version of bzip was impeded in that the arithmetic compression section was taken out.
Kyle Sparger email@example.com
"It also used arithmetic coding as the entropy encoder, but this had to be changed to Huffman coding in bzip2 for patent reasons, it seems." – >http://www.kyz.uklinux.net/packers.php3#bzip2
Patrick Goltzsch Patrick.Goltzsch@Hanse.de
I'll point you to Jean-loup Gailly <firstname.lastname@example.org> who wrote zlib. During my journalistic investigations on software patents I came across his home page (http://gailly.net/), where he describes his difficulties with patents. Actually a never published version of zlib did violate a patent. He found out about it before publication and changed it accordingly.
If he did not already answer himself, you should write him, I'm sure he's very cooperative.
Niels Möller email@example.com
With the Roxen web-server, there were two well-known patents that caused some trouble: The RSA patent (now expired) and the lzw "gif" patents.
The consequences (that I know of) were limited distribution to the US.
I'm no longer working with Roxen, so for more information it is probably better to mail firstname.lastname@example.org than me.
Stefan Rieken StefanRieken@SoftHome.net
I heard telling that GCC suffers because there are a whole bunch of optimization algorithms with patents. To find out more about that, you'll have to check with GCC.
There's the graph colouring algorithm used in register allocation in gcc that had to be replaced by a multi-pass algorithm IIRC.
Francois PELLEGRINI email@example.com
I have been told that register coloring, although the best available algorithm for register allocation in compilers, is not implemented in GCC because of an IBM patent...
Ian Lance Taylor firstname.lastname@example.org
In early 1996, when I was employed by Cygnus Solutions, I spent about a month working on gcc patches to do memory bounds checking. I patched gcc to generate a call to a bounds checker around every memory access. Array references to arrays of known size were handled by inline checks which were constant folded when possible. The compiler used constructors to automatically register every static variable. Different versions of malloc and free were used to register heap data (I implemented the linker –wrap option to make this easily controllable at link time). It was possible to link code compiled with checking with code compiled without checking.
The idea was to permit easy detection of memory access errors. This was based on the Purify product from Pure Software (now part of Rational). Their product was linker based. This had the advantage of not requiring recompilation, but the significant disadvantage of only working on a few platforms. Since Cygnus was primarily an embedded development tools supplier, it was critical that we be able to supply this feature for arbitrary platforms which Purify did not support.
However, the project was cancelled, because Pure Software owned patents on memory checking. It was not clear whether my code interfered with those patents, since their product was linker based, but based on reading the patents violation was a possibility.
Pure was known to be a litigious company, and had sued other companies to uphold their patents. At that time, Cygnus was a relatively small company, and a lawsuit would have been a serious drain on our resources. Therefore, the project was cancelled.
I estimate that I implemented about 80% of the required work. I developed a simple testsuite of some twenty or thirty cases which were all handled correctly. Most of the remaining required work was optimizing the data structures and implementing compiler optimizations based on known memory access checks–avoiding checking the same area of memory twice, coalescing memory checks when possible, etc. The goal was that checked code run at at least 50% of the speed of ordinary code; I don't know whether or not I would have reached that goal, as the project was cancelled before I did any serious speed testing.
I'd be happy to answer questions, although of course this was a few years ago so I no longer recall all the details. I am no longer at Cygnus, and I don't know if the work I did is still available.
Tuomas Lukka email@example.com
This is home of my hyperbolic browser of Java profile. It allows to represent results of Java profiling in more readable way, as well as it offers cool interactive hyperbolic representation of packages, classes, methods and calls of your Java program.
You can NOT currently download HyperProf-1.3.tar.gz(90K) or HyperProf-1.3.zip (132K) because Xerox have patented algorithm for tree visualization which is similar to one used in HyperProf and things should be settled down first.
So this is one piece of really interesting visualization software that has been withdrawn. Sad but true.
Around February 2000, I heard about W.R.Hambrecht and Cos.' IPO scheme that was based on the work of the Nobel prize-winning economist John Vickrey. It's basically a fairer way to arrive at the issue price of a share based on potential investors' bids. The share floats at the highest price at which the required funds can be collected, not some arbitrary price decided by underwriters.
I thought of writing a free software package to enable underwriters to run such an IPO themselves, but first contacted W.R.Hambrecht & Co. to see if they had patented the procedure. I can dig up the relevant correspondence (it's on another machine's mailbox somewhere...) but the gist of their reply was that they had made significant innovations on top of Vickrey's work and that they intended to defend their intellectual property. They did not explicitly mention any patent. I lost interest in pursuing the OpenIPO software after that, even though I have the engine ready and working. If the patent threat is removed, I'll be happy to resume work on it.
Ganesh Prasad http://netwinsite.com
Tom Tromey firstname.lastname@example.org
There are many patents surrounding how to implement virtual functions in C++. Many of the obvious approaches to implementing vtables are patented. I believe this has affected the design of the new G++ ABI.
Jason Merrill email@example.com probably has more details.
Marc van Woerkom firstname.lastname@example.org
If you haven't noticed yet, check out the Slashdot article on CDDB's stupid patent.
An Anonymous Coward writes: "Today I received a very ominous package from GraceNote, owners of CDDB. Already infamous for turning a wonderful open project into a quagmire of heavy contracts, licensing fees, forced user registration and anti-competition clauses, the package from GraceNote contained one thing: copies of their patents, freshly awarded. "Don't even think about using FreeDB", the packaged seemed to silently imply, "because we own the patents, period." That patent? "Method and system for finding approximate matches in a database." Ouch. Thanks, USPTO." Scary: I use freedb constantly. I'd hate to lose it.
Method and system for finding approximate matches in a database. http://www.delphion.com/details?&pn=US06061680__
Robert Kaye email@example.com
Two years ago I started a project called the CD Index (http://www.cdindex.org) which was aimed to be a replacement for the CDDB system. CDDB is designed to look up the title, artist name and track names for a CD, so that a software CD player can display the titles during playback.
Once upon a time CDDB was open and the data was freely available to anyone who cared to download it. The server source code and the client source code to calculate the unique ID for a given CD were freely available on the net. IANAL (I am not a lawyer), so I cannot tell if this would qualify as prior art to discredit this patent, but it sure smells like it.
After a few years in existence CDDB was sold to Escient Inc., who then stopped making the data available on the net and started to force creators of software CD players to agree to very restrictive licensing agreements in order for their players to access the CDDB database.
These restrictive licensing agreements to access the data that was contributed by the general public were the motivation for me to create the CD Index. This summer I started the follow up project called MusicBrainz (http://www.musicbrainz.org) in order to generalize the project to be an open metadatabase for audio content. The system now supports the identification of MP3s and Ogg/Vorbis files as well.
Last week CDDB/Gracenote (formerly Escient) was awarded a patent which now restricts the calculation of a unique ID for a CD/DVD disk based on the table of contents of the CD/DVD. The patent also coveres other aspects, but this is currently the most serious issue. Slashdot covered this patent in the following article:
I have not received a cease-and-desist letter, but given the CDDB's previous track record it cannot be long before I will get that magic letter. Without having read the complete patent, I cannot say how MusicBrainz will be affected. In the worst case scenario, we may need to stop our service to look up CD information.
If you have further questions, or if I can provide you with more information, please don't hesitate to ask. My contact information is below:
Robert Kaye Emusic.com SLO 1304 Garden St. San Luis Obispo, CA 93401 (805) 785-0607 firstname.lastname@example.org
Thank you for taking the software patent issue up, and thank you for all the efforts of the GNU/FSF team.
Drew Streib email@example.com
Relevant patents are 5987525, 6154773, and 6061680.
(Drew sent anothe email where he exchanged some comments with John Gilmore from EFF)
I've done some research in the subject and believe that the patent is invalidated by prior art.
Francois PELLEGRINI firstname.lastname@example.org
I think Bruce Perens was threatened over his ElectricFence bounds checking system for C programs by a company which obtained a patent while he was still developing it.
If I remember well, the memory leak checking algorithm was patented by Pure Software for its "Purify" tool. Pure software merged with Atria (www.pureatria.com), and finally got swallowed by Rational Software (www.rational.com).
If I remember well, Pure Software reportedly threatened to sue any individual trying to produce a libre enhanced version of memory-leak checkers. It is why, although the need for such a tool is obvious in any libre distribution for developers, it is still missing.
Michael Rothwell email@example.com
I've recieved two letters from the law firm representing Digital Convergence. I didn't back down, and they have not (as of yet) done anything about it. As far as I know, they are licensing NeoMedia's patents (search for NeoMedia on delphion.com). They've written a LOT of these letters, and most people folded.
Richard M. Stallman firstname.lastname@example.org
WAP could be a good example of software patents that can be very harmful. WAP includes a whole series of gratuitously-incompatible modified versions of standard Internet protocols. The idea seems to be to sell the public mobile phones that can only talk to specially designed servers, not to ordinary Internet servers. And since the protocols are patented, it will be impossible to write free software to set up those servers.
You can get more information from the Free Protocols Foundation.