Hacker News new | past | comments | ask | show | jobs | submit login
24 Pull Requests - Giving little gifts of code for Christmas (24pullrequests.com)
152 points by andrewnez on Nov 30, 2012 | hide | past | favorite | 38 comments



1 per day for projects I am unfamiliar with seems aggressive. I wonder if I would even be able to add any value with such a shallow understanding of the projects. I think 1/week is probably more reasonable if you are trying to get people who don't contribute to get involved.


When I get involved with projects, I have a lot of potential up front to contribute, and try to do so. Some problems are best handled by those unfamiliar with the project. Examples:

* Documentation fixes - clarifications of parts you find confusing, inconsistencies with current behavior, etc.

* Convention fixes - are most binary checks names IsFoo() but one is named Foo_exists() ? do a quick refactor patch for it. Is one Exception named oddly, or have an unclear message? Patch is quick.

* Examples - does an example highlighting something you're confused about exist? Once you figure it out, whip up an example and contribute. Others are also confused about it - I promise.

* Code commenting - Do the comments contradict the code? Is there something in the code that confuses you? Once you figure it out, fix it and submit.

These are all things that are actually EASIER for newcomers to a project to do - once the quirk has been internalized by a dev, they frequently don't notice it anymore. Particularly with documentation and commenting stuff.

It is harder to do this with giant/super popular projects, but medium and smaller projects can always use this sort of support. For example - I decided to checkout Marionette a couple weeks ago. I was reading the docs and browsing the code to see how something was implemented, and noticed the docs and the code were not in sync. I created and submitted a patch within hours of first learning of the project. This was also a work day, so most of those hours were not spent on anything at all related. The patch was accepted - not a big deal thing, but it was nice to contribute, and it may save someone else half an hour of figuring out what was happening. The dev who merged it actually commented that he didn't realize the docs were out of date - because he knows the code.

Point being, little contributions like this abound. As a project owner, I don't care when contributions are major deals or little tweaks or documentation helpers. I'm just happy when someone contributes, it makes me feel that my project is worth the effort. Which I think may be the point of the idea anyway.


Would it be ok if we used some of these tips as part of the introduction process on the site to help guide people who are new to contributing to open source?


Absolutely - I think that would be pretty awesome.

I have to admit tho: I toyed with ironically denying it :P


Licence: "You may only use these tips for evil"


One more: tests! Contribute a few more tests to a project's test suite. Especially for the features that you rely on.


I thought the same thing, but I've had success in the past making pull requests for documentation or other "little" things like that so you could still find ways to provide value without having to do too much.

It taught me to love Github even more - with the file editing in the browser I could clone, make my change and submit my pull request all without ever cloning the repo locally.


If you do it for Chanuka, you only need 8 pull requests.


Technically, it should be a single pull request that applies to eight different repos.


The first night, you do one pull request.

The second night, you do one, two pull requests.

The third night, you do one, two, three pull requests.

...

36 pull requests (plus the shamash each night. Maybe that's a patch to your dotfiles to get the juices flowing )


The code for the site itself is also open source: https://github.com/andrew/24pullrequests/


Which is convenient, because that gave me something to patch ;-)

https://github.com/sheriff/24pullrequests/commit/738bba95f58...


Fantastic idea.

Now someone gift suhosin code for php 5.4 https://github.com/stefanesser/suhosin/

I am starting to fear one-person projects no matter how great.


> I am starting to fear one-person projects no matter how great.

Never rely on a one-person project unless you can support the code yourself if you find significant bugs. If that one person is busy or just plain unavailable and you can't investigate and possibly fix the problem yourself, you are out of luck.

Obviously there are a few exceptions to that, for instance if the project is very widely used then you will get good support from the wider community (though in most cases like that the official devloper pool has grown beyond one by this point too).

I'm not saying the above to put down single-person projects or their creators: there are some brilliant people out there working on them. But brilliant people are often busy and are not immune to illness, needing to work on other things to pay the bills, family matters, or just have other interests that sap their time, and sod's law says they will be otherwise occupied just when you need their attention most!


Of course, given that it's a one-person project, chances are the code is relatively small and approachable. I think you are much more likely to be able to easily support modify a one-person project than something bigger.

