Although this takedown notice evidences some... confusion... about how open source is supposed to work, it looks to me like the target actually did infringe the filer's copyright by stripping his name off the copyright headers, which is the one thing that the MIT license doesn't allow.
What are the broader implications of this with respect to the rather permissive nature of the MIT license? I mean, it grants users the ability to outright copy the code, provided that they include a copy of the license. If oh-my-fish included the copyright notice, then regardless of any disagreement between the repo owners, it seems that the author of wahoo has no ground to stand on here. Can someone explain otherwise?
You are correct. If oh-my-fish properly included the copyright and permission notice of the MIT license, then they are within the bounds of the license.
It doesn't matter what the author's requests are, they can use it if they attribute properly. Of course, the author can henceforth change the license for any future code, preventing any unauthorized forks, which would be against then open-source spirit of the MIT license.
Without additional context, it appears this is just some high school drama going on in a relatively minor project? I mean, yeah, clearly the MIT License would seem to be at odds with his stated reasoning...
But this is not a war between companies. It's just some young guy who decided to let his friends clone his project, and then he had a falling out with them, so he unilaterally tried to un-clone it and use the DMCA to do so? Childish, and maybe it will succeed and maybe it won't.... but it's just one doofus on a nothing project....
Before Wahoo, the DMCA filer worked as an OMF core member, and months later created Wahoo, which is a totally different project. Eventually all collaborators decided to reunite,
and the code base was completely replaced with wahoo, sans the name, but due to "disagreements" they split. The project actually has a long history.
No, I'm not saying that at all. What I'm saying is that drama involving about 4 or 5 people is not very important to the rest of the world. If I create a github project containing my favorite vim color scheme, and then I get in an argument with a friend and try to have his fork deleted, will everyone on hacker news talk about me too?
IIRC that's effectively a requirement of DMCA takedown requests. In theory the host can refuse to execute a compliant DMCA notice but that means they become party and lose their safe harbour exemption. Most OSPs don't really bother validating notices at all.
If oh-my-fish properly included the copyright and permission notice of the MIT license, then they are within the bounds of the license. It doesn't matter what the author's requests are, they can use it if they attribute properly. But they failed to do so and the creator's copyright was not credited, so they are in violation of MIT, which is pretty lame considering how easy it is to use MIT code in a compliant way. I am afraid this DMCA is legit.
So many comments are focusing on the MIT license. That is the license that applies if you obtain it via Github and redistribute it.
But this...
>> On August 26, 2015, I, @bucaran, and "oh-my-fish" collaborators, led by @bpinto, decided to replace the entire source code of "oh-my-fish!" with the entire source code of "wahoo", but keeping the "oh-my-fish" name.
... sounds like giving he consented to give ownership of the code to the oh-my-fish project, and is retroactively trying to apply the terms of the MIT project now that they've had a falling out. I think the takedown needs to be reversed.
Replacing the code in the shared repository doesn't mean he transferred the copyright to them. When you contribute to a project, you still own the copyright, you just provided a licensed copy, and that project must still comply with it.
This is correct. For an arbitrary and hypothetical example, imagine that Linus woke up yesterday and decided to convert the Linux kernel to an Apache licensed project. The long and almost impossible task would be to contact each and every contributor to the Linux kernel and ask for the permission to change the license of their contribution. The "short" and "easy" task would be to write a new kernel and replace all of Linux with it, applying the new license. The old Linux kernel would still be a GPL project, but moving forward any contributions would need to be Apache licensed.
It appears that the latter example is somewhat like what happened here. The old Oh-My-Fish project was some licensed project. It could have even been a WTF Public License[0] that _did_ allow contributors to fork and remove attribution. At some point, all the code in the repo was replaced with new code under the MIT license that served the same purpose, and the repo's name was changed. Moving forward, someone continued to merge in the new code to the old repo and tried to remove attribution to the new code, breaking the new code's license.
The Oh-My-Fish project could have done a classical fork, severing ties with the Wahoo project just before the merge of the re-written code happened and continue to work in isolation, but it seems that they did not.
It's invalid only if the license change is inconsistent with the original license. That's why, for example, converting a project from MIT to GPL is fine, because doing so doesn't violate the terms of the MIT license.
That's fair - although I can't imagine letting someone rename my project and deciding to collaborate on it together while still trying to retain my own copyright notice on files. I hope we hear the other side of the story. My point is just that the MIT license itself isn't necessarily the issue here.
That's fair - although I can't imagine letting someone rename my project and deciding to collaborate on it together while still trying to retain my own copyright notice on files.
I don't understand, why not? That's in fact what usually happens; projects usually have a list of contributors, providing attribution.
The collaboration model of the Linux kernel is not remotely what I think the context describes. But like I said - perhaps reality is different - I still hope to hear the other side.
There is also a school of thought that says once you have broken the conditions you would need to re-license the work and this might require a new negotiation; I don't think I've ever seen this line of argument tested in court however.
This is an interesting take. I think if they continued to any new wahoo code after the disagreement and breaking up, then that new code is infringing. However, the agreed upon merge code might not be subject to the DMCA.
It depends on what happened to the license when the merge happened. Did the author of wahoo transfer the license to the authors of oh-my-fish? If so, then the code at the time of the merge is not subject to this DMCA notice. However, as I brought up, if after they had this tussle and split up, and oh-my-fish kept pulling new code from wahoo, then that code would be under wahoo's license and would need to be attributed as such (and I don't think it was attributed, hence this takedown request).
My point is that if they agreed to merge projects and wahoo didn't keep their license on it, then that code at the time of agreement is no longer under the exclusive copyright of the wahoo author.
You don't transfer a license; you might transfer copyright ownership, but there's no reason to believe he did so. He probably just gave them a copy of the code, which by default is still his under his copyright, and so they still need a license from him to use it.
When you contribute to a project, you can not remove it's LICENSE, you can only add more contributors. If you fail to do so, you can add your name on the LICENSE but not claim a DCMA Takedown.
If a project accepts your code, it's their job to add your name to the contributors list. It doesn't matter if you could have done so in your commit; if they're redistributing your code, they have to list you.
Actually, the author of Wahoo was also from both, an ethical point of view, author of OMF having contributed more than half of the code and from a legal point of view as an administrator in the GitHub repository. He himself merged his own PR. The problem is he and the other collaborators had "disagreements" and decided to split. He would return to Wahoo and the OMF folks would return to pre-Wahoo OMF. What actually happened is that a new project was created with the same name "oh-my-fish" and the old git history was simply pushed to the new repo. The LICENSE was also changed attributing the copyright to Bruno, the other OMF admin folk.
So apart from bruised egos and non-attribution the major issue seems to be repo-stars?
I don't claim to understand what's going on at all or who is in the right/wrong but reading the GH issue discussion it's about repo ownership? Maybe I'm naive and easy to push around but why not just fork, re-add your copyright and start from 0 stars...only the code should matter, right?
From my understanding the oh-my-fish project has been around for a while and likely has some size of following. So the problem I see is the members of the organization using that existing notoriety to gain credit for the work the Wahoo creator did without citing it as his/hers. The fork and re-add wouldn't have the desired effect then because likely the core audience of OhMyFish still wouldn't see it.
Although I'm not sure if I'm missing something here as well, your guess is as good as mine.
subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
In the DMCA it's stated that his copyright is not credited, so they are in violation of MIT. If it's true that's a pretty low blow, it's so easy to use MIT code in a compliant way.
If oh-my-fish didn't include the copyright and reproduction notice outlined in the MIT license, then yes, this is how the DMCA works.
However, the author cannot enforce that they don't use the 'wahoo' repo. If oh-my-fish attributes correctly, and includes wahoo's license, then they can use it.
> Permission is hereby granted [...] and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
> The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
In his DMCA notice on Github, the author states that the copyright was not left intact. I'm not certain whether he can void the whole license for "oh-my-fish" because of that or not.
That's exactly what the "subject to the following conditions" means. They have no right to use the code if the copyright notice provisions are not followed, following those conditions are what gives you the right to use the code.
If I give a license to use my code on the condition you pay me money, if you don't pay you also don't get to use my code.
I guess what I'm saying is: If they adjusted their code to comply with the license (i.e. add the copyright back), can they retroactively agree to the terms of the license?
Or in fact, does the creator of the original project have the ability to say "I no longer offer this license to you"?
He can't. Even if he authored all of the code in OhMyFish/Wahoo, which maybe be the case, the OhMyFish folk can rightly use the entire source of Wahoo granted they comply to the MIT license, which they didn't hence the DMCA takedown:
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
Yes, I was the one who initially noted that he didn't comply with that clause. I was wondering whether the original creator could retroactively revoke the MIT license permanently from the guy who abused the license.
As with most things, this probably began as a communication problem between Jorge and Bruno, and it quickly went south from there. https://github.com/wa/wahoo/issues/95
If you'd like to try a Fish shell framework with a bit less drama, my I suggest my alternative? (^_^)
Your plugins are copy and paste of several plugins used by Oh My Fish. Lucky for you Jorge has no ownership on those so he can't claim a DCMA Takedown.
We disagree regarding the provenance of some of those plugins. That said, I'll take another look and see if I can do a better job at giving proper credit where it is due.
This is about a lot more than the MIT license. Folks, be clear about the copyright assignment of code that you contribute to projects, and project admins, keep an eye on those copyrights.
TLDR: Oh My Fish got replaced by Wahoo. But rather than start a new project and declare Oh My Fish unsupported they replaced the Oh My Fish code in the repo with Wahoo code. Breaking userspace in the process, and thus starting them on the path that caused all this drama.
At least that is what appeared to happen according to that thread.
...
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
...
They did, under the condition that "above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software."
If oh-my-fish didn't include the copyright notice and permission notice for wahoo's code they were using, then this is a valid use of the DMCA.
MIT doesn't mean you're free to use with abandon. You still have to credit and provide the license.
Although it sounds from the context like permission was given independent of the license to completely replace the source code of a project and name it "oh-my-fish". In fact, Jorge admits to being actively involved in that process. That's distinct from the MIT license currently distributed with Wahoo. Bruno doesn't need to call "no-take-backsies", from what the DMCA says happened.
>> I do not wish any of the source code in "wahoo" to be used in any form by "oh-my-fish"
That is not enforceacble with the MIT license. He can (and does) accuse them of violating copyright, but he can't distribute it under one license and say he's making an exception for specific people.
I have the code here and it's LICENSED for Oh My Fish, not for you bucaran.
Update: It seems like the solution is simple:
1. Oh My Fish repo changes the LICENSE to Licensed for Oh My Fish.
2. As Fin is a separate project that won't even share the same code, it is going to be licensed to bucaran.
3. Community is happy again! :D
The DMCA is finally protecting the people it is meant to protect: content creators that otherwise were powerless against people who stole work.
And to people who say this could have been solved more amicably in a different way: This is obviously being used as a last resort in this case. Obviously all other avenues of resolution have been exhausted.
I'm not sure I would go that far in this case. The licence of Wahoo is as follows:
"Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software."
To me, that means anyone can fork it and do whatever they want with it, as long as they keep that copyright notice intact.
> Soon after the merge and due to conflicts with @bpinto regarding the direction of the project and other issues, we decided to not continue working together and ended our relationship
> @bpinto has continued to use the entire "wahoo" source code without my consent and expelled me from oh-my-fish organization. They also failed to state "oh-my-fish" is a complete copy of "wahoo" or provide copyright attribution since our separation.
They've clearly had some (admittedly non-specific) history. It looks like long talks were had, with little or no progress. Make what you will of this, but it seems a DMCA is the only way that this could be taken care of.
@striking, the comments you mention appear to be from one side.
@bucaran's alleged censoring of the discussion [0] makes it difficult to know what was actually discussed, but it's telling at the same time, especially in the context of everything else that appears to have happened:
- @bucaran appears to have usurped an open source repo from two other owners
- @bucaran appears to have deleted comments posted by people who objected to his alleged usurpation
- @bucaran filed a DMCA takedown when omf community members tried to reboot their project without him
i've heard of hostile takeovers in the corporate world, but never for a github repo. i thought transparency was guard enough against machiavellian behavior like this. i mean, who would want to work with someone who has a history of hijacking repos, censoring comments, and filing DMCA takedowns on open source repos?
Look, I'm not saying he's a good person. But a DMCA is warranted when copyright isn't followed. As annoying as this guy is, it's still his work and he should be identified in the copyright of that project (unless all of his code has been removed/rewritten. Then a counter-notice should be filed.)
If the copyright notice is wrong, then it's wrong, but then you get into a very weird legal quagmire where people were committing code under someone else's copyright. I don't know if they were giving up their copyright in that case or not. And if there's something wrong with the DMCA notice (like if it was submitted for no reason), a counter-notice should be filed. And if this person is in the wrong, he'll get more than he bargained for when he began throwing his weight around.
Someone's going to get what they deserve. I don't know who, but someone will.