Skip to content

Instantly share code, notes, and snippets.

@justinko
Created June 8, 2012 02:25
Show Gist options
  • Save justinko/2893133 to your computer and use it in GitHub Desktop.
Save justinko/2893133 to your computer and use it in GitHub Desktop.
App that aggregates and stores all of your OSS contributions

THE PROBLEM

As OSS participants, I think it is important to keep your contributions documented. Contribution is not limited to pushing code. Forums, documentation, IRC, StackOverflow, even twitter are all avenues to "helping out". Sadly, potential employers, and even other developers, never see all of this effort you put forth.

THE SOLUTION

The solution to this problem could be an app that aggregates all of this data into a simple "timeline". Github, Google Groups/forums, StackOverflow, IRC, etc. could all be potential sources. Data would never be deleted. This would be a free service with sponsors.


I feel there are a lot of developers that think they need to gain "fame" by creating a popular gem/tool. I believe this is why there is so much unnecessary code out there. You can't blame them - having popular code will definitely increase your odds of landing a better job.

Wouldn't it be nice if just as many developers focused their efforts on documentation and help/issues/support as the number of developers that focus on code? Do we really need 457 state machine, file upload, and authentication libraries? The desire for recognition might be the cause of this.

Please tell me your thoughts/ideas/opinions!

Thank you

UPDATE

Brian Hogan tweeted (https://twitter.com/bphogan/status/210923801922379776):

It's not clear to me what problem you're trying to solve. Better docs or showcasing developers' hard work. Clarify in the gist?

To put this solution in two sentences:

"So what have kind of work have you done? What have you been up to?"
"[gives link to app] Here you go, see for yourself :)"

@batasrki
Copy link

batasrki commented Jun 8, 2012

Data would never be deleted.

This is a potential issue, especially with IRC. Flamewars and arguments abound and seeing them as contributions without proper context may paint the contributor in a bad light.

Other than that, I like the idea.

@joshuaclayton
Copy link

I think the plethora of similar libraries is more due to a few things:

  1. Devs have differing opinions on implementation, skill sets/backgrounds, and desires for use
  2. Many gems start as tiny abstractions or weekend projects that stick around
  3. People like hacking on things, and sometimes familiarity is key to trying a new paradigm or testing library

That said, I agree that documentation and support is important; we've been striving at thoughtbot to get all of our open-source libraries down to 0 pull requests and 0 issues. I've hit that goal a handful of times this year alone on FactoryGirl and FactoryGirl Rails. It's incredibly tough, though. Documentation is harder due to the amount of metaprogramming in FG, but I would love to have most of it done in yard by the end of the year.

Why?

Not because of fame, but because I fucking love testing. I think fixtures are the most miserable piece of shit ever and wish they'd just get taken out of Rails altogether. I want to provide a gem for devs to make their lives better and think, "damn, this just saved me a ton of time." If I can get more developers to test because it's easier for them to do so, I'll be happy.

To come full circle, an app like this would be pretty cool. I'd be interested to see how all the information would be aggregated but am concerned that it'd be too similar to something like CoderWall (which, don't get me wrong, is really damn cool). Interesting information to me would be:

  1. Graphs of frequency of responses across platforms, factoring in upvotes or other ways to measure how favorable/helpful each response is
  2. Graphs of issues/pull requests for maintained gems on GitHub, including gems that the developer doesn't technically own (in my example, FactoryGirl, or for you Justin, RSpec)
  3. Some way to generate an OSS resumé. Cliché, I know, but it'd be something people have come to expect I imagine

@justinko
Copy link
Author

justinko commented Jun 8, 2012

@peterc And that's such a shame! If they only knew how difficult it is to write good documentation.

@batasrki I imagine there would be some kind of "tagging" feature - it would have to be very specific on what data to gather. Or, the user could simply "manually" add something to their timeline....not sure, haven't really thought the IRC thing through - might not be feasible.

@saturnflyer
Copy link

I agree with the premise. I'm not convinced this is true "there is so much unnecessary code out there" but a way to aggregate contributions would probably help to prevent it from being so. Likewise, this could help people feel like their contributions are valued beyond the brief moment when a pull request is accepted.

@justinko
Copy link
Author

justinko commented Jun 8, 2012

@joshuaclayton I'm more interested in the details - nothing fancy. You can learn a lot about a developer from the way they handle a Github issue or even simply with how consistent they are with "helping out". For me, Coderwall offers nothing in this respect - "badges" tell me nothing.

I agree with your points on why so much unnecessary code exists.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment