6 ms·
Monit's DMCA takedown notice for Inspeqtor
- antirez 12y agoI may be wrong since IMNAL, but something is strange about this: 1) inspeqtor is written in Go and shares no code with Monit anyway. 2) The takedown claims violation of license. Licenses only apply to code, so patents and similar are out of this game. 1+2 don't stay together. How is a code license violated if the code is totally different between the two projects? I believe this is something that can be easily fixed with a good lawyer.
- tomp 12y agoIf you rewrite Harry Potter in a different script, language, or some plot twists, it's still "derived work".
- pritambaral 12y agoJust a note for others: antires is talking about 'License', and tomp is talking about 'Copyright'.
- stonemetal 12y agoI am not sure I get your meaning. A license is how you access a copyrighted work. Therefore they are speaking about the same set of laws. Antirez is taking a very narrow copying must include a figurative Ctrl-c Ctrl-v. Where as tomp is taking the wider and I think more legally supported(at least as far as art goes) stance that a work can be 100% your own effort but still be a derivative work if it was inspired by an existing work.(i.e. taking a photo of a sculpture is a derivative work )
- mnarayan01 12y agoIt appears (IANAL) that Monit is alleging a copyright violation which would be eliminated if the License was followed, thus the two words can probably be used interchangeably.
- zenciadam 12y agoIf the work meets the established criteria regarding transformative changes, then it can be considered its own. Rewriting a program in a new language is a large change in its own right; even more so, if it it uses features in the new language which were unavailable in the original.
- wpietri 12y agoAnalogies between novels and code bases are misleading. For the former, the consumer experiences the copyrighted material directly. For the latter, many different expressions (which are protected) result in the same effect (which is not). That Inspeqtor works with Monit configuration files is definitely not proof of copyright violation. Neither an admission of "heavy influence". As far as I know, the only thing that would prove that this is a derivative work (and therefore possibly a copyright violation) would be a comparison of the source code, one demonstrating a number of features in the Inspeqtor code base that show that Inspeqtor's implementor was doing something more like a port to Go than a compatible implementation. That's sure not part of the takedown. From the way it's worded, I worry that Monit's authors are not totally clear on the distinction between patents and copyrights, and that they have not taken the advice of a competent IP attorney before taking this step.
- Zikes 12y agoSay I wrote a story about a young orphan boy who meets a mysterious stranger that reveals to him that he has magical powers and must now go defeat a villain with shocking connections to his parents, what would you say? And if I called that story Star Wars?
- mentat 12y agoWhich in turn is derived (on purpose) from the various sources as composed together by Joseph Campbell in "Hero with a Thousand Faces". Narrative is even more absurd to call duplicate than a totally new implementation in a different computer language.
- viraptor 12y agoAnyone can request DMCA-based takedown - it's up to inspeqtor guys to say "not true, restore the project, they can sue us if they want to" now. Hopefully they will. With or without lawsuit to follow, this is an interesting case. I'd also agree that (unless it's an automatically done 1:1 codebase translation) AGPL doesn't apply.
- paulgb 12y agoThis is an unfortunate double-standard in the DMCA -- to file all you have to state under perjury you are acting on behalf of the party whose work is claimed to be infringed. The claim of infringement itself does not have to be stated under penalty of perjury. On the other hand, in the counter-takedown notice you have to state under penalty of perjury that the material was removed by mistake or misidentification. It's a scary thing to do unless you can afford a lawyer.
- justinsb 12y ago1) At the extreme example, putting code through a mechanical transformation would result in no overlap, yet obviously would not change the license. Monit is arguing that inspeqtor is insufficiently dis-similar to escape the GPL. 2) You can have patent licenses, trademark licenses etc. Though I don't believe Monit are claiming that here.
- pdq 12y agoTheir claim is only that Inspeqtor needs to keep the previous license. We will withdraw this takedown notice if and only if [private] and Inspeqtor adhere to the GNU Affero General Public License which Monit is licensed under. This means; Our copyright notice is retained in the derivate work, and ALL the derivate work is licensed and provided to users as “open source” under the AGPL. This include the so called pro features of Inspeqtor which are closed source and licensed under a proprietary license. Translating languages of a GPL codebase and then removing the license is not within the spirit of the license. Otherwise I can translate your code from C to Go, remove the license, then translate from Go to C, and voila, license-free code.
- icebraining 12y agoThe spirit of the license is irrelevant, since the question is whether the license applies at all. Assuming it is in fact a clean-room implementation - and I have no position on that regard -, it doesn't.
- olefoo 12y ago"Translating" a program from one language to another is not a straightforward mechanical process. In US copyright law and most of the countries that adhere to the Berne Convention there is a concept of a derived work. What the legal standard is varies, usually a translation of a work of literature would qualify, but whether a "translation" of a work of software would be considered a derived work is an open question that will not be resolved without litigation. But it certainly seems that this takedown is bogus in terms of the DMCA since it is not a copyrighted work itself, but an ( allegedly ) derived work. It certainly looks like an attempt to misuse intellectual property law to protect a product from functional equivalents that would not otherwise be excludable from the market.
- Rizz 12y agoA derived work is still protected by the original copyright. Because there is a substantial creative contribution the derived work is also copyrighted in its own right, but that doesn't diminish the original copyright. Translating a book into a foreign language is also a creative process, but the author of the original still has the right to say whether such a translation can be distributed and would expect a royalty.
- danielweber 12y agoThe takedown claims copyright violation. They also say that copyright violation can be avoided by adhering to the license. I don't have a general right to distribute Emacs; I must distribute it in terms of the license. If I were to distribute Emacs in a way that FSF didn't like, they would come after me for copyright violation. NB: I'm not saying anything about the accuracy of their copyright claims.
- belorn 12y agoImagine a non-technical judge or a random group of people that forms a jury, and imagine asking them if the two written utilities are two different programs. What would the reply be? inspeqtor would likely argue that the programming language is different and no copying happened, while monit will compare it to a translated book. Which argument will be strongest, and what will be the central question of a lawsuit? Would art, interface, configuration language and API affect the question? Is the Twitter message relevant for the narrative? I personally think inspeqtor has a decent defense since technically, no copying of bytes has happened. That said, legal theory is not so clean cut and context always matters.
- slantedview 12y ago"Inspeqtor which is hosted at GitHub, is far from a “clean-room” implementation. This is basically a rewrite of Monit in Go" I don't understand this. How is a re-write a license violation?
- danielweber 12y agoThey are claiming copyright violation. Following the license would (in Monit's view) let Inspeqtor avoid that.
- trose 12y agoRegardless of what current licenses dictate, should someone be able to port someone else's code to make a profit? Seems pretty shady to rewrite someone's code just to get around a license. Maybe this is where patents come into play.
- jacquesm 12y ago> Maybe this is where patents come into play. No, it's a copyright issue. Patents have nothing to do with it.
- dsl 12y agoUnless any method or procedure (parsing of natural language configuration files or something) is patented.
- wtallis 12y agoEven if that were the case, it's still beyond the scope of the allegations that can be made in a DMCA takedown notice. If they were asserting any patent rights, that would have to be through a regular cease & desist letter. It is possible though unlikely that patents could come into play here, but they clearly haven't yet.
- viraptor 12y agoDepends on the kind of rewrite. Automatic translation - that's effectively the same code. Written from scratch - that should definitely be allowed. Otherwise Linux would have to be licensed the same as previous Unixes (it's similar enough, isn't it?), Microsoft would have rights to ReactOS, we'd have only one owner of copyrights to all shells, and one to all DNS servers, etc. What Monit does is a defined interface, anyone should be able to implement from scratch something that does exactly the same thing.
- IamThePherocity 12y agoWell, I certainly will not be using Monit ever again should this be accurate. There is no illegal activity from what I can tell, so it's entirely baseless. Are they unclear about what copyright means? Did they hire a lawyer? Does not inspire a lot of confidence. edit: I've reached out to Monit for an explanation, and will amend if they reply.
- mindcrime 12y agoAre they unclear about what copyright means? Something I've learned over the years is that, when it comes to legal issues, things are rarely black and white. In this case, whether or not Inspeqtr should be required to adhere to the AGPL probably comes down to whether or not it is legally a "derived work". And I'm going to go out on a limb and guess that there isn't a large body of case law covering the situation where a product is completely re-implemented in a different language. But it certainly seems within reason to say that a court could find that this is a derived work, and therefore in violation unless the AGPL license is used. Now, whether or not this sort of thing is covered by the spirit of the GPL/AGPL is another question. But it probably is, if you consider the stance of Stallman and the FSF vis-a-vis Free Software. Remember, they basically consider all proprietary software to be a sort of immoral, unethical affront to humanity.
- IamThePherocity 12y agoFair enough point, though I don't feel this is a gray area. The chilling effect alone, being that I could be sued for simply looking at open source code is disturbing. Because that's what it boils down to. Most of our software today is a derivative work of something. I looked at rails code, so does that mean I can never write a web framework lest I be sued?
- wtallis 12y ago> "I looked at rails code, so does that mean I can never write a web framework lest I be sued?" No. At most it means you might have to adhere to the license Rails uses, if your work is sufficiently related to be a derived work.
- deleted 12y ago[deleted]
- LukeB_UK 12y agoIt looks like Mike Perham wants to bring the repo back up, but due to the DMCA request. It'll be at least 10 days [0]. He also says that he never looked at the code for Monit [1]. He has also filed a counterclaim with GitHub [2] [0] https://twitter.com/mperham/status/519164948887257090 https://twitter.com/mperham/status/519164948887257090 [1] https://twitter.com/mperham/status/519165523473358848 https://twitter.com/mperham/status/519165523473358848 [2] https://github.com/github/dmca/blob/master/2014-10-06-tildeslash-counternotice.md https://github.com/github/dmca/blob/master/2014-10-06-tildes...
- thu 12y agoThis will be sorted out quickly I guess: Monit's DMCA notice claims this is a rewrite of Monit. This tweet[0] claims the opposite. (I take "rewrite" as a manual translation to Go as they also say it's not a clean-room implementation). It remains to see if the part where they note the similarity with the configuration syntax can actually be covered with the AGPL. [0] https://twitter.com/mperham/status/519165523473358848 https://twitter.com/mperham/status/519165523473358848
- jasim 12y agoI'm a developer who does just enough server management to keep my systems running, and Monit is an invaluable part of the toolkit. However, the one thing I don't like about Monit is the pseudo natural language syntax that inspeqtor surprisingly borrowed, based on which Monit raises the DMCA claim. I wonder what the general feeling about this is in the sysadmin community, and whether people would prefer a different syntax instead.
- porker 12y agoSkill-wise I'm similar to you and feel the same way. I too would be interested to hear from full-time sysadmins.
- evanphx 12y agoMonit is wining this discussion because their DMCA notice has caused the code not be visible, since anyone with both codebases could easily look at them and see that Inspeqtor is not a translation of the Monit code in any shape or form. Because of this, I have put the code back up, please consult https://github.com/evanphx/inspeqtor https://github.com/evanphx/inspeqtor vs http://mmonit.com/monit/dist/monit-5.9.tar.gz http://mmonit.com/monit/dist/monit-5.9.tar.gz
- jxf 12y agoThe timing of this seems odd to me. Why now, of all times? Is Inspeqtor getting too big or stealing too many Monit customers? It's also a little strange that the tweet Monit references as being demonstrative of intent happened six months ago [0]. If that was really the issue, shouldn't they have issued the DMCA takedown then, instead of waiting so long? I think we have about 24 hours before the DMCA's version of the Streisand effect kicks in. [0]: https://twitter.com/mperham/status/452160352940064768 https://twitter.com/mperham/status/452160352940064768
- dsl 12y agoThey saw it on HackerNews about a week ago, and it took this long for their lawyers to research, make a case, and do the paperwork. Even if you become aware of something today, you can always use historical tweets as evidence.
- jxf 12y agoAh, I didn't realize it'd recently surfaced on HN. That makes sense, then.
- jahewson 12y agoThere are some very dubious claims in their DMCA takedown notice: > The work, Inspeqtor which is hosted at GitHub, is far from a “clean-room” implementation. This is basically a rewrite of Monit in Go, even using the same configuration language that is used in Monit, verbatim. There is no concept of "clean room" in copyright law, the only issue is whether or not substantial copying has occurred. While it may be easier for the author to avoid accidental copying if he has never looked at the Monit source code, having seen it, being inspired by its design, or deliberately building a compatible system do not constitute copying. The notion that it must be copying simply because it uses the same configuration language is without merit, due to the fact that the configuration language itself is not a creative work and is not eligible for copyright protection, in the same way that an API or a programming language is not eligible for such protection: it is a medium for expression, not an expression in itself - otherwise all programs written in a given programming language would be a derivative work! I suspect that it is this misunderstanding that has led the authors of Monit to file this DMCA takedown, and that they have acted in good faith, but with an insufficient understanding of the limits of what copyright protects. > a. [private] himself admits that Inspeqtor is "heavily influenced“ by Monit Being heavily influenced is not the same as copying. OpenOffice Writer is heavily influenced by Microsoft Word, and can even open the same file format, but it does not copy any of Microsoft's source code. > b. This tweet by [private] demonstrate intent. "OSS nerds: redesign and build monit in Go. Sell it commercially. Make $$$$. I will be your first customer.” The quote was "redesign and build Monit in Go" which does not show intent to engage in substantial copying of Monit's source code. If anything, it suggests an intent to write a new, redesigned system with its own source code but compatibility with monit. Without looking at the source code, it's hard to say more, if the author simply ported the source code of Monit to Go then it would certainly be a derived work, but the DMCA claim doesn't mention any such copying. It's important to remember that compatibility is not copying and that only the source code to a computer program is covered by copyright - its architecture, design, and even APIs (see Oracle vs Google) are not protected by copyright, because otherwise the copyright claim would effectively behave like a patent, preventing anybody else from creating something conceptually similar.
- 1ris 12y ago>There is no concept of "clean room" in copyright law, the only issue is whether or not substantial copying has occurred. While it may be easier for the author to avoid accidental copying if he has never looked at the Monit source code, having seen it, being inspired by its design, or deliberately building a compatible system do not constitute copying. I'm far from a copyright expert, but I think there is. The equivalent of a clean room implementation would be "I read your cover text, and then wrote my own book". What Monit claims what happend would be the equivalent "I read your book in language $x, I translated it to language $y and change a few details to better target audience $z". (What Disney did, but with public domain works). That latter is relevant for copyright.
- zellyn 12y agoAt first glance, the tweet [0] was sent a while ago, expressing desire for a port, with the idea of $$$$ as an incentive/joke. It appears that the author later decided to implement it themself. I hardly think that makes his intent to commercialize it clear. [0] https://twitter.com/mperham/status/452160352940064768 https://twitter.com/mperham/status/452160352940064768
- dsl 12y agoHe was already trying to sell it, starting at $25/mo. http://contribsys.com/inspeqtor/ http://contribsys.com/inspeqtor/
- regularfry 12y agoDidn't the tweet predate the selling by a good few months?
- ibrahima 12y agoI'm pretty sure Inspeqtor was only released last week. Mike basically saw a pain point he was having 6 months ago, then quit his job to solve that pain point. Monit's position makes no sense.
- anonanon101 12y agoThere are too many similarities between the code that suggest the source for Monit was indeed looked at, contrary to what Mike has stated on Twitter. For instance some of the file names are the same, ie, Inspector's events.go and Monit's Event.c Further, the code is very similar in places. Mind you it's not a direct copy, but this can't be coincidence. Monit: https://bitbucket.org/tildeslash/monit/src/1686ffd4baa16b16d1eeae137e436d68e97e06e9/src/event.c?at=master#cl-88 https://bitbucket.org/tildeslash/monit/src/1686ffd4baa16b16d... Inspeqtor: https://github.com/evanphx/inspeqtor/blob/master/events.go#L19 https://github.com/evanphx/inspeqtor/blob/master/events.go#L...
- wycats 12y agoThis is silly. {Event_Nonexist, "Does not exist", "Exists", "Existence changed", "Existence not changed"}, ProcessDoesNotExist EventType = "ProcessDoesNotExist" These are not particularly similar, except that they express some of the same concepts, which are the concepts of the domain. A user of monit would be aware of these concepts.
- Zikes 12y agoEvent? Really? Well, I guess monit had better hire a few more lawyers. https://github.com/search?utf8=%E2%9C%93&q=event&type=Code&ref=searchresults https://github.com/search?utf8=%E2%9C%93&q=event&type=Code&r...
- teleclimber 12y agoThese examples look nothing alike. At least not in the sense that one is copied from the other. Any program that has to check on the existence of processes might potentially have code that looks similar to that. > For instance some of the file names are the same, ie, Inspector's events.go and Monit's Event.c You can't be serious. "Events", as a filename is an indication of plagiarism? An "event" is a basic concept of programming! That's like if a teacher accused students of copying because they both handed in a file called "homework.doc".
- realusername 12y agoI see absolutely nothing interesting here, it's just an error management with an error list. I'm pretty sure that I have similar handlers in my own code too. You can even find this pattern in strerror.c which is handeling errno.h [1]. this is a really old concept. [1] http://opensource.apple.com/source/gcc/gcc-926/libiberty/strerror.c http://opensource.apple.com/source/gcc/gcc-926/libiberty/str...
- teachingaway 12y agoChillingEffects.org revamped their website a few days ago. Submit your DMCA takedown notice!
- cordite 12y agoIt seems Monit has issued a retraction [1] [1]: https://github.com/github/dmca/blob/master/2014-10-06-tildeslash-retraction.md https://github.com/github/dmca/blob/master/2014-10-06-tildes...