
GitHub and my open source life - jenandre
https://medium.com/i-m-h-o/62a8eaa0ea9
======
babarock
I'm a huge fan of Github. I recognize the huge effect they've had,
transforming the Open Source community, and I'm grateful for it. I also love
how they run their company, how open and talkative they are about their
organization. Their blog holds many gems.

However, I cannot work on Github. In my opinion, the Pull-Request mechanism is
weak because it fails to address a major point: It's highly improbable that I
accept the PR on the first try. There's going to be a lot of back and forth
discussion, reviews, remarks, etc.

Standard PRs I deal with on Github usually end up with several redundant
commits. When I ask people politely to rebase all the commits they're sending
into one, most don't know how to do it. (It's okay not to know. It's weird
when someone with several contributions per day never had to do it before). If
I `git commit --amend`, my PR is actually overwritten and I lose the history
of the first patch I've sent.

I started disliking working with Github ever since I started working on
OpenStack. The process to send a patch there might seem a bit daunting at
first, but it's really not that complicated. Using Gerrit
([https://code.google.com/p/gerrit/](https://code.google.com/p/gerrit/)) for
code review has many advantage, like limiting your patch to one commit,
keeping a detailed log history of successive patch sets, and generally making
reviewing more inviting. On top of that, the whole suite of tests is ran
against each submitted patch in a virtually never resting CI server.

And finally, I don't find Github's Pull Request that "easy, simple and fast".
My workflow with OpenStack is a lot faster. 1 command:

    
    
        $ git review
    

A colleague of mine says it a lot better than I do:
[http://julien.danjou.info/blog/2013/rant-about-github-
pull-r...](http://julien.danjou.info/blog/2013/rant-about-github-pull-request-
workflow-implementation)

If I recall correctly, Linus Torvalds went on a highly publicized rant against
Github PRs not that long ago.

I'm not arguing that every Open Source project should have a complete QA
infrastructure, and Github is a great place to deal with your first Pull
Requests. However, I do argue that you can very quickly reach the limit of
what Github can give to you in terms of collaborative tools.

My rule of thumb: If you have more than 10 contributors, at least 4 of which
are active daily, it may be worth it to invest in some real infrastructure.

~~~
jedbrown
I agree completely about revisions on PRs. Also, proposed patches often spawn
much broader technical discussions that are much better on a mailing list than
on a random commit (that will likely become unreachable later since it's not
going to be accepted). Nothing beats the archival quality of mailing lists and
if you start your code review there, you never need to make the choice to
"move" a discussion from GitHub to a mailing list. The problem is that mailing
list review requires a lot of discipline and some popular MUAs make it
especially painful.

The value of PRs and other models is that they degrade more gracefully to lack
of experience/discipline, and (perhaps) to casual involvement (subscribing to
mailing lists with delivery turned off is fine as long as there is a
convention to Cc people that are likely interested in a specific change; not
many people know about subscribe-without-delivery).

~~~
ak217
> proposed patches often spawn much broader technical discussions that are
> much better on a mailing list than on a random commit (that will likely
> become unreachable later since it's not going to be accepted)

PRs are also issues, and I vastly prefer GitHub issues to mailing lists (to
each his own, I guess).

~~~
jedbrown
I like inline code comments, especially when the original commits are not well
factored. But I find it too common for a discussion starting from a patch to
gradually become general and ultimately involve dozens of people that had no
interest in the original patch, but care a lot about the general discussion.
Sometimes these involve multiple projects, in which case cross-posting to
another mailing list makes sense. With GitHub Issues, you generally tag
individuals rather than groups of perhaps hundreds of people (most of whom
filter on their own criteria).

Later, how well does search find the 100-message design discussion starting on
a commit in a PR that was later amended and then rejected? And what if you
move the repository elsewhere?

------
johnpaulettefr
I have pulled no fewer than 15 freelance contracts from my personal
Github.Just from code that I have thrown out there because I don't have a
commercial reason not to.

One of the cool things is that deploying code on Github forces you to make at
least some sort of effort of documenting it (a README, generally) and cleaning
it up a bit to be reusable. It has helped me reuse my own code, because of
that.

It improves code quality, makes friends, helps people and drives work. Sharing
is a worthwhile business activity.

------
bgar

      It would be amazing to see a site that pairs experienced
      developers (especially women developers) with less-
      experienced women to sherpa them into contributing to
      open source.
    

Is there really a need to give women special treatment or help when it comes
to open source development? Wouldn't that reinforce the (unbased) idea that
there's a disparity between genders in tech? Or is there?

~~~
mbrock
I don't have a strong opinion about this particular thing, but it seems like a
decent idea.

But let me speak more generally.

Sometimes it seems like some people have a very "logical" way of looking at
ideas. It's like every idea is interpreted according to some metaphysical
schema and judged by whether or not it's conceptually harmonious and
untainted.

In this case, the schema is "equality," which ironically means that any
concrete idea that addresses disparity is prematurely judged as faulty or
tainted.

It's stunningly obvious that the open source community is dominated by males,
even if it's not more so than the programming community at large. This is a
matter of statistics, it's not complicated. This paper
[http://jitm.ubalt.edu/XXI-4/article3.pdf](http://jitm.ubalt.edu/XXI-4/article3.pdf)
cites a figure of 1.5% OSS developers being women, which doesn't seem entirely
implausible.

This simple statistical fact should mean that some women who do want to pursue
an interest or career doing open source work might indeed have use for the
kind of thing we're discussing. So why not?

There IS a disparity between genders in tech. This is so obvious. Why on earth
would you call this an unbased idea?

That there is a disparity doesn't mean that there is an "essential" or
"necessary" disparity. It just means that at this point in human history,
women are extremely underrepresented in this particular section. In that
situation, it seems more than appropriate to set up various measures to
support diverse engagement.

~~~
bgar
You're right about there being many less women population-wise, but I wonder
what the cause is, and if there is a more direct way of addressing the
problem. Your reply made me reconsider my statement.

------
quadrangle
GitHub may be a good service, but THEY ARE PROPRIETARY. Thus, it is absurd to
talk about them as important proponents of Open Source without mentioning this
hypocrisy.

~~~
GuiA
Not completely contradicting you, but just pointing out- they've open sourced
a lot of stuff:

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

~~~
hackula1
I would go so far as to say that MOST open source contributions come from
developers and companies that also work on proprietary systems. I really do
not see a problem with this. There are legitimate business, legal, security,
and technical reasons for this. Personally, I open source whenever I can, but
much of the work I do would not be feasible in an open source model (highly
custom systems, competitive advantage, legal restrictions on code or data,
code that would be of little value for anyone but me and my clients, etc.).

------
alxndresp
Does anyone have any tips on getting started contributing to open source? I'm
looking to get into it but I just don't know where to start or even how to
find projects where I could contribute.

~~~
stared
It may be easiest to look at small projects you are already using (but want to
fix something... or just, write better documentation, which may be the best
start).

------
revskill
I think Github made a huge effect on Ruby On Rails movements ( or
revolutions). So many peopole use it (instead of mysterious Python community
before), brought theories into reality. Thank you, Github.

------
unknownian
And yet I see plenty of famous developers who don't contribute to open source
at all and it somewhat sickens me ( _cough_ Tapbots).

~~~
nmi32
Why should people have to work for free? I have a skill, I expect to get paid.
I don't see my plumber doing pro bono work at the weekend.

Not everyone has to adhere to your philosophy. You license your code for me to
use, that's your prerogative. Don't complain when people don't give anything
back.

~~~
roflc0ptic
To paraphrase your last paragraph: "If your ideal system allows parasites,
you're not entitled to use mechanisms (e.g. social stigma) to control those
parasites."? Complaining about parasitic behavior is a form of social control.
It actually comes part and parcel with the open source license. If you don't
like people talking bad about free loaders, stay away from the open source
community.

~~~
nmi32
I find it amusing when GPL advocates get hurt over a company not contributing.
At least people who license with BSD tend to be more pragmatic.

------
af3
"She likes hacking code and occasionally hacking text"... hacking text, WTF?

~~~
kondro
The true hacking ethos is one about creation and isn't specific to code.

~~~
agravier
Here, it does sound like a more trendy way to say "writing".

Except if her creativity and ingenuity are expressed in her writing style.
Otherwise, it's just used as a buzzword.

