in reply to What's in a Repo?

I don't see different roles here. The roles of contributor and forker are the same because of the structure of git and GitHub. A critic is somewhat submitting an incomplete patch by different means if he critiques structure, code details or inner workings of your software. In that sense he is a contributor as well.

Ultimately you are the only person in the position to know whether something in not-t or util for example is worth sharing. Only you have looked the gift-horse in the mouth

Replies are listed 'Best First'.
Re^2: What's in a Repo?
by Xiong (Hermit) on Aug 07, 2010 at 11:48 UTC

    A contributor to a project works on it and comes back with changes. A forker pulls it, does his own stuff with it, and never puts back; there is no merge. A critic doesn't make changes but yells at me in CB. You may not see it split up that way but I do. I realize the division is artificial, arbitrary, fuzzy, etc.

    All these types of involvement are welcome but if I know in which role you see yourself, it puts your remarks in context.

    Note: Contents may change.

      As far as I know the development on github mostly goes this way: If someone wants to work on your code he makes a fork of your repo and makes some modifications. Then he informs you that he has some commits there you might be interested in fetching. Also developers on githup usually check out what is done in forks of their project and fetch interesting stuff without being promted to anyway.

      What you probably meant is a real fork. That is a split in development because someone wants to move the project into a very different direction, thereby renaming it. As you might have experienced yourself with Devel::Comments, this is a step that is very seldom done and most of the time only after massive efforts to either find some lost maintainer or throw around abusive language.

      This kind of fork is something exceptional and usually the forker doesn't know in advance that he will fork eventually. So nobody will step up and tell you "I'm a forker" because you first would have to either have abandoned the project for a long time or (in his eyes) don't accept his contributions after lots and lots of discussions. So if there exists a forker like that you must know him already

      Someone who yells at you in CB is not a critic but a raving lunatic, they usually don't want any code of yours in a 10 mile radius ;-). If you welcome their contributions just add lots of bugs and failed code to your project and CB will be full of them

      To make the point in my previous post about critics somewhat clearer: There are two sorts of critics in your case:

      1) The user. He has something to critizise about the user interface or features or documentation of your module. He doesn't need any source code, he is concerned only with what you distribute and its deficiencies. We can ignore him, he has no involvement at all with your code

      2) The developer critic. He found some fault in your internals or misses a feature but knows how to add it. He may only use words but he looks at your source the same way as a contributor would, he just doesn't do the last step of really implementing the patch(es) but only tells you about it.

      And a last point: Not only are all these different roles identical in their requirements. But anyone might, after using your module, turn up to fit any of these descriptions. He might just report a bug, think about a fix and just telling you about it or really write the fix (or feature). Nobody has identified a role to you yet because nobody can see into the future.

        Okay, I think we've established that you would have the same wishes no matter which hat you wore. So, regardless of hat, which items would you want me to put in the repo?

        Note: Contents may change.
      With git they're all the same unless you pull from them