
Github needs a new button - joelg236
http://joelg236.github.io/2013/08/04/github-needs-a-new-button
======
apaprocki
GitHub already made this easier, but I feel like they just aren't pushing it
in front of everyone early enough. They added support for the
CONTRIBUTING/CONTRIBUTING.md file[1], but it is only displayed when opening up
an issue or pull request. I think all they would really need to do is
advertise projects which have a properly set up file while _browsing_ ,
similar to how README files are already displayed. If a person wants to
contribute, telling them how to contribute only after opening up an issue/PR
is a bit late, no?

[1] [https://github.com/blog/1184-contributing-
guidelines](https://github.com/blog/1184-contributing-guidelines)

~~~
wasd
It seems like contriubtion guidelines aren't necessarily what the author is
pushing. AFIK, this wouldn't help new developers get up to speed with the code
base.

~~~
taproot
Well it would if owners set up their readme / contrib pages with a good
overview of

\- "getting started as a developer"

\- "this is how this works"

\- "new developers should start reading here, browse here, and ignore this
until later"

style info. I think this is what the AP was bringing up. And it is what was
being discussed in the blog post. Lowering the barrier to entry.

------
joeblau
One thing I've found is that there is a lot of independence on GitHub. My
immediate assumption if I see a project public project on GitHub is that the
owner is saying "I'm ready and willing to accept help." The challenge of not
knowing where to start is something different.

A lot of projects can be complicated (D3.js comes to mind). If you don't have
a really good grasp on a few very key disciplines in math then honestly,
before you contribute to D3, you should brush up on that. The system is self
regulating in a sense where you have to know enough about the subject to
contribute.

Maybe, there should be a section that people add to their README.md that
explain what you need to know before you start digging into a project along
with a project goal. I know that for my project[1], I want to create an
authoritative .gitignore database, but I'm not really clear on that being my
goal nor am I clear on where to add your new files. All of the contributors to
my repo have figured it out though without me really telling them anything.

[1] -
[https://github.com/joeblau/gitignore.io](https://github.com/joeblau/gitignore.io)

~~~
tyre
> All of the contributors to my repo have figured it out though without me
> really telling them anything.

It is also true that everyone who didn't figure it out, did not contribute.
This is a much bigger problem. Not specific to your project, more of an issue
at large, but saying that '100% of people who contributed figured out how to
contribute' isn't a grate benchmark for success.

~~~
joeblau
It's not a benchmark for success and I'm going to make a change tomorrow to my
repo that lets other know what they can do to contribute. What I don't think
is good is people that don't understand what's going on making pull requests
when they don't see the vision of the project. So far I have not gotten any of
those which tells me that everyone who is making pull requests understands
what the point of gitignore.io is.

------
egor83
[http://openhatch.org/](http://openhatch.org/) tries to solve exactly this
problem: they're working to bring in more people into OSS, so they pay special
attention to make it easy for new programmers (or even non-programmers) to
find a good match and start contributing.

On top of just using the site, you could also chat with them about the problem
in general - they're very open and friendly.

------
arcameron
Check out [https://waffle.io/](https://waffle.io/)

Gives people who come to your repo a good idea of the progress of various
issues, I've found it to be somewhat useful

~~~
swanson
That actually looks pretty promising - the biggest thing that I've seen that
drives usage on GitHub is README badges.

It sounds silly, right? Just a badge? But look at Travis, Code Climate,
Gemnasium, etc. You see those badges on a project and eventually you start
adding them to your own projects and they spread across a site filled with
highly qualified leads (developers for your developer-centric service).

The first code review tool to make a badge and get a handful of Ruby projects
to use it is going to really take off.

------
gabrielrotbart
Check out: [http://www.codetriage.com/](http://www.codetriage.com/)

~~~
codyb
"A waffle is like a pancake with a syrup trap." \- Mitch Hedburg

Props to them for the Hedburg quote. Was listening to that CD of his stand up
(although, those jokes were for the CD, and maybe he'd done it elsewhere as
well) just the other day.

The site and concept look pretty cool too.

------
viraptor
So github is turning into the old Source forge then? There was a page on there
years ago where projects could advertise who are they looking for. I found a
couple of projects that needed packagers this way and learned more about
maintenance. I think it's a really good idea.

~~~
viseztrance
I believe the page you are referring to is sf.net/people.

~~~
viraptor
Yes, that's it :) It's not linked from anywhere anymore, is it?

~~~
viseztrance
I don't know, wrote it from memory that's all.

------
mmahemoff
GitHub could probably suggest projects automatically based on recent activity.
ie find projects which have a good flow of recent activity and have accepted
external pull requests, but aren't intimidatingly large.

------
thauck
A few projects now have a "good as a first PR" tag for issues... This is great
for helping people get started.

~~~
saamm
Really? I don't think I've seen that before, but that sounds perfect for me.
Do you have any advice on how to find such issues?

~~~
voltagex_
Some projects that have gone through the GSoC process have triaged
bugs/features like this. I'm trying to remember them now - blame Monday.

[http://fedoraproject.org/join-fedora](http://fedoraproject.org/join-fedora)
is pretty much the best "How to Contribute" example I've seen.

~~~
saamm
Thank you!

------
dennybritz
Funny how this is on the front page today ;) just yesterday I wrote a post
about how it would be a good idea to quantify the importance of open issues,
to encourage contributions. Check it out here:
[http://dennybritz.com/blog/2013/08/04/github-api-issue-
analy...](http://dennybritz.com/blog/2013/08/04/github-api-issue-analysis/)

If someone wants to work on this together just shoot me a message!

------
hayksaakian
The biggest gap is documentation.

If you have a strong grasp of the project, you already understand pull
requests. The best thing newbies can do is expand and clarify the docs.

~~~
staticfish
that's not really a solution to the problem of "I need things done in my app",
or the contributors question of "what needs doing here?".

------
shizzy0
I strongly disagree. If you're a new developer looking to work on something,
anything, completely indiscriminately then you're probably not ready to work
on anything. The time required to contribute even on minimal issues is not
insignificant. It requires learning at the very least what the project is,
does, and moreover should do.

I think the phase of "what should I work on?" is a fledging phase of developer
development that one quickly overcomes and then becomes burdened by the vast
opportunities that exist. I think erecting a sign/button/webpage that says,
WORK ON $THIS, will do nothing to help it because the would-be contributor may
have no interest in the project. Also, it may inhibit the formation of their
taste. One must develop enough of an interest in and taste for software that
they want to change some aspect of it; that's when an opportunity to
contribute something valuable presents itself: "This would be better if..."

------
krebby
24 Pull Requests[0] was launched during Christmastime, and was a great
resource for finding projects in need and posting my own. I only wish it were
available year-round. Anyone want to pick up the torch here?

[0] [http://24pullrequests.com/](http://24pullrequests.com/)

------
bobbles
Personally I'd be more able to help out with a lot of projects from a
documentation / training / support POV, github isnt really designed for that
kind of thing, but it would be awesome if there was some kind of profile page
where people could contribute to FAQs, How Tos, etc

------
pjscott
I've found that the best way to contribute to most open source projects is to
try to use them, and then fix whatever shortcomings become obvious. This only
works for things that are fairly new, and have obvious problems, but those can
be a lot of fun.

~~~
shizzy0
This! You must become a user before you can become a contributor. Then the
vacuous "What project can I contribute to?" question becomes more
intelligible, "What software should I use?" That depends. What do you want to
do?

------
GhotiFish
This is a fantastic idea. There are some projects I'd like to help with, but
issues that crop up often require way more in depth knowledge. Other areas I
can't help but feel I'd need the authors permission to really mess with a
section. Am I allowed to clean this up?

Saying to the repo owner "I'm ready to work, met something out to me" would be
great!

------
joeblau
I just came across this. It looks like they have guidlines for contributing,
but they are only acttivated when you open a pull request.
[https://github.com/blog/1184-contributing-
guidelines](https://github.com/blog/1184-contributing-guidelines)

------
Siecje
Solving pain points is a good place to start.

I've been using Ninja IDE and going to start contributing to it.

------
felipelalli
No one "wants" to contribute. They just contribute. :)

