

How Github has changed the open source world - honza
http://honza.ca/2011/03/7-ways-github-has-changed-the-open-source-world/

======
michaelbuckbee
An item that is not in the list of 7 and of vital importance to open source
projects is the "ease of forking".

I've spoken to a couple different Open Source app maintainers who have
basically said: GitHub made our community of contributors better by making it
so easy to fork smaller portions of the codebase.

Where before they would basically just take abuse about issue/features (Why
don't you support Markdown instead of direct HTML entry in your CMS, or
whatever). Now they can just say "fork off" and have whoever complains
maintain a separate codebase with their custom additions.

------
mgkimsal
With github, it generally feels like the focus is on a developer, whereas with
something like sourceforge the focus is on the project/code. I'm not saying
that like it's a bad thing either - I think it's generally been a positive
shift.

~~~
apotheon
The same is true of BitBucket, and kinda Google Code as well, you know.

~~~
davidwparker
I'd agree about BitBucket, but Google Code doesn't nearly focus on the
developer like the other two. It's not really made for/with the general sense
of community and conversation.

~~~
apotheon
I hesitated before including Google Code. I believe that it technically meets
the qualifications of the features mentioned in the _7 ways_ list, but it
really falls short of both BitBucket and GitHub in terms of its feeling of
being a social code site. I guess Google Code is more optimized for searching,
rather than sharing -- which makes a certain amount of sense, given its
creation by the king of search, but results in a site that simply doesn't draw
my interest as much as BitBucket.

------
duck
8\. Get people using Git (and more generally, get more people using version
control for their projects)

9\. Made it popular to post more than just projects (off hand I'm thinking
about dot/config files)

10\. Make it easier to actually provide patches to open source projects

------
Corrado
As a Ruby developer its sometimes hard to know if a particular Gem is still
being actively maintained or if there is a better, more recent alternative. I
find that Github does an outstanding job solving both problems. If there
haven't been commits in the last year (6 months?) I'll generally look
elsewhere. That elsewhere is generally the "Network" page. :)

~~~
apotheon
Y'know, there _are_ some projects that haven't had commits for a while because
they do exactly what they're supposed to do, and don't _need_ a bunch of
commits. I consider it a good thing when a project gets to the point where
nobody can find any bugs and they stop adding features because it has enough
of them already. I sure as hell don't want my quick, clean, elegant,
productivity enhancing window manager to turn into a featuritis infected
monstrosity like OpenOffice.org, after all.

\---

edit: Actually, my window manager of choice has basically been abandoned by
its developer several years ago, and it's _still_ bug-free, stable, and
lacking basically nothing. I finally came up with a feature enhancement I'd
like it to have today, after using it for five years with no complaints or
wants -- and that enhancement is really just an improvement of an existing
feature.

More to the point, it's an enhancement that _no_ window manager has, so I'm
likely to need to write the code for this feature enhancement myself if I want
it badly enough. I may pick up maintainership for the project to do just that.

Think about that a moment: one feature enhancement requested in have a decade,
merely an extension of an already existing feature, and it's something
entirely new to window managers as far as I'm aware. This thing has had no
need for additional code in all that time, and it has been better as a result
of all that.

~~~
mnutt
As a ruby dev, this happens to work (for better or worse) because if you're
not updating, it may not work with the latest version of ruby/rails/whatever.
If I see a rails-related gem that had its last commit in 2009, I know some
work probably needs to be done to make it work with rails 3.

Perhaps a better metric is the most recent commit combined with the number of
open issues. Or maybe just the number of open issues, judged by their
severity.

~~~
beaumartinez
> _If you're not updating, it may not work with the latest version of
> ruby/rails/whatever_.

Do Ruby/Rails/whoever often have releases that break backwards compatibility?

~~~
stevefarnworth
Some gems don't function correctly with Ruby 1.9.1, and a lot have minor
issues with Rails 3.

Although sometimes it's more an issue with the documentation as opposed to
code issues.

------
SingAlong
From what I've seen, a Github profile now influences the hiring process too.

