5 ms·
Ask HN: GitHub cloned your project, what can I do?
Today, I look my github page, and I find 10 cloned repository of my project: they have the same name, but they are built from different account. They are not Fork, but just clone. So how can a user know what is the real repository? and if I update the repository, the new update is not available on the other cloned repository. So what do you suggest? Shall I contact the users and suggest to fork the main repository? Any ideas?
- viraptor 11y agoContract them, but also put the link to your github repo in README. Maybe even as links for bug reporting and wiki.
- rquirk 11y agoLooks like it was people clicking google code's "export to github" feature before you got round to doing it ;-) I wouldn't worry about it - the clones will probably not go anywhere and just die off, abandoned. True they don't link back to your now-canonical repo. As viraptor said, maybe contact the users. They might prefer to fork your repo now it's on github.
- luck87 11y agoThanks, to be honest most of them coming from google code's "export to github" :-)
- luck87 11y agoI have exported the project on github, but in the google code page, this button is still available and they don't provide by default any link or redirection to the new github repository exported by google tools. The google support suggests me to make an "url redirection" to different website, the github repository.
- kerkeslager 11y agoThere are a lot of reasons someone might clone your repo. Personally, I've frequently cloned repos to read and play around with the code. Making changes to the code is a good way for me to verify that I understand what's going on: if a change does what I expect it to do, then it means I probably understood the code. In that case, I don't really care if I miss updates. As for people not knowing what the real repository is: there's not really a such thing as the "real" repo. Git just isn't centralized like that. Probably since you are the original coder, yours will be the most popular, but if you're worried about not getting credit for your work, there are a few things you can do: 1. As viraptor said, you can put a link to your repo in the README. 2. It's a good idea to put a LICENSE file in your repo. You can choose one which requires people to give you credit. Keep in mind that you can't force people to pull your code with these changes, and if they've already cloned it they have it under the original license (which may be no license at all). So this doesn't really fix the problem you have now, it only prevents more people from cloning w/o a link back in the future.
- justincormack 11y agoIf you haven't specified a license they have no legal right to use the code, not a completely liberal license. It is against github's terms to have public closed source code so arguably they have an implicit open license but they can't choose which one.
- nadams 11y ago> If you haven't specified a license they have no legal right to use the code This is technically correct - however according to the github TOS [1] [2] you agree to allow people to view and fork your code. But - what is stopping me from creating a new algorithm that is X% faster than what is out there - uploading it to some service or site without a license and suing everyone who uses it? I have a feeling that someone would have done that by now. Obviously in the US we have fair use for certain circumstances, but also I feel like if you attribute it to the author then that is fine. Otherwise every public school is forcing the students to break the law by making them use content from encyclopedias, research papers, and other online sources that don't have an explicit license. At least when I went to school - copying content from work that was not explicitly licensed was deemed ok as long as you cited it with MLA, APA, or whatever 3 letter format was popular at the time. However - mixing unlicensed code with licensed code could lead to a disastrous situation (unless you stated in the LICENSE file that a chunk of code is not under the overall license). [1] https://help.github.com/articles/github-terms-of-service/ https://help.github.com/articles/github-terms-of-service/ [2] http://programmers.stackexchange.com/questions/207941/reusing-open-source-code-that-doesn-t-specify-a-license http://programmers.stackexchange.com/questions/207941/reusin...
- adrusi 11y agoYou're conflating the idea of copyright violation and plagiarism. Copyright violoation is violating someone's exclusive right to control a piece of original content. Plagiarism is claiming someone else's ideas as your own. Ideas are not protected by intellectual property law, although plagiarism is usually also fraud. You can avoid commiting plagiarism by adding a citation. A citation basically states "These ideas were not originally mine, I got them from so-and-so". You're usually not going to want to reproduce so much of a work in your research that copyright law would come into play (you can legally paste a few sentences from a book on your blog IANAL). Often though a research paper fits into a category protected by fair use so you can anyway. But you can't reproduce and distribute an entire piece of copyright protected work just by providing a citation. I hope you haven't done this. If you have, you should take everything down. Do not apologize to the copyright holder. Talk to a lawyer.
- jnbiche 11y agoIf you use any standard open source license, users are not obligated to fork your project. You can request that they do so, but there's no obligation under any OSI-approved license (MIT, BSD, GPL, Apache, etc). For various reasons, I occasionally clone instead of fork an open source project I use, but I'm always careful to put a link to the original project at the top of my README. Also, updates are not magically merged to upstream Github repos, regardless of whether they're forked or cloned. The user has to merge any updates manually either way, unless you script these merges using Bash or some similar approach. tldr: forking is a tool, not a rule.
- xgbi 11y agoThis is an issue we have also, where we took our time to offer an official mirror of our software on Github, so we are less "popular" there than outdated clones. This is a problem because many people will clone the old (2+years!) but popular repo and see that it does not work as well as it should. Github offers no real solution here. Maybe they should put a badge or an option to tag a repo as "official" (with sufficient proof of the owner) and present on top of search results.. although the possibilities of abuse are endless. You will have to work your way up the search page with friends starring you. Maybe put up a blog asking your users to do so?
- ryandrake 11y agoBeing able to identify the "official" project on GitHub is often tough, especially for projects with hundreds of active forks, none of them with any discernible merge-back pattern. Not sure if it's a great solution to allow a single use the ability to "own" a project name though. You can imagine it resulting in some of the problems associated with domain naming: name squatting and legal fights over trademarks.
- mindcrime 11y agoNot sure if it's a great solution to allow a single use the ability to "own" a project name though. You can imagine it resulting in some of the problems associated with domain naming: name squatting and legal fights over trademarks. Arguably the name of a project is a trademark, and no one has permission to use it unless you grant them that permission. Just because you license the copyright to your code under an OSS or Free Software license, does not automatically entail granting a license to the trademark on the name. IMO, this is one thing that makes Github a bit of a legal tar-pit... it's trivially easy to fork a repo, but nothing makes (or even encourages) you to change the name, or make it clear that your repo isn't the "official" Project Foobar. So far it seems that most people just take a "don't ask, don't tell, don't care" sort of approach to that, but I have a hunch it's going to get somebody burned eventually.
- ryandrake 11y ago
- falcolas 11y agoBe proud that they're interested in your code, and if you're making money off it, be prepared to pivot (or offer a more nice specialization of the space) if they decide to move into that space.
- z3t4 11y agoYou could do some SOE. And add an "Attribution" clause to your license. People will however look at recent updates. And take into account the differences between the repositories, before deciding witch one to use. This is how it should work by default IMHO. "Forking" is flawed: What if it was the other way around: Lets say You cloned a project and are actively maintaining it, why should people be directed to the original outdated repository!?
- mfoy_ 11y agoThe issue is that someone may happen across a cloned repo and have no idea it isn't the only, or original, one. So how would they look at recent updates and compare differences between the repos if they only know of the one?
- SEJeff 11y agoPut the correct url in the README.md from the start. Then when it is cloned again, the users see the correct one.
- brudgers 11y agoThis illustrates why having a website for your project in addition to a repository may be good policy. The website can be SEO'd to rise in search results and as a landing page. It can always link to the "official" project repository on Github: or, because it removes a dependency, someplace else. A readme.md is great, but all of them are equal. Of course having a website doesn't prevent someone from cloning and adding their own website and beating your version on Google, but at that point the other party clearly has some level of commitment. If you're hell bent on contacting people cloning your project, a better approach is to ask how they are using the code and if there's any way you can help. I don't think asking people to fork is going to get your project much good will. It's mostly bureaucratic make-work for your benefit over a concern that's not proven to exist in the wild. Good luck.
- deedubaya 11y agoSimplyBuilt provides free websites for open source github projects. http://www.simplybuilt.com/support/the-settings-panel/getting-your-free-site-for-your-open-source-project-on-github http://www.simplybuilt.com/support/the-settings-panel/gettin...