Now, clearly, supporting the code yourself will not always be an option or a good choice; it's just much more likely to be viable with a one-person project.


I agree, though you need to be careful to make sure you could maintain the project if needed, even though ideally you'll never have to, and you need to check that before you make use of it in anything important.

Many complaints about open source projects that go stagnant are due to people not doing this, and being stuck using something they can't enhance/fix because they don't have (and can't afford to buy) the expertise.


You can suggests projects for people to work on here: http://24pullrequests.com/projects

We'll then be sending out regular emails with new suggested projects for people to work on.


This comment has motivated me to join in and give it a shot - I was fairly pessimistic that I wouldn't really know how/where to find projects to work with.

Thanks for the idea and best of luck in having it move forward.


To add to this, is there some kind of high level what needs to be done for 5.4 support?


This is essentially the same idea as http://www.codetriage.com, but that's every day, all year round.


I love this idea and have been thinking about contributing to a project. It's just the incentive I needed to go do it.

When selecting a project, should I evaluate the # of pull requests or issues to determine which projects could use the most help? For the OSS pros out there, does it matter?


First find a project you find interesting, or otherwise worthy. Then, I wouldn't worry about the # of pull requests, just that they have recently accepted pull requests. Once you know they are open to receiving requests, then look at issues to see what low hanging fruit there may be.


Perfect- great tip on recently accepted pull requests. Thanks!


This is a great idea. I was literally just thinking about how I wish there was a site for aggregating good-will coding requests & submissions.

I'm going to do my best to participate.

This is a great concept and execution. Thanks for taking the initiative to make this a reality. Well done!


I will be creating all 24 of my pull requests to one project. The prospect of a project manager seeing 24 new commits from someone he's never heard of made me think about how funny it would be if a group of hacker's created a "commit mob" like a social "flash mob" but once a week a few dozen developer's descend on to a project and help out creating a few hundred pull requests. If it was highly coordinated it could be as impressive looking as real flash mobs are. If the backlog is pre-chosen by the group and the mobsters pick which issues to work on it could be highly productive without anyone stepping on each other's work.


Why just December? (And why Christmas?) How about a year-round effort like "Pull Request Thursdays" or "First Thursday Pull Requests" (each month)?


Because inspiration is not continuous but sudden.

Don't ask. Just do it.


I reckon they got the idea from http://www.24ways.org, which in turn is inspired by the advent calendar (http://en.wikipedia.org/wiki/Advent_calendar).

"The traditional [advent] calendar consists of two pieces of card stock on top of each other. Twenty-four doors are cut out in the top layer, with a number ranging from one to twenty-four on each. Beginning on the first day of December, one door is opened each day [containing a chocolate and/or showing an illustration related to Christmas], counting down the days remaining until Christmas Eve, from one to twenty-four where the 24th door often holds an extra surprise like an extra large piece of chocolate."


That's an awesome idea, maybe you should fork the code behind this site and put it together.


In case anyone here is interested in contributing to my Django app - https://github.com/freedomsponsors/www.freedomsponsors.org. - That's another free software application intended to make free software even better, one difference is that there are $ bounties involved.

Pull requests are welcome :)


Okay, I bit. I forked the Redis repository and fixed a small warning when linking with clang to resolve issue #374 (nine months old but still open.) I just created the pull request. How long has it taken others for 24pullrequests to recognize my request?

Edit: It took only a few minutes.


I don't think many people will make the 24 pull requests, but for kicks and giggles I submitted my pet project to receive some love

http://www.github.com//dkheny/minestat


That 404s for me.

Edit: Perhaps you mean https://github.com/dkhenry/minestat


Shouldn't this be targeting repo owners to accept and merge a pull a day in December?

I kid, I kid.


Love the idea - hopefully it gets wings and turns into something longer-term rather than just seasonal. Getting more people involved in Free Software / open source is good for everybody.


I've sent one pull-request so far, but it's not showing on the dashboard.

I guess someone should take a look at the 24pullrequests repo itself and get some bugs fixed ;)


This is awesome :) After giving this little push I'm sure a lot of people will try to keep contributing and getting involved!


I love the idea, a lot of the suggestions were outside my wheelhouse but I might take a look.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: