Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

Several people have forked my github repo but they have not fetched-merged from upstream. So my original repo has evolved significantly since the fork took place, and meanwhile these people are showing an old outdated version of my work, which kind of makes me look bad (e.g. what they're displaying is incomplete, contains bugs that I've fixed since then, etc.).

These people apparently don't understand what a fork is for; they just push the fork button (perhaps as a way of saying "this is cool") and then walk away. Ideally what I'd like is for them either to keep their fork updated from upstream or make a significant contribution or delete the fork. Is there anything I can do about this? (There isn't, is there? This is just the price of being open source, isn't it?)

share|improve this question
5  
+fork for the idea that fork is essentially a like button –  bkconrad Mar 11 '12 at 19:43
1  
@bkconrad - Funny, isn't it? It's good and bad; I'm sure they thought they were just spreading the love... A curious unintended social consequence of the design. –  matt Mar 11 '12 at 19:47
    
Thx for the redirect to the other list, everyone. –  matt Mar 11 '12 at 19:48
2  
This bothers me as well. If you simply liked the code just click watch. –  ChaosPandion Mar 11 '12 at 20:15
    
How about sending them a message via GitHub and tell about changes you have made? –  Juha Syrjälä Mar 11 '12 at 20:41

4 Answers 4

Is there anything I can do about this?

Make your repo private or take your code off GitHub.

This is just the price of being open source, isn't it?

Yes. The whole point of Open Source is that others are free to change it and/or redistribute it. Depending on the licence you might be able to enforce them to use a different name when distributing it (if they have modified it, if they haven't this doesn't apply). I'm not sure if forking is considered redistributing it though...

You might want to read the Open Source Definition and check out some of the licences.

share|improve this answer
    
I don't mind their changing it and redistributing it. I mind their not changing it when I've changed it. :) –  matt Mar 11 '12 at 20:37
    
There is no way to force them to do that. @Juha's answer is probably the best way to go about it. You could use those messages to promote new features/bug fixes which would encourage them to pull. –  Gary Buyn Mar 11 '12 at 20:57
    
btw, bitbucket.org also does free private github hosting now. –  ZJR Mar 12 '12 at 4:07

I think the mindset rather is something like:

Uh, I think this sounds like a cool project I can hack on when I get the time, maybe I can even make a major contribution, let me just fork it for now...

And of cause that leaves a lot of stale forks around, but maybe sometime one of these forks will become a contribution.

share|improve this answer

There is no way to get these forks updated, unless you email each one of the owners and ask them to update.

I don't think you need to be worried about outdated forks, though. Let me explain why.

For some background (though you probably know this), here is how forks accumulate: Whenever I send a pull request to a GitHub project, I first fork it, send the request, and then forget about my fork. I might never use the project sources again, so I don't ever repush to it, unless I send another pull request. As a result I now have something like 50 forks and counting lying around, none of which are up-to-date. I've never bothered to delete any of those, simply because there is no reason to.

Depending on their workflow, some people might fork-then-clone just in case they ever want to send a pull request, which is why it looks like "they just push the fork button".

As a result, all active projects have outdated forks accumulating: If you check the Rails forks, you'll find that pretty much all of them are out of date.

Because of that, when I browse GitHub I assume that other people's forks are generally just throwaway copies, rather than properly maintained projects. So if I see "forked from" at the top, I'll instantly go to the upstream. I don't think I've ever cloned from a fork, unless the upstream explicitly told me that development continues in the fork.

So to summarize: Don't be embarrassed at all those old versions of your software lying around. Nobody uses them anyway. Think of them as a badge of popularity for your project instead. ;-)

share|improve this answer
    
more forks is good for SEO... I guess :P –  Yanick Rochon Jan 8 '13 at 3:10

No, there is nothing you can do about this.

Here's an article talking about this particular "problem" http://andrewwilkinson.wordpress.com/2010/01/27/where-github-possibly-went-wrong/

I am in a middle ground. I like that forks are easy to create and I think it allows people to easily play with and modify the code, and push back if they please. But, I think github's interface on top of forks is flawed. It should be very easy to determine which fork (or the original) is the one you should probably use / fork off from. Imo it would be easy to determine this by looking at the number of commits and how recent the commits were on each fork.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.