9 ms·
It'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 der
by SwellJoe 12y ago
It'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.
- SolarNet 12y agoUnless the license agreement for contributing specifically says the author forfeits their copyright, but no open source licenses I know of do this.
- Argorak 12y agoThis is impossible in certain jurisdictions.
- pyre 12y agoWhat's impossible? Reassigning copyright to the project maintainer?
- Argorak 12y agoExactly. Forfeiting copyright is not possible in some jurisdictions. I'm not sure what is unclear about a refutation of a single sentence.
- vidarh 12y agoI'm presuming what you are referring to, and which is likely to confuse a predominantly English speaking audience is that a number of countries with legal systems typically based in Germanic or Napoleonic legal systems, copyright consists of the combination of moral rights on one side and economic rights on the other hand. Moral rights are generally impossible to forfeit and assign. Economic rights usually (I don't know of any jurisdictions where assigning economic rights to the project maintainer would be impossible - are you?) are possible to assign. In common law systems, the two are usually traditionally much more closely tied, and when we talk about copyright in English, it is usually the economic rights we're referring to.
- learnstats2 12y ago> BTW this guy can not stop derivative works once he has released it as BSD. Aside: Isn't is possible to revoke a license?
- sparkie 12y agoNo, not unless the original license text contained such a revocation clause, which isn't the case for BSD licenses.
- alextgordon 12y agoHuh? Where does the law say this? It is my impression that the copyright owner has all rights unless he explicitly relaxes them. A license by definition cannot create more rights, it can only relax them.
- nobotty 12y agoIt needs a revocation clause because yes he can revoke it from new versions, but no he cannot edit the original copy some guy downloaded with the BSD clause.
- brazzy 12y agoYes, but by publishing under the BSD license he has relaxed his rights, and he cannot retroactively change that.
- detaro 12y agoA license doesn't "relax" rights, it grants rights to others (and sometimes/in some jurisdictions also can limit how the copyright owner can make use of his rights) If you give someone the right to do something and don't specify how you can take it away, you can't take it away again. Without termination clauses a license is a contract thats valid indefinitely.
- alextgordon 12y agoAnd why can't you take it away? If I give someone a permit to cross my bridge, I can revoke it at any time. Usually when something is perpetual, you have to write in it: "perpetual" for it to actually be so.
- HackinOut 12y agoThanks for this. I would be interested to know if, in practice (in a court of law), attempt to show something is derivative work when it's not is a more common instance than when it actually is. How easy (or hard) is it to prove something is a derivative work? (i am especially thinking of 2 pieces of code doing basically the same thing with the same algorithm, no patents)
- bhouston 12y agoThere is done of case law regarding derivative works both in general as well as software. Some high profile examples: https://en.wikipedia.org/wiki/Oracle_v._Google https://en.wikipedia.org/wiki/Oracle_v._Google https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_controversies https://en.wikipedia.org/wiki/SCO%E2%80%93Linux_controversie... There are tons and tons of cases in this area.
- dalke 12y agoClean room design is a sufficient but not necessary condition to establish that something is non-derivative. It's possible that enough changes to the source make it non-derivative under copyright law. As the Wikipedia link you gave says: > Clean room design is usually employed as best practice, but not strictly required by law. In NEC Corp. v Intel Corp. (1990), NEC sought declaratory judgment against Intel's charges that NEC's engineers simply copied the microcode of the 8086 processor in their NEC V20 clone. A US judge ruled that while the early, internal revisions of NEC's microcode were indeed a copyright violation, the later one, which actually went into NEC's product, although derived from the former, were sufficiently different that they could be considered free of copyright violations. As another example, BSD Unix evolved sufficiently away from AT&T Unix that only a couple of files needed to be replace to get away from AT&T's copyright. Both derive from someone else's works, but that's a different sense of "derivative" than what copyright law cares about.
- crististm 12y agoIndeed, the copyright is asserted onto the written work. The algorithms, general idea, etc. are not copyright-able and except for US not even patentable.
- steventhedev 12y agoApparently, he didn't directly open source it. He approved its inclusion in the Open Refine package. It's pretty obvious that he didn't understand the consequences of releasing his code in a project licensed by BSD. I can understand his frustration, probably because he was told that his conditions were covered under the BSD license. Given that he sells the same code as a commercial product, this was obviously not his intention. However, he failed to grasp some basic IP concepts, especially wrt US law. Algorithms are not copyrightable, and most are not patentable (especially after Alice v CLS) under US law. However, there is solid precedent for similar systems being eligible for patent protection (soundex, other patents that cite his systems as source material, etc). It does not appear that he applied for this protection at this time. Moreover, under the modification clause of the 3 clause BSD license he used in his source file, there is a significant amount of commentary suggesting such a rewrite would be permissible under the terms of that license. However, re-licensing it under MIT would on the surface not be permitted. EDIT: he may have applied for a patent. This could preclude the project from including his system. However, I'm not a patent lawyer, so I don't know how well this would hold up in international implementations (github being a US entity makes this point relatively moot). http://www.google.com/patents/US20090043584 http://www.google.com/patents/US20090043584
- sparkie 12y agoThe BSD license does not contain any patent grants, so he can still assert the right over the use of his patent in pretty much anything - the BSD licensed code can still only be used with his permission, since you need both the copyright license and patent license to use it. When patents are involved, it makes more sense to us a license like the GPL3 or Apache2.0, which also grant licenses for any patents which are covered by the code.
- belorn 12y agoSome interpret BSD to have an implied patent grant, but the law on the subject is sparse and mostly untested. The license do say that: "Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met", but if that will be enough is up the court, and to my knowledge they have not been asked yet.
- davidw 12y agoThe project ought to rip that code out ASAP (or talk with a lawyer), as the guy does appear to have some kind of patent, doesn't appear to have a good grasp of intellectual property and is acting like a loose cannon. Maybe tomorrow he won't approve of Canadians using his algorithms or banks, or YC startups, or who knows what. Or he could sell the patent to someone who could then go after the users of the open source package.
- masklinn 12y agoWhy is he acting like a loose cannon? BSD does not include anything about patents, and he apparently offered a patent grant only in the context of Open Refine.
- davidw 12y agoSo you think it's deliberately malicious? Get a bunch of people to use the code and then shake them down with the patent? I don't read it that way, but either way it's toxic stuff for an open source project used by companies. You put out code under a BSD license and people have some reasonable expectations that they can use that code. I don't see anything about a patent grant - do you have a link to that?
- bchociej 12y agoWhat's more, his patent application was rejected, both for non-patentability, and on similar grounds as a previously rejected patent of a similar nature. Type the application number into USPTO's PAIR website at [1] for details. (Edit: app. no. 11/890,334) [1] http://portal.uspto.gov/pair/PublicPair http://portal.uspto.gov/pair/PublicPair
- chrismcb 12y agoThe problem is many people don't understand what "open source" means.