9

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?)

13
  • 6
    +fork for the idea that fork is essentially a like button
    – bkconrad
    Commented Mar 11, 2012 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
    Commented Mar 11, 2012 at 19:47
  • Thx for the redirect to the other list, everyone.
    – matt
    Commented Mar 11, 2012 at 19:48
  • 2
    This bothers me as well. If you simply liked the code just click watch. Commented Mar 11, 2012 at 20:15
  • 1
    +1 for not your problem and not your business.
    – jmort253
    Commented Mar 12, 2012 at 3:54

4 Answers 4

11

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.

3
  • I don't mind their changing it and redistributing it. I mind their not changing it when I've changed it. :)
    – matt
    Commented Mar 11, 2012 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.
    – Gyan
    Commented Mar 11, 2012 at 20:57
  • btw, bitbucket.org also does free private github hosting now.
    – ZJR
    Commented Mar 12, 2012 at 4:07
11

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. ;-)

1
  • more forks is good for SEO... I guess :P Commented Jan 8, 2013 at 3:10
6

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.

3

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.

0

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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