~~~
harryh
This is definitely true. I'll often check to see if a candidate has a github
account when making a hiring decision. Having some interesting/good code up
there can definitely move the needle a bit on a hire/no hire decision.

~~~
Pyrodogg
When looking into a candidates work do any of the other platforms or services
come to mind at all or is it solely Github that you check?

~~~
DTrejo
Their personal website + public projects?

------
defroost
> Force projects to include a good README

As much as we would like to believe code can be self-documenting, in most
cases it is not. Having no README file can make your project more opaque. I
probably shouldn't mention this in these parts, but one example of an active
project without any README at all is PG's Arc. <https://github.com/nex3/arc>

I will concede that the Arc project does have a website that covers install
instructions, but for new languages where nearly all users are newbies, having
no README on GitHub can be an inconvenience.

~~~
apotheon
The complete lack of licensing information on many projects is something that
Google Code tends to "fix" much better than GitHub, though -- even if Google
Code is a little inferior in some other ways. It would be nice if sites like
BitBucket and GitHub would do something to encourage people more strongly to
actually tell us about the licenses used in their projects.

------
X-Istence
I have only recently become a major convert into the DCVS world coming from
Subversion and CVS before it. When I first started going I found that git was
rather hard to for me to wrap my brain around, especially since it so
radically changed the way certain commands worked. So I looked at Mercurial
and felt much more at home as it felt like Subversion.

Since then I've wrapped my brain around Git and absolutely love it. I now have
accounts on both Bitbucket and Github and both work equally well for what I
want. The only feature that I feel is missing from Github is the ability to
create unlimited private repositories for free, if not at least, on their
lowest paid tier.

I tend to create random projects haphazardly, and while I like to have it
versioned and "backed up" somewhere where I can invite friends to collaborate
with me, I don't want some of these projects out in the open. Some of them are
research projects for new products I am developing, others are projects I am
working on with friends that could potentially be monetized.

Don't get me wrong, I understand where Github is coming from, and being
familiar with both Git and Hg is not going to hurt, it is annoying on a
context switching level to have to remember how to do something in hg and then
in git when switching between projects.

At the point where I am in my career I don't yet make enough money (after
paying student loans, car insurance, etc...) to spend money on monthly billing
paid services.

~~~
kenjackson
* When I first started going I found that git was rather hard to for me to wrap my brain around, especially since it so radically changed the way certain commands worked.*

I've found Git really easy to use coming from SVN. My main problem has just
been the Windows tools haven't been as intuitive as Tortoise. What issues did
you first have with Git?

~~~
X-Istence
git revert did not do the same thing as svn revert, that was the first major
issue I had and I put git on the shelf because of it. Only in the past year or
so have I started using a DCVS. For the most part I was definitely a
subversion fan boy ;-)

------
js4all
True, but isn't Git the initial game changer?

------
jmuk
I would agree with the author, but I am still wondering why other platforms do
not win. I mean, for example, SourceForge or code.google.com. Except for the
first point, most hosting sites provide exactly same functionalities. Then, I
guess, the point is 'easiness' or fancy/cool user interface.

~~~
apotheon
BitBucket actually does _everything_ GitHub does on that list of ways that
GitHub supposedly changed the world. In fact, I find the BitBucket interface
generally easier to use and easier on the eyes -- and, my God, the colors on
the GitHub issue tracker pages are fucking _awful_.

. . . but somehow GitHub gets so much attention that many people think it's
the only code hosting site in the world, just like so many idiots think that
Ubuntu is the only open source operating system in the world.

~~~
kneath
Bitbucket has public, discussable Pull Requests? I'd love to see them.

~~~
apotheon
I'm not sure what's so difficult about publicly discussing pull requests.

------
gersh
I love github as much as anyone. However, why is it that Git still drives non-
technical people crazy? Why do those people prefer dropbox over Git?

------
glenjamin
I'm intrigued that no-one mentions launchpad yet, it has roughly the same
feature set, but doesn't put the code on the front page.

