Ask Slashdot: Using Code With an Expired Patent?
kruhft writes "I was recently doing some research into Genetic Programming and found a library through a blog post that looks to be useful. After looking over the code and license, I found that this was the first piece of code I had seen that was protected by a patent, issued on June 19, 1990. I read that patents last for 20 years, meaning that the patent that this code refers to is expired. Is there any way for me to be sure that using this code is safe from any patent troll attacks if I choose to use it? Would rewriting the code keep me from violating any other patents that the author might have regarding the use of such an algorithm? Does the code pass into the public domain after the patent expires?" Note to Chrome users: the above link ("a library") works for me in Firefox, but not in Chrome on Linux; YMMV.
The original Koza stuff? I can't imagine how useful that would be in these modern times, but you know your problem better than I do.
What I can tell you is that Koza never stopped working on it, so even if the exact code you're looking at isn't covered by patents, whatever you adapt it to do might be covered by a different patent that was assigned after that date.
A patent covers the method, not the implementation. If the patent is expired and the code is not covered under copyright, you can use it. If there are other patents that cover it that aren't expired, then you'd still be exposed to trolling.
(IANAL)
>Is there any way for me to be sure that using this code is safe from any patent troll attacks if I choose to use it?
Short answer: No
Long answer: There are duplicate patents of everything out there. This was explained in the This American Life episode 441. http://www.thisamericanlife.org/radio-archives/episode/441/when-patents-attack
Solution:
Stop looking at patents, you idiot. Actively looking at patents and then violating someone's patent means that you "knew or should have known" of the other patent, infringed on it deliberately, and are now liable for triple damages. This is in contrast to "incidental" infringement of someone's patent.
--
BMO
You will have to rewrite the code to avoid copyright.
You could ask him if you can use the code if it was never used for anything profitable he could be a nice person and let you credit him.
Relying on Slashdot for legal advice ? Not wise.
The code is also protected by copyright, which is the real opposite of public domain, and lasts basically forever. The idea is no longer protected by patent, so you can now make your own, clean-room implementation of the idea without violating the patent.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
The copyright doesn't expire after 20 years, so you cannot copy the code. You can re-write it, though. As long as you have never seen the original.
Note that nothing makes you safe from patent troll attacks, but using 20-year old code is as close as you will ever get. Mind you, someone will probably claim that combining two obvious techniques covered in Knuth, written in expired patents, in the same software, is covered by their patent issued last year. Even if you just copied an example from K&R.
Prediction for end of Universe #42: Fencepost error in Quantum_bogosort.cpp
Even if the patent has expired, the code is presumably covered by copyright (which has a much longer term than a patent). You can use the underlying method described in the patent, but you'll have to write your own code implementing that methodology.
Patents cover ideas, not implementations. Rewriting the code with the same idea still violates the patent. Rewriting would allow you (maybe, depending on how you rewrite) to avoid a copyright violation claim. But for patents, you are busted no matter what you do if you use the same idea/mechanism as the patent holder. Again, they have power over the invention's premise, not its specific implementation.
"Who is the Journal of Quantum Physics going to believe?" --Stephen Hawking
also patents != copyrights
OK .. seriously RTFL .. it says explicitly right there under what circumstances you can use the code. Did you read it? Did you attempt to contact the Author? Do you need your nose wiped by the /. crowd as well?
I am Slashdot. Are you Slashdot as well?
Verify that a patent was filed, then check with a lawyer. The lawyer should be able to tell you:
a) if the patent has actually expired
b) how to reproduce the library as closely as possible to the patent's description without being sued over copyright (over the original library)
If it has expired and you can reproduce the library without violating copyrights, that patent should be a good defence if someone claims that you violated their patents (on that portion of your code).
That's also why you were supposed to put your patent # on your useful invention, so that other people could know how to look it up.
Really? I honestly thought is was a "don't copy this or I'll sue your ass off for infringement" warning; like the "Patent Pending" folks like to put on their stuff.
Patents applied for (or claiming continuity) before 8 June 1995 have a term of either 17 years from date of issue or 20 years from the filing date (or the earliest filing date in the continuity chain), whichever is longer. On or after that date, the term expires 20 years from the filing date (or the earliest filing date in the continuity chain). This is modified by any patent term adjustment printed on the face of the patent, which results from some kinds of delays during examination caused by the USPTO. If the applicant filed a terminal disclaimer in the patent, then they have disclaimed additional patent term beyond the expiration of some other patent because of "double patenting" issues. Additionally, the patentee must pay maintenance fees at 3.5, 7.5, and 11.5 years after the date of issue to avoid abandonment of the patent.
And that's not even all of the potential caveats related to patent term expiration.
In this case, of course, the patent in question expired a few years ago at least. A clean room implementation of that patent (to avoid copyright issues) will have no patent hassles arising from that particular patent. There could be other patents covering related techniques or improvements on that same technique that are still in force, although the risks associated with that are similar to the risks faced by anyone writing code these days.
The 20 years is not hard-and-fast. For one thing, it used to be 17 years from issue, and I believe in 1990 they used the old calculation method. Now it is 20 years from filing. The 20 years is very often extended using a complex equation that comes out different if you look at it funny. So get a patent attorney to confirm that it's expired, and that there are no other patents that you might be infringing (where there is one...).
...may mean you are screwed.
"This post is an artistic work of fiction and falsehood. Only a fool would take anything posted here as fact."
Write to the guy and ask for his terms for licensing the library. If it's not too expensive, well and good.
If it's not worth it for your product, you know what to avoid in your own code.
That's not just any code you found there. And it's protected by more than one (maybe, probably not) expired patent:
United States patents 4,935,877 5,136,686, and 5,148,513, foreign counterparts, and other patents pending.
That's code written by a University of London Computer Science professor, and he didn't pay for those patents out of his university salary. UCL paid for them. I would imagine those patents are quite intact, as large research universities don't often let go of IP like this. Especially genetics code in the age of Big Pharma.
You won'y have to worry about a troll. You'll get the scientist and the university that hold these patents. Good luck! You're gonna need it!
Under the Berne Convention (which has been in effect in the US since 1989), copyright is automatic and does not require registration.
Do you even lift?
These aren't the 'roids you're looking for.
Given that the patent has expired, and the state of software licenses on sample implementations have moved on a lot since the 90's ask the author. Just write him an email or snail mail asking if he'd be willing to license it under a more modern license. Modified BSD, LGPL, GPL or Creative Commons etc which would protect him and you. You'd be surprised how often that works, mainly because most authors hate to see a bit of code go to waste and it's nice to know something you wrote so long ago can be of use.
Assuming you can prove the code is 20 years old either patents used in the code have expired or later patents are invalid due to prior art that would hard to ignore.
Unless the code modified to include new patents he should be safe?
It's public domain now, so go ahead and use it.
NO.
There is no copyright issue because the inventors did not reserve their copyright.
"Rights reserved" is not required for a work to be covered by copyright. The notice used to be required, in the US, but this was changed, for any work published after 1989 in the US, a notice is not required; copyright is automatic, as soon as a novel work with the required 'creative aesthetic' is fixed in tangible form, and is owned by the person who created the work. Today only ~20 countries in the entire world require any sort of notice.
The notice is for the benefit of those countries, and it is a reminder to the owner of the copy, what rights they don't have. Damages will increase if you remove a copyright notice, or prepare and distribute copies of a work with a copyright notice, as it will be presumed willful infringement -- you cannot claim ignorance (the notice is right there, in black and white.)
Besides the software very clearly states:
Paying for a lawyer to tell you he can't actually help you, not wise.
You'd think computer programmers wouldn't be quite so stupid. I'm researching building codes for secondary suites today, as someone I know is looking at purchasing a nearby property. There's the official act, which is buried behind a paywall. There are also unreliable secondary sources, which I can click through immediately. Should I even bother?
Here's the thing. Willing to take on the risk if:
plumbing + electrical conversion < $refit_budget
Either *alone* (you've heard of short circuit evaluation) could render the decision negative. Each might have a fee required to obtain authoritative information. Money is saved by accessing *first* the official code with the greatest chance of rendering a negative decision (suitably weighted by the fee required).
Now how am I supposed to weight the odds without asking complete idiots? The authoritative sources are stuck behind the fee I'm trying to minimize.
Rely upon is so "Wikipedia will never work" it makes me puke. There's a lot of potential for prudent cost minimization long before you have to pay the fucking lawyers their extortionate fees. Excellent lawyers that don't charge fees are as common on the ground as massless pulleys.
The whole point of social group-think is to retune the balance of power until you're pretty sure you aren't paying a lawyer his hostage fee for a hostage he doesn't actually have.
I don't mind paying lawyers for services rendered. A proper title search is real work. I do mind paying lawyers for making me feel like chicken shit. I live every waking hour of my professional life navigating rule based systems, but somehow the building code surpasses my intellectual powers of first appraisal?
Primo Levi once wrote a book titled, "If not now, when." If the technologists of the world are not willing to stand up and say "your rule based system is full of shit" then what?
After self-driving cars become routine, textual analysis of laws and bylaws is in the gun sights. There are already TED talks setting up traffic cones for the battle to come:
Four ways to fix a broken legal system
No shit, Sherlock. And that's just the first one I found. Adding a strikethrough attribute to "get a lawyer" as sage advice concerning matters of everyday practicality would make a decent life mission. Don't get me wrong: conflict happens. With the potential for real conflict, you most definitely want to talk to professionals, and the fees won't be trivial. But no-one asks any more "Is there potential for real conflict?" What we ask is "Would you rather feel chicken-shit wise or self-assured stupid?" Who wants to live in a world like that?
No, the point was to get inventors to publish how things work. In exchange they were given exclusive rights for a number of years. This is the first I've ever heard of the unfortunate wording you chose (get ideas of things to license). The point was to spread know-how. The sacrifice was limited exclusivity.
First of all, there are so many overlapping idea patents that it almost certainly has contemporaries. The adaptation of the patent system to cover "processes" has lead us to a quagmire that a corrupt government (such as ours) is paralyzed to strike down. The only way we will see an end to the idea of idea ownership is when it hurts the big dogs. Then.... things will change. I see it starting to crumble now, let's hope this oppressive, startup crushing culture of "more IP better" comes to an abrupt halt soon.
I would think that asking a patent lawyer would be the only thing to do. Any advice here is just that, advice.
Jack of all trades,master of none
1989? Wasn't it in the late 1970s when the US adopted the Berne Convention?
>Is there any way for me to be sure that using this code is safe from any patent troll attacks if I choose to use it?
Short answer: No Long answer: There are duplicate patents of everything out there. This was explained in the This American Life episode 441. http://www.thisamericanlife.org/radio-archives/episode/441/when-patents-attack
If you look up the patents they're referring to, one is a continuation of the other. They're not duplicates - an inventor is allowed to file a patent application, and then later file a continuation application claiming priority to the first. The first one is not "prior" art for the second one, because they have the same effective filing date.
This American Life simply got it wrong.
Solution:
Stop looking at patents, you idiot. Actively looking at patents and then violating someone's patent means that you "knew or should have known" of the other patent, infringed on it deliberately, and are now liable for triple damages. This is in contrast to "incidental" infringement of someone's patent.
This is also not correct. The author looked at a patent and reasonably believes it has expired. Accordingly, the author has a reasonable belief that the claimed subject matter is no longer subject to an active patent. Thus, performing the patented method would not knowingly be infringing a valid patent.
Disclaimer: I'm not your lawyer, this is not legal advice, and should not be relied on.
Further disclaimer: You're not a lawyer either, BMO, and so you shouldn't be giving incorrect legal advice without a disclaimer.
1989? Wasn't it in the late 1970s when the US adopted the Berne Convention?
Last I checked, the law was called the Berne Convention Implementation Act of 1988, not 1969.
I tried, but they didn't believe me when I told them what America would be like in the year 2011.
Odd, because I just bothered to check myself, and indeed the Copyright Act of 1976 did away with the notice requirement. You are correct, however, that the act did not harmonize US Law with Berne, just with the Universal Copyright Convention.
I'm sure someone has refiled by appending "using the Internet" to the original claims.
Have gnu, will travel.
Looking at the original code is and developing ANYTHING, including a set of requirements/specs means that your implementation is no longer a clean room.
You're wrong. http://en.wikipedia.org/wiki/Sony_Computer_Entertainment,_Inc._v._Connectix_Corporation
In some cases, it can be justified to use original code in the process of reverse engineering. This is particularly the case if the original code is the only available reference to the actual behaviour you need to implement.
Rewrite it in Perl, if they can't read it they can't prove you copied it.
If the original is in Perl, your defense would be that you can't have copied it, since you couldn't read it...
Confucius say, "Find worm in apple - bad. Find half a worm - worse."
Read the first paragraph of the license. It's covered by three patents, two of which are still in effect because they were granted in 1992. You have until September 2012 before they expire, assuming no continuations have been granted, and there is still the matter of copyright.
I work with genetic algorithms and genetic programming (GP), which is what the code in question is used for. John Koza once used the GP code to evolve a circuit that designed around an existing Wi-Fi patent. http://ipbiz.blogspot.com/2007/10/evolutionary-approach-to-design-around.html. I find it ironic that the current question is how to write code that designs around the original GP code. Technically you could use the GP code to evolve code that didn't infringe on the copyright or patent of the GP code.
Just a clarification. John Koza wrote the possibly expired patent code. Their also seems to be a lot of interest in patents recently as witnessed in this Economist article and story on Planet Money. http://www.economist.com/blogs/democracyinamerica/2011/08/intellectual-property?fsrc=scn/tw/te/bl/patentsagainstprosperity
Just move to Canada and stop worrying about software patents.
It's very nice here. As long as I start from scratch (and check licenses on things I do copy/use) I can sleep soundly at night knowing nobody can suddenly go "AHA, you re-implemented something I created 10 years ago, but silently patented without ever using!"
Comment removed based on user account deletion
You have to be concerned with both patent and copyright. The patent will protect the functionality and structure - and may not be expired. Although 20 years has passed, patents can benefit from term extensions due to delays in processing at the USPTO. These term extensions can last for years, depending on the length of delay. Also, be aware that if in the public domain, the public has the right to use the inventions claimed by the patent (or disclosed but not claimed) - and EXACTLY those inventions. Improvements, feature additions, or other enhancements may be covered by another patent. This means that you can independently write code that would be covered by the patent if it was still in force.
As for the *code* that is protected by copyright. In the US, code authored by a company has a copyright of 95 years after publication. Code written by an individual probably has a copyright term of the duration of the life of the author plus 70 years after the author's death. You may not be able to copy the code without a license.
The intersection between patents and copyrights can be a tricky one for software. You should consult an experienced software IP attorney who represents you to get advice.
Laws affecting technology will always be bad until enough techies become lawyers.
... and if a patent troll appears threatening you with a "patent" ridiculously broad and obvious, shoot him in the head. twice.
Religion: The greatest weapon of mass destruction of all time
Posts like this are risky. If you have a "paper" trail that you are writing code that may infringe on patents, then if there was ever patent litigation against you, they could take this article as proof that you knowingly infringed on their patent. If you knowingly infringe, then the damages are tripled.
If you're an engineer, and you're looking up patents to make sure that you steer clear of patent trouble, don't leave any trace that could be subpoena. Don't email, don't post to Slashdot, etc. Talk on the phone to a lawyer, or speak in person.
That's why a lot of tech companies actually block patent websites for their engineering staff.