Patent Issue Delays Doom 3 Source Code Release
An anonymous reader writes "id Software is still planning to release the Doom 3 source this year, but it's been delayed by a patent issue that's causing John Carmack to personally rewrite some of the code. The patent issue in Doom 3 concerns the Carmack's Reverse algorithm and has led Carmack to rewrite it in the open-source Doom 3."
So some patent troll deserves money because someone discovered something a random genius discovered again from scratch a year later, long before the patent was granted? And this helps innovation somehow?
This time, the pages linked from the story are very helpful. Carmack independently discovered the algorithm a few months after Creative's employees. They properly patented the process. I'm not sure how it escaped litigation this long; Carmack's lawyers were right to question this issue before the code release.
This has all been above-board WRT Creative. It merely raises the question again as to whether patents should last over 10 years, or whether patents should be issued for software in the first place.
Gamingmuseum.com: Give your 3D accelerator a rest.
For patents, the filing date is what counts in this scenario. The one to file first "wins". There's more to it, IIRC, as you can claim priority on public disclosures and foreign patents. So if you publish something in a scientific journal, say, you have a year to file a patent for it, and your invention is protected retroactively since the publication date in the journal. Someone who knows U.S. patent law better feel free to chime in with corrections, I'm not 100% sure about it. I'll ask a patent lawyer at work to see if he has anything to add to that.
A successful API design takes a mixture of software design and pedagogy.
The key is the scope of the claims in the patent, which is what defines what the patent covers and doesn't cover. Claims are not code, so they can cover multiple specific implementations of an invention.
As for Carmack's work as prior art, it would only count if it were published (or on public use or sale in the US) more than a year before the filing date of the patent (or less than a year if the patentee can't show that they had invented it before said publication/use). In any event, prior art on or after the filing date of a patent isn't actually "prior".
I realize there may be a financial incentive for rewriting what is no doubt a fair chunk of one of the key "selling points" of the DOOM 3 engine, however I'm glad to see that this is being done so the source can be released *publically*. Even if not much comes from it, I personally enjoy going over the code released from id Software...it's like going and in time and watching Da Vinci with a hammer and chisel.
(Yes, yes "Carmack's no Da Vinci", but he is as close to one as most Programmer's can get.)
"When I am king, you will be first against the wall..."
It's like we're trolling ourselves.
"Here Lies Philip J. Fry, named for his uncle, to carry on his spirit"
I sent John Carmack an email about this back in April 2009:
Hi John,
I believe you've said publicly that you are planning a GPL release of the Doom 3 source code, but I remember around the time the game was launched you had Creative holding a patent on the shadows algorithm, and you assuaged them by including support for EAX. Is that still causing problems?
-Dave
When we release the code (no date set), anyone that uses it would potentially be infringing. There are workarounds at a modest performance cost.
John Carmack
It sounds like id's lawyers are asking him to implement one of the workarounds he mentioned before he makes the public release.
I think it's actually the reverse, at least currently. I believe the US is currently a first to invent system. However, there is legislation that is either going to be passed or may have just been passed recently that changes it to first to file as you described.
I'm not sure how that would apply retroactively, though, nor am I sure what date such a change would take effect if it has already been passed.
The problem is that due to the way patent law works in America, someone would have to be sued for infringement, then fight it in court, and win. You (generally) can't preemptively sue for an ironclad declaration of non-infringement. AFAIK, there IS a process for seeking a judgment that your use is non-infringing, but the barrier and risk is VERY high; if you lose, it's considered authoritative proof of intentional infringement if you do it anyway (and thus subject to treble damages), and if you win, you can STILL lose a later lawsuit for infringement... it just demonstrates that you made a good-faith effort to not infringe, and therefore should not be subject to treble damages. In other words, heads they win, tails you probably still lose anyway.
Another thing to remember is that you can patent a specific novel implementation of something covered by a broader patent, but it doesn't invalidate the broader patent. It just means that if somebody does the patented thing the specific way YOU patented, you can get in line behind the original patent owner and sue for infringement as well. However, a license from you would not recursively grant a license to the broader patent. In an ideal universe, there would be a fair, objective, tech-savvy arbiter who could look at the broader patent, your patent, and say, "The broader patent has merit, but your patent is what really gives it 99% of its value, so we'll allow you to license your patent, then mail a check for 1% of the amount to the owner of the broader patent & tell him to have a nice day." Unfortunately, the way it works in the real world is that the holder of the broader patent has veto power over the whole transaction, and by the time everything is said and done, you'lll be lucky to end up with the table scraps and crumbs. It's a serious shortcoming of American patent law, and unfortunately it's something that nobody has ever really come up with a good, objective, and fair way to fix.
Problem is - it's not his patent, but Creative's. Turns out that he independently reached the same algorithm as they did, and iD "licensed" it when they used EAX.
"Go forth, and be excellent to each other" --Bill & Ted
So Carmack is doing something for the good of society, and a commercial company chooses to add a roadblock. But rather than give up, he spends his own time to rewrite the algorithm in a way that avoids the patent. That is a phenomenal level of dedication to the open-source community. He doesn't have to release the code. He doesn't have to rewrite that section.
Thank you John.
"The idea that I can be presented with a problem, set out to logically solve it with the tools at hand, and wind up with a program that could not be legally used because someone else followed the same logical steps some years ago and filed for a patent on it is horrifying." - John Carmack
This is an amazing gift to the FOSS community. Not only are they just deciding to give away code they don't use anymore - but they are putting SERIOUS EFFORT into making it safe to release to the community. This shows without a shadow of a doubt that Id Software are GOOD GUYS. We need to give these guys our thanks.
Whats the harm in yelling 'Computer, end program!'? You could be living in Star Trek! Go on.. give it a try.
When I was your age, we http://www.youtube.com/watch?v=W1ZtBCpo0eU
Enjoy :)
!!!
And at the same time, "modest performance cost" is probably negligable at this point. Doom 3 was released in 2005 according to wiki, and via Steam in 2007. While the margin of improvement has slowed, systems will be quite a bit beefier by the time it is released. And when open source takes hold of it and makes derivative games (I mean that in a good way) the hardware will be able to compensate.
Remember, this patent is for a speed hack, which is generally useful for about 5 years max in computer land. The speedier algorithm of Phil Katz's pkzip over other libraries largely disappeared due to the i/o bottleneck by the time open versions were widely used. Today, it's faster in most cases to have a file zipped on disk, and unzipped while being read into memory (if async i/o is used of course, and even if not the overhead is still a tiny part of the operation).
Dude, that's awesome! You should patent that...
It sounds like Carmack is implementing a workaround to the Creative patent. That's very decent of him, but there's still nothing preventing release of the original (claimed infringing) source code. At worst, anyone who *used* the source would be infringing but publishing it would not be a problem (the patent is disclosed by definition, after all).
Seeing the original implementation side-by-side with the new workaround would be incredibly interesting, I think.
Really? Those are some wild assumptions you are making. It seems to me more like id is acting (rationally) in their own self interest, because releasing patented code could get THEM (id) in trouble. This is clearly a measure meant to eliminate any liability to the company. It's also not at all clear that they are allowed to release the patented code without permission from the patent holder, so I'm not sure where you're getting that from.
That's why I say just remove it and let the community provide an implementation. Once the code drops, the hastily written code to get around the patent is likely to get rewritten again anyhow. Why waste time on that?
Nobody who reads slashdot or who works in real software development would ever tell you that software patents were good things. Even the devs at Microsoft, Apple, and Google, who hold a significant chunk of all software patents, probably hate them themselves. But we all know this. Complaining about them here is just preaching to the choir. The only way to fix this is to educate the people that make decisions about patents, aka, Congress, about why they are bad, and get their hands out of the pockets of patent trolls like Rambus and Creative. I just had to put that out there. There are, literally, like 1000 stories a week on patent fudges, and its only going to get worse as more and more troll companies buy up patents to sue everyone with them. You don't accomplish anything by explaining to the Slashdot community why they are bad, we all know they are bad.