10 ms·
“I am not authorizing you to release a Ruby port of Metaphone 3”
- thegeomaster 12y agoI think it would be interesting to point out a somehow similar exchange between Richard Stallman and Bruno Haible, the original author of CLISP[1]. Bruno wanted to integrate GNU Readline into the then-proprietary CLISP, but RMS informed him that doing so would be a violation of GPL. After a minor flamewar-of-a-kind, Bruno concurred, because he wanted very much to use Readline, and today the world is richer for another free software Common Lisp implementation. I think it very clearly illustrates how often people don't understand the implications of free software licenses, an issue that, even now when there are loads of FAQs and websites dedicated to just that, remains present. [1]: http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-CLISP-is-under-GPL http://clisp.cvs.sourceforge.net/viewvc/clisp/clisp/doc/Why-...
- meric 12y agoI think the author of the algorithm implementation would have benefited more from a patent than a BSD copyright notice.
- JetSpiegel 12y agoConsidering the last comment on github, the patent office would probably deny the application.
- jacalata 12y agoAre you talking about iand's comment [0]? How does it indicate that? [0] : https://github.com/threedaymonk/text/issues/21#issuecomment-67768738 https://github.com/threedaymonk/text/issues/21#issuecomment-...
- lukeredpath 12y agoIs this the patent for the algorithm in question? http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584
- xorcist 12y agoCertainly looks like it, or at least closely related. Can someone who is not served a localized copy of Google see if it is in fact a patent? (I see "status: application", loosely translated, but that's not something I can check the juridical meaning of.)
- euid 12y agoIf you are able to view this, it is a "United States Patent Application Publication" that is found by following the `view pdf` button on the above link: https://drive.google.com/viewerng/viewer?url=patentimages.storage.googleapis.com/pdfs/US20090043584.pdf https://drive.google.com/viewerng/viewer?url=patentimages.st... Searching on the USPTO website returns no related patents: http://patft.uspto.gov/netahtml/PTO/search-bool.html http://patft.uspto.gov/netahtml/PTO/search-bool.html The indication, to me, is that the patent has not made it past the application process.
- bchociej 12y agoUSPTO's PAIR website indicates that the application was rejected for non-patentability. I'd link it but PAIR doesn't do permanent links. Go to the main page at [1] and type in the application or publication number. [1] http://portal.uspto.gov/pair/PublicPair http://portal.uspto.gov/pair/PublicPair
- steventhedev 12y agoHardly. Alice v CLS only throws out claims based on "performed on a general purpose computer". Mostly, that is enough to refute the remainder of the claims, as they apply to generic mathematical algorithms. Systems such as this, however, have enjoyed patent protection in the past (Soundex, notably), and his own metaphone and double metaphone systems are cited in several other patents. Google patent search is your friend here. Snarky comment: The USPTO has a habit of not denying any applications.
- VLM 12y ago"I think the author of the algorithm implementation would have benefited more from..." Well obviously the meta argument, taking a step back, is if the community insists on porting to ruby, doing all the work for him, such that the happy and cooperative leader can now collect sweet support contracts from MORE corporate users and increase the resume fodder value of his original product... What looks better on dude's resume: Author of a Java library with 1000 users resulting in $50K/yr support contract revenue or Author of a multiplatform Java and Ruby library with 2000 users resulting in $100K/yr support contract revenue or Author of a Java library, got into a fight with the ruby community mostly because I don't know the difference between licenses, copyrights, and patents, and now I've only got 500 users and $25K/yr of revenue
- blcknight 12y agoI don't see how his argument holds water, the BSD license is quite permissive, and porting software to another language sounds like a modification to me, assuming you keep all the copyright info intact. He still holds the copyright, but he's granted everyone a worldwide right to use the software with or without modification... And apparently he doesn't know what the common meaning of "FOSS" even is. "Metaphone3.java was released as part of the Open Refine Package under the BSD license" and then "It does not, contrary to popular belief, automatically declare the algorithm to be public domain, or the software to be FOSS. "
- new299 12y agoIf he really does own a patent (http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584 referenced above). Then I can kind of see the argument. He's provided a BSD licensed implementation, but you don't have a license to use the patent. Perhaps that means you can share it, compile it, but if you use it you're in violation of the patent? It seems rather odd but not totally inconsistent.
- Kiro 12y agoI expect to see a Ruby port by the end of this day.
- viraptor 12y agoYeah, he pretty much screams for the Streisand effect to take place there. I expect a number of ports this week just because he says they can't be done.
- gear54rus 12y agoRightfully so, IMO. Would hate to see another idea getting lost and forgotten because of copyright BS.
- briandear 12y agoI hope so; it would be really useful.
- ris 12y agoNope. Can't copyright an algorithm. Would have to use patents and software patents are on highly shaky ground.
- sysk 12y agoFor others wondering what Metaphone is, here's the Wikipedia description: "Metaphone is a phonetic algorithm, published by Lawrence Philips in 1990, for indexing words by their English pronunciation. It fundamentally improves on the Soundex algorithm by using information about variations and inconsistencies in English spelling and pronunciation to produce a more accurate encoding, which does a better job of matching words and names which sound similar. As with Soundex, similar sounding words should share the same keys. Metaphone is available as a built-in operator in a number of systems, including later versions of PHP." Metaphone 3: "A professional version was released in October 2009, developed by the same author, Lawrence Philips. It is a commercial product but is sold as source code. Metaphone 3 further improves phonetic encoding of words in the English language, non-English words familiar to Americans, and first names and family names commonly found in the United States." http://en.wikipedia.org/wiki/Metaphone http://en.wikipedia.org/wiki/Metaphone
- SwellJoe 12y agoIt's always surprising how little people understand the licenses they publish their code under. BSD does not make something public domain, but it does allow derivative works and inclusion in completely unrelated projects, without permission of the author. Rewriting it, from scratch, in another language generally completely bypasses even the requirement to reproduce the copyright notice (unless there are data structures being copied over, or similar, that copyright would apply to). Algorithms are sometimes subject to patents, though I believe they shouldn't be, and if the author wanted this sort of control over the algorithm a patent is the path he should have taken, but as far as I can tell the author has not patented this particular algorithm (and I doubt it is novel, as it sounds similar to quite a few pre-existing tools in related fields). This is just a sort of weird conversation. Why Open Source something if you don't want people to use it in interesting ways?
- bhouston 12y agoRe-writing the code using the original source as a guide means it is a derivative work if you want to get picky. Changing the programming language doesn't make it non-derivative. If you want a non-derivative work you need to do something like a clean room implementation where the one writing the code doesn't have access to the code of the existing implementation: https://en.wikipedia.org/wiki/Clean_room_design https://en.wikipedia.org/wiki/Clean_room_design BTW this guy can not stop derivative works once he has released it as BSD.
- deleted 12y ago[deleted]
- chii 12y ago> BTW this guy can not stop derivative works once he has released it as BSD. could he just remove the BSD license from all subsequent commits to the code base? The existing code base will still continue to be BSD licensed of course.
- Danieru 12y agoProvided no one else has ever contributed yes he can. In fact this is not unique to the BSD, you can do that with any license. Even proprietary licenses do not force the author to continue using the same license since they own the original copyright.
- chrisacky 12y agoUnfortunately, the author of the Metaphone code (lphillips) keeps talking about public domain as if that is what is the point of contention. When you license something as BSD you aren't putting the work into the "public domain" (as in the legal meaning) but you are giving a very permissive license to the subject of the license. My guess is that Google requested use of the Metaphone 3 package, Lawrence perhaps didn't understand the what BSD meant, but was willing for Google to use it in their Google-Refine (now Open Refine) codebase so willfully let them pick the most permissive license. I'm having a real difficult understanding him from his GitHub comments. It's clear that he never intended his algorithm to be re-useable or modifiable in any way, but if he intends to restrict the future use of his Metaphone 3 code or even prevent a port, he's going to find it impossible.... Lesson learnt... it's clear that a work of this magnitude would have taken thousand plus hours... if you don't intend it to be re-usable, then you shouldn't pick a permissive, open source license such as BSD.
- HackinOut 12y agoIt seems to me that lphilips54 is trying to achieve with a license what we would need a patent for. (He speaks of his algorithm)
- RexRollman 12y agoExactly. Copyright doesn't do what he thinks it does.
- masklinn 12y agoNote that he has a patent on metaphone3.
- bchociej 12y agoCan you link to that? I've only been able to find rejected applications so far.
- mikhailt 12y agoAs far as anybody can tell and based on his comments, no he doesn't have any patents. He mistakenly thought his algorithm was copyrighted and algorithms are not copyrightable in US and generally in many countries around the globe.
- dylanhassinger 12y agonerd fights are funny
- XorNot 12y agoAt this point he's daring someone to do it at which point the only question will be who can afford to fight it. But seeing as how algorithms aren't subject to copyright in the first place...
- deleted 12y ago[deleted]
- slapresta 12y agoI'm pretty sure the algorithm for Metaphone is not theirs, just this particular implementation. Which means there's nothing they can do here.
- Morphling 12y agoAm I missing something obvious here? What would change if this piece of software/algorithm was ported to Ruby? I mean Rubyists would get to use it, but what else would change? This whole thing seems very strange, like if someone would create a cure for a disease and give it out for free and tell everyone how it was made but insit that he be the one who injects every single patient personally.
- Mahn 12y agoIt seems he didn't mean to make it open source, but was asked by the Google/Open Refine team and complied without understanding the implications.
- deleted 12y ago[deleted]
- mariuolo 12y agoI think the author has no clue about copyright law. If he wanted to legally protect his algorithm he should have patented it and given a licence to use it only with his BSD-licensed implementation. Still, IANAL.
- bjornsing 12y agoWell, for all we know that's exactly what he has done [1]. ;) 1. http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584
- bchociej 12y agoWhy BSD license it if you don't want others using it? That's the point of the BSD license. "Redistribution is permitted" etc.
- facorreia 12y agoThe license literally states that redistribution in source form with modification is permitted, provided a few conditions are met. https://code.google.com/p/google-refine/source/browse/trunk/main/src/com/google/refine/clustering/binning/Metaphone3.java https://code.google.com/p/google-refine/source/browse/trunk/...
- lotyrin 12y agoHe also, some months ago, opened an issue on a Python project to implement the algorithm... but with no text or comments. Just a title: "M3" https://github.com/coolbutuseless/metaphone3/issues/1 https://github.com/coolbutuseless/metaphone3/issues/1
- lukeredpath 12y agoI don't have the time to read it and verify but could this be a patent for the algorithm? If so, does it make any difference anyway? http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584
- rwmj 12y agoInteresting that the patent was filed 17 years after initial publication of the algorithm.
- networked 12y agoThe patent is for Metaphone 3, a new version of the algorithm that was released in October 2009 and improves on the previous ones. The differences are why the Ruby gem, which already has Metaphone and Double Metaphone implemented, got a discussion going about porting Metaphone 3 from Java. Edit: wording.
- deleted 12y ago[deleted]
- charlesdm 12y agoIf he's the holder of that patent, "Lawrence Brooke Frank Philips", then he can enforce it no? At least in the United States.
- mistercow 12y agoMinor point, but that's actually an application, not a patent. It might be a patent later, but it isn't yet.
- pronoiac 12y agoI thought best practice for software developers was to not look at patents?
- chippy 12y ago
- faragon 12y agoClean room design, anyone? https://en.wikipedia.org/wiki/Clean_room_design https://en.wikipedia.org/wiki/Clean_room_design
- jacques_chester 12y agoThis is why, in matters of law, you should consult a lawyer. Stuff you remember from TV is not the law. Half-remembered Slashdot debates are not the law. The law is the law. It varies from place to place and from year to year. It is large, complicated and subtle because it covers everything humans do, which is a large, complicated and subtle problem domain. Seriously. If you have a legal question: see a freaking lawyer. A few hundred bucks to change the entire course of your life is a bargain. It's less than some plumbers.
- kerkeslager 12y agoI'm not a lawyer, so I won't comment on who is right here, but I will say that if your business model relies on the law, you should have a lawyer on speed-dial.
- anu_gupta 12y agoIMO, @threedaymonk has handled this maturely and well. https://github.com/threedaymonk/text/issues/21#issuecomment-67771515 https://github.com/threedaymonk/text/issues/21#issuecomment-... > "I'm not going to port Metaphone 3 to Ruby, nor am I going to accept or merge any such ports at this time. > Whilst the licensing of the Java code in question clearly and unambiguously permits such a port, @lphilips54's stated intentions for reuse of the code are unclear and contradictory. I can't see that any benefit would come from integrating something that is surrounded by such confusion."
- dragontamer 12y agoWhat is legal to do, and what is moral to do doesn't always match up. I'm sure they're within their legal right to copy the code if they wanted to. But that wouldn't be the moral thing to do.
- TillE 12y agoI don't think there's a clear moral component here, unless someone can demonstrate that the author would suffer actual damage from such a port. It would certainly be a little rude, though.
- nknighthb 12y agoWhat's rude is granting a license and then trying to take it back after people have relied on it.
- Thimothy 12y agoWell, he makes a living from that code. It looks like he made a mistake with the license but I don't think is morally right to sabotage his source of income just for that mistake.
- masklinn 12y ago> I'm sure they're within their legal right to copy the code if they wanted to. I'm not sure they're within their legal right to do so given metaphone 3 is patented, and the BSD license does not include patent grants, so the patent grant has to be obtained separately from the license.
- logfromblammo 12y agoThis sounds like a call for the FOSS community to produce a phonetic similarity algorithm that is not encumbered by patents. Metaphone 3 is patent-pending, and the author obviously intends to profit from it. Porting the code released with BSD license would effectively just be donating the work to a private individual. Be glad that the guy was good enough to warn people ahead of time, instead of submerging a patent submarine and surfacing after someone creates a big payday for him. The idea itself, to determine phonetic rules from spelling quirks in English, is non-patentable, but the specific rules he formulated may be. Anyone else could spend "thousands of hours" creating their own rules. We already have a few in the public domain, such as the "i before e" rule, where the "ei" in "neighbor and weigh" is phonetically an "a", which implies that "-eigh-" is the spelling pattern, which also holds in "eight" and "neigh". See? Free head start for FOSS.
- bchociej 12y agoThe patent application linked numerous times in this thread is listed as abandoned after being rejected for non-patentability. Type the application or publication number into [1] for details. [1] http://portal.uspto.gov/pair/PublicPair http://portal.uspto.gov/pair/PublicPair
- logfromblammo 12y agoMea culpa for not reading it carefully, then. I jumped right into the claims, to see how involved a non-copyright-infringing implementation would be. If there's no patent, the poor guy doesn't have a legal leg to stand on.
- schoen 12y agoMark Rosenfelder has a pretty impressive attempt at computerizing English spelling (with a set of rules and their justifications published in human-readable and machine-readable forms). http://www.zompist.com/spell.html http://www.zompist.com/spell.html
- dewitt 12y agoBefore anyone mocks this guy (sadly, partly too late), please try to keep in mind that he (a) does have a reasonable right to what he says he wants (to have some say in what he believes are his inventions), and (b) it's an illustration that the rules of intellectual property and open source are not always clear, even to those following well-established patterns. While he's inarguably incorrect about quite a number of things, it's always better practice to assume the best of a fellow engineer and treat this as a teaching opportunity, not a cause for pitchforks and belittlement. The package maintainer, threedaymonk, handled it perfectly, imo, by respecting the desires of the individual and not porting it, and closing the issue out quickly without further escalation. While it may have been technically "right" to copy the code, it wouldn't have been worth the damage it would have caused to the person behind it. Credit for handling a unfortunate situation with grace.
- rmc 12y ago> (b) it's an illustration that the rules of intellectual property and open source are not always clear, even to those following well-established patterns. I don't think there is anywhere on the internet that will tell you that you can't copy a BSD licence. How did the original author decide on the BSD?
- Tomte 12y agoThe problem seems to be that he didn't really decide. It's easy to make a quick decision when releasing software that cannot be taken back. And when you're finally realizing your mistake, you can only resort to what we're seeing here: pleas and threats. And of course, on the whole huge Internet you will always have people who defy you either for legitimate reasons or just out of spite. So it's practically guaranteed that you end up with war. I cannot make up my mind whether we should blame him (for being so nonchalant with the license) or Google (for luring him into this trap without properly educating him on the consequences).
- icebraining 12y agoBlaming Google is, in my opinion, patronizing the author. There's no evidence of them having tried to deceive him, and the BSD is a very well known license. I sympathize with him, but that doesn't mean there must be someone else to blame.
- directionless 12y agoI'm a little disappointed to see the original PR locked due to lphilips54's inconsistent statements. While I think the OSS community should be polite and inclusive, I also think that we are all poorer if we ignore contributions due to author behavior. I'm confident that many authors have abhorrent political views and actions. While we should not elevate them as role models, there are times it's reasonable to just use the code.
- gburt 12y agoHe is wrong [0] in his interpretation of copyright and the BSD, but I think his wishes for his code should exceed his misunderstanding of the relevant law. Further, I think this is a patent (application?) on M3, which is what he is wanting to say with the "Public Domain" stuff [1]. [0] Though, IANAL. [1] http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584
- ddoolin 12y agoThe file in question, for anyone curious: https://github.com/OpenRefine/OpenRefine/blob/master/main/src/com/google/refine/clustering/binning/Metaphone3.java https://github.com/OpenRefine/OpenRefine/blob/master/main/sr...
- matheweis 12y agoIt's too bad groklaw isn't still around, it would have been fun to try and get thier take on this.
- davorak 12y agoIndeed! I miss groklaw tremendously.
- _JamesA_ 12y agoThirded. Especially with the recent activity. http://www.theregister.co.uk/2014/12/19/judge_spanks_sco_in_ancient_ownership_of_unix_lawsuit/ http://www.theregister.co.uk/2014/12/19/judge_spanks_sco_in_...
- sbuk 12y agoIs there a better source of that particular news item?
- _JamesA_ 12y agoUnfortunately it did not receive much coverage. Groklaw[1] did post the ruling as linked in The Register article and cited on the Wikipedia page[2]. [1]: http://groklaw.net/pdf4/IBM-1132.pdf http://groklaw.net/pdf4/IBM-1132.pdf [2]: https://en.wikipedia.org/wiki/SCO_v._IBM#cite_note-ibm1132-4 https://en.wikipedia.org/wiki/SCO_v._IBM#cite_note-ibm1132-4
- spacemanmatt 12y agoI miss Groklaw dearly, too.
- mbillie1 12y agoAll I can think of is this: http://steve-yegge.blogspot.co.uk/2010/07/wikileaks-to-leak-5000-open-source-java.html http://steve-yegge.blogspot.co.uk/2010/07/wikileaks-to-leak-... "They have no right to do this. Open Source does not mean the source is somehow 'open'. That's my code, not theirs. If I make something private, it means that no matter how desperately you need to call it, I should be able to prevent you from doing so, even long after I've gone to the grave."
- payne92 12y agoThe legal issues here relatively straightforward and were touched on by one comment in the github issue thread. The Java implementation is protected by copyright. The algorithm itself would be protected by a patent, which he (generally) could file for within a year of publishing. And the odds of getting that patent (in the US) would be fairly low, given recent Supreme Court rulings.
- plesner 12y agoIANAL but I don't see how using a BSD license automatically makes code FOSS. According to Lawrence Rosen[1] (who IS a lawyer), "Since courts are likely to construe implied grants of license narrowly, a licensee should consider obtaining separately from the licensor an explicit grant of patent rights that might be needed for modified versions of BSD-licensed software." This seems to go against the FOSS[2] freedom 2, the right to distribute modified copies without asking anyone for permission. Now, whether that can be applied in this particular case I don't know, I guess that depends on whether there are patents involved. But in general, BSD does not imply FOSS. [1]: http://www.rosenlaw.com/oslbook.htm http://www.rosenlaw.com/oslbook.htm, chapter 5, p. 79 [2]: https://www.gnu.org/philosophy/free-sw.html https://www.gnu.org/philosophy/free-sw.html
- CrLf 12y agoOh, the endless arguments of copyright vs. patents. From my understanding of this, the author has no right to block any reimplementation of the algorithm in another language because he has released the code under a license that explicitly allows for modification (which says nothing that forces modification to be restricted to a single language). The reimplementation just has to keep the same license and copyright notice. However, there seems to be a patent pending for the algorithm. If there is an actual patent, he has not actually given anyone the right to use the code or any modifications. You can reimplement it, but you can't run it without the author's permission (i.e. patent grant). EDIT: On second thought, one might argue that since the code was licensed under BSD (which says "use in source or binary form") by the patent holder himself, he has given an implicit patent grant to everyone that uses it or modifies it in any way.
- spacemanmatt 12y agoSince the SCOTUS decided Alice vs. CLS Bank, I doubt a patent application for an algorithm will get past "pending" state.
- cbr 12y agoThe patent was abandoned after being rejected: https://news.ycombinator.com/item?id=8780445 https://news.ycombinator.com/item?id=8780445
- Animats 12y agoThe patent application is worth reading. First, he gets a 101 rejection as unpatentable subject matter, because it's not a "machine or transformation". You can argue against that for things which a computer can do and which could not practically be done by humans. (Even though you can in theory do video compression by hand, at one frame per century or so, it's just not practical. Patents are about utility.) But here, the examiner points out that this algorithm could effectively be done with "paper and pencil". Soundex, its' predecessor, was. Then the examiner points out prior art - a patent application by Ralston, (App #20040054679, Ralston, James, March 18, 2004, "Remotely invoked metaphonic database searching capability") The original Soundex algorithm dates from 1919, the Metaphone algorithm dates from 1990, and Ralston's improvement is on record. Philips' improvement of 2009 just wasn't enough of an advance over the old stuff. He might have modified the claims to overcome those objections; this was a non-final rejection, and you're allowed another revision cycle with no additional fees. But, for whatever reason, he abandoned the application. A rejected patent application puts the algorithm into the public domain. Philips has no rights in the algorithm now.
- lphilips54 12y agoBy the way, I might add that I am deeply appreciative of the people here who have reviewed this situation with a friendly and understanding response to my attitude.
- tripzilch 12y ago"Public Domain", he keeps using that term, I don't think it means what he thinks it means. It only sort of applies here. Something actually being Public Domain has extremely wide repercussions. A Public Domain work exists without any copyright or intellectual property laws applying to it, none. For a work to be really Public Domain, only happens under a bunch of specific circumstances that really do not apply here (such as the copyright holder having been dead for a number of years). You can't really slap a license on something and have it be Public Domain, because that means relinquishing any and all intellectual property rights related to the work. Including personal and moral rights. From Wikipedia: https://en.wikipedia.org/wiki/Public_domain#Dedicating_works_to_the_public_domain https://en.wikipedia.org/wiki/Public_domain#Dedicating_works... > ## Dedicating works to the public domain > Few if any legal systems have a process for reliably donating works to the public domain. They may even prohibit any attempt by copyright owners to surrender rights automatically conferred by law, particularly moral rights. An alternative is for copyright holders to issue a licence which irrevocably grants as many rights as possible to the general public, e.g., the CC0 licence from Creative Commons. Note the last remark about Creative Commons' CC0 license. It's about the closest you can get to actually releasing your work to the Public Domain, worldwide (check the Creative Commons website for info about some legal hurdles why you can't "just release something to the Public Domain"). It's not something that happens by accident. Now obviously the author doesn't have this particular specific meaning in mind, instead rather something else. Except, it would probably help the discussion a lot of he'd use the proper term and accurately defines what he is trying to say. It seems to be some kind of confusion or collision between the (obviously and pretty straightforwardly copyrighted/licensed) actual written code he released under the BSD License, and his intellectual property rights over the (more nebulous concept of) the algorithm that is described in this code. I'm not at all sure if you can even obtain copyright over the latter. Actually no, I am pretty sure that you cannot. Copyright is very explicitly defined over a work, not an idea, and the work is the actual written code that was released under the BSD License.