Ask HN: Plagiarism on GitHub – What to do?
I've been working on a command line tool for more than 6 months.
A member on Github changed the name of the project, reduced the number of features by removing 3rd-party libraries (all of them are optional in my CLI), and took the entire idea including modularity, plugins and even the mac logo () on the title of the project.
He should have created Pull Requests to contribute to the project instead of modifying the original project and posting it as a separate project in 4 days (vs 6 months that it took to me to organize and create all that code).
100% of the changes he made could have been made through Pull Requests.
If someone wants to take a look and contribute to the original project, this is the URL: https://github.com/guarinogabriel/Mac-CLI
What would you do if this happens with your project?
Please let me know your thoughts.
Thanks!
28 comments
[ 3.8 ms ] story [ 54.1 ms ] thread1) You could potentially use a DMCA claim to take down the repo, if there has been a license violation. But:
2) This is not plagiarism. You put the code under a license that says almost-literally "do anything you want with this code", and they did. There is no legal obligation to use pull requests instead of forks.
> What would you do if this happens with your project?
Probably ignore it. If your version is better, people will use it instead. If it isn't, that's life.
If the new project did retain his credit, then, yeah, he's got no legal recourse.
How should the other project retain the original project credit? How should be my project referenced?
Your wording here:
Heavily implies the repository was cloned then edited, but it's being claimed that isn't the case. Can you clarify?Small details like the colors are the same on the colors script. I was referring to the fact that all those changes could have been done on the original project through Pull Requests, instead of dividing the effort.
As for the specific colors, many people use those color choices when designing a CLI.
Ideas don't belong to anyone, though. And I'm sure you're not the first or only person to come up with "a bash script on the local folder that implements plugins". And unless you've got a patent on that, you've got no right to be upset that someone else does something you did first.
And again, you know, you did open source the code, which implies you want people to use your code and modify it if they wish.
But did they actually fork your project and not provide you credit? Your original comment made it seem as if they did, but now it appears you're just upset that someone else created a similar project to yours, rather than contribute to you.
If that's the case, it's understandable that you would rather they contribute to your project than have their own, but it's not plagiarism on their part. Contributions are a privilege, but forking is a right as far as open source is concerned.
Did they actually use any of your code? The idea doesn't count (unless you filed a patent in a country that recognizes software patents, which I'm guessing you didn't).
If they didn't use any of your code, "inspired by" is probably the best you're going to get (and they really wouldn't have to do that).
Assume that the person doesn't know how to correctly contribute code to an existing project. Reach out to them and gently let them know that they are welcome to contribute via Pull Requests. Also, be flattered that someone found value in your work. Assume that the other person simply doesn't know any better. If no response, or no change in a small period of time, then DMCA as mentioned in the other comment.
[0] https://en.wikipedia.org/wiki/Hanlon%27s_razor
Thanks for your comment. Do you think that I can do something by changing the license on my open source project?
You can do something about future forks by changing the license on your project. The existing fork was created under the current license on your project and you can not retroactively change that.
If they did so, then all you can (and should) do is stop complaining about other people doing what you gave them explicit permission to do.
The entire point of open source is that the code you write doesn't belong to you, it belongs equally to anyone who wants it.
[0]https://github.com/guarinogabriel/Mac-CLI/blob/master/LICENS...
Of course, if they do, then there's not much you can do.
[0] https://github.com/google/traceur-compiler
[1] https://babeljs.io/
Also, the other project wouldn't exist if my project wasn't there. One thing is being inspired, another one is creating a separate project that is dividing the community effort in two, instead of focusing in one project.
As for possibly dividing the community: first, there's always competition. This is especially true in software where anyone with a keyboard and know-how can create a competitor. Second, if you're really concerned about community division, consider what happened with Node.js[0] and io.js[1]. Initially, io.js provided a slimmer and more frequently updated version of the same framework. Then they got together to discuss how they were dividing the community and decided to bring their projects together. Perhaps you should discuss such a merge with the author of the other project.
[0] https://nodejs.org/en/
[1] https://iojs.org/en/
A quick look between the two (if my suspicion is correct) shows the new one being pared down to tasks which are universal to OS X management, whereas yours has things which appear to be useful primarily to you (magento configuration?)
In that issue OP opened, they have demanded to be credited at the top of the README.
This seems very unreasonable.
But really, the benefits that come from open source programming vs. writing proprietary software are just a one-way road: while proprietary software can benefit from ideas found in the open-source world, the open-source community cannot benefit from proprietary software written by big giants like Microsoft or Apple. So the bottom line is, the major purpose of writing open-source software is maintaining the FreedomOfSoftware, not preserving your rights as the programmer.
Now to address your question, I would try to look at it as a "force majeure" to keep maintaining my code and improve it in many ways. Like it or not, you have actually started a competition, and to win that, you have to keep making your code better.