
Contributing to Open Source on GitHub - pytrin
https://guides.github.com/overviews/os-contributing/
======
jarofgreen
GitHub can be a little to good at pushing this. I've been taken to task for
not having docs for my Open Source project which is on GitHub.

"But I do, they are on this website here and there is a link to them at the
very top of the README!"

Didn't matter, I got told off for what was really "you don't have docs in the
usual place on GitHub."

Very frustrating.

@patio11 I think it was made a comment in a blog about don't put Open Source
on GitHub because you really build up GitHub's name not your own, which is an
interesting point to discuss. EDIT: found it
[https://training.kalzumeus.com/newsletters/archive/do-not-
en...](https://training.kalzumeus.com/newsletters/archive/do-not-end-the-week-
with-nothing)

"This is one reason why, while I love OSS, I would suggest people not
immediately throw their OSS on Github. That makes it very easy for developers
to consume your code, but it does not make it easy for you to show the impact
of that code to other people, particularly to non-technical stakeholders. To
the extent that people's lives are meaningfully improved by your code, the
credit (and observable citations) often goes to Github rather than going to
you. If you're going to spend weeks or months of time writing meaningful OSS
libraries, make a stand-alone web presence for them."

(For my project I'm using GitHub Git, Github issues, but everything else is on
a website on a domain I control.)

~~~
niels_olson
So the real issue, it seems to me, is GitHub should be making it very clear,
somehow, to users how to cite their sources? Most journals have a "suggested
citation" blurb in every article's webpage.

Does git have built-in citation management?

That would be awesome, btw. That would arguably elevate git to the level of
email: made by hackers for hackers, now universal to the fabric of modern
life.

------
lawl
I think it's interesting how GitHub is trying to push open source
contribution. However, we shouldn't rely too much on GitHub for (open source)
collaboration. Git is decentral after all. Open source should remain too.

~~~
akerl_
Properly used, GitHub doesn't stop git from being decentralized.

~~~
danso
A surprising number of developers don't really understand that...which is
partially a problem of how complex things generally are in development, and
partially a result of how _good_ Github has become.

Case in point: During the whole Julie Horvath controversy, a few anti-Github
developers started a campaign to create awareness of the harmful effects of
Github's culture (or something)...but they created their standalone site
_using Github Pages_ :

[https://github.com/CultureOffset/cultureoffset.github.com](https://github.com/CultureOffset/cultureoffset.github.com)

I pointed out, independent of how I felt about Horvath or Github, that not
only does it send a terrible message to run a boycotting campaign on the
service you want to boycott...it _is completely unnecessary_ , thanks to how
git actually works and the many other great build tools/stacks to do static
web development in under 24 hours. However, I got reamed for being an asshole
and "man-splaining" things.

But really, as useful as Github is, every dev should spend some time on
thinking through what underlies Github, and how to get by without
it...especially if you intend on protesting Github.

~~~
jacalata
I don't think that was a boycotting campaign - it basically says "we recognise
you might want/need to keep using GitHub, so if you want to make a positive
contribution to better culture/whatever then here are ways to do so without
changing your workflow". It was like airplane companies advertising carbon
offsets.

~~~
danso
Yeah, but the concept of "offset" implies that there is something essentially
poisonous to counteract. You may have to continue doing some of these
poisonous activities...but you're acknowledging that the consequences of them
are negative, _period_.

"Offsets" may not be _literally_ a boycott, but the message is the same. And
if at all possible, the organizers of such should avoid creating more "poison"
to "offset"...in this case, if you wanted to put your name as a pledge, you
had to have a Github account, and you had to use Github's services...which, in
the end, helps to perpetuate Github.

But the kicker is that using Github as a necessary evil is _not necessary at
all_ , thanks to the great work of open-source developers...

(and yes, the question of, what the hell does "offseting" Github's culture
even mean is a whole separate mind-dislocation, but not worth debating in this
thread)

------
olalonde
Tip: if you are not sure who the committers to a project are:
[https://api.github.com/repos/:user/:repo/collaborators](https://api.github.com/repos/:user/:repo/collaborators).
For example:
[https://api.github.com/repos/bitcoin/bitcoin/collaborators](https://api.github.com/repos/bitcoin/bitcoin/collaborators)

This can be useful when people are commenting on your pull request and you are
not sure whether they have a final decision on the merge.

~~~
MaxGabriel
I think that Github now labels them as "collaborators" in the UI.

In this PR for example, wearhere is labelled as a collaborator in the corner
of his comment.
[https://github.com/inkling/Subliminal/pull/170](https://github.com/inkling/Subliminal/pull/170)

~~~
olalonde
Oh, I didn't notice. I suppose having the full list of collaborators could
still be useful in some cases.

------
davidw
They make no mention of mailing lists or forums, which most sufficiently large
open source projects have. It's often a good idea to sign up and get a feel
for how things are done in a given commmunity, and for large changes, suggest
them on the mailing list for discussion before opening a bug report or writing
code.

------
orta
This is a lovely overview. Good work githubbers.

------
eik3_de
great.

next up: a well-written & concise guide on writing proper commit messages.
could be based on [http://tbaggery.com/2008/04/19/a-note-about-git-commit-
messa...](http://tbaggery.com/2008/04/19/a-note-about-git-commit-
messages.html) and [http://robots.thoughtbot.com/5-useful-tips-for-a-better-
comm...](http://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-
message)

~~~
MarkTee
Tim's post (the first link) is great; I've been meaning to start using git
hooks to enforce the standards that he's set out in it.

A sample script can be found here:

[http://addamhardy.com/blog/2013/06/05/good-commit-
messages-a...](http://addamhardy.com/blog/2013/06/05/good-commit-messages-and-
enforcing-them-with-git-hooks/)

------
wise_young_man
I wrote a similar, but maybe less detailed post about getting started in open
source on my blog. [http://derekmyers.com/posts/getting-started-open-
source/](http://derekmyers.com/posts/getting-started-open-source/)

------
shurcooL
What should I do if the open source project I want to contribute to isn't on
GitHub?

~~~
teacup50
Copy the project's code into a GitHub repository that uses the project's name
and start hacking on it there, and then release your own fork.

Oh, wait, that's exactly what you _shouldn 't do_. :)

~~~
recursive
Why not? That's what I would have guessed.

------
dreamdu5t
Are there people out there that don't understand that software uses readmes
and licenses, yet also are able to contribute code? I mean, people can program
but not know how to contribute?

I find this hard to imagine.

~~~
sophacles
Yes.

There are people who are just learning to code, who got the advice, find a
simple open source project and help.

There are people who have only done early stage classes for CS degrees that
want to practice in real coding but haven't been exposed to real world
development.

There are people who have been coding forever but never paid attention to that
stuff because they were always part of a team and didn't worry about it.

One extreme example: we had a person wander into the local hacker space on
python user's group night. She had an English degree and had never done
anything nearly as technical as coding. She knew that her library science
degree would entail some coding and database knowledge and wanted to get up to
speed prior to needing it for coursework. She understood the concept of
community work and abstract stuff about open source, but not really anything
on a practical level. Within the day she was helping one of the member's pet
project by copy editing the readme and some of the tech docs. I'm certain she
had no idea what a readme was when she got up that morning. (not exactly a
code contribution, but definitely a project contribution). Within a couple of
months she was able to get her first code submission to a project.

Ignorance and ability are not as correlated as people like to think they are.

~~~
joshlegs
>Ignorance and ability are not as correlated as people like to think they are.

thank god there are people who understand that. It's amazing to me the number
of people who equate the two. Equally ridiculous is the tendency of
programmers to spew advice such as "Read the fucking wiki (or documentation)".
That really doesnt help newbs who are just barely figuring out the right way
to Google things. The thing about being able to find some instructions on how
to do X is that it's predicated on actually _knowing_ that instructions are
out there _somewhere_.

~~~
sophacles
Tangential, but I think that one of the greatest gifts of experience and age
(not that I'm old, I'm 33 - just not a kid anymore) is a lot of exposure to
things I know nothing about. I now know just enough to be able to google lots
of different things well, and better, have learned how to discover more things
I know nothing about. It's a skill we (humanity) should spend more time
developing in youngsters - being a specialist is useful and great, but being a
specialist who knows of other specialties is even better, because then it
becomes easier to link knowledge sets into awesome solutions.

------
pyrohawk
Open source tacos. I would love to debug those.

