Prolific Git developer makes friendly fork
With the launch of Git-fc, a Ruby supporting offshoot, one developer hopes to make his voice heard.
Mexican developer and open source advocate Felipe
Contreras went public today with a Git-fc, which he’s billing as a
‘friendly’ fork of Git.
Just so we’re all clear, Contreras defines
his fork this way because,
“it won’t deviate from the mainline, it is more like a branch in
Git terms”. He added that this new project will “move forward close
to Git’s mainline, and it could be merged at any point in time, if
the maintainer wished to do so.git-fc doesn’t include experimental
code, or half-assed features, so you can expect the same level of
stability as Git’s mainline.”
The backstory to this fork is a little less amiable
though. Although he was one of the top contributors to Git in terms
of patches last year, Contreras appears to be feeling a little put
out by a few things. Primarily, the fact that patches he’s
been applied, as well as a few other factors that he won’t
name, but cryptically attributes to “the culture of the core
developers” on the site.
Over on Reddit,
there are snatches of detail. Although Contreras denies that any
bullying occurred in the Git playground, he does appear to
criticise its ‘monoculture’, as well as its user interface.
Although he doesn’t outright explain the rationale behind the fork,
it’s clear that some sort of cultural clash has gone down.
As one commentator puts it, “I guess all this has an important
lesson about social dynamics in open source projects in it (either
about bullies or butt-hurt contributors).”
So what’s under the bonnet of this solo effort? Well, in a
nutshell, Git-fc doesn’t radically deviate from its parent. He’s
refrained from removing any of Git’s original features, or adding
any backwards incompatible changes, making it simple for users to
migrate across from Git should they so desire. The difference comes
in a series of tweaks that, whilst not earth shattering, should
help make life easier for the avid Git user.
One key difference is the addition of default aliases, allowing
users to make shortcuts for their go-to operations. Git allows
users to configure these manually, but otherwise it can be
difficult for users. At present Git-fc incorporates four aliases
(listed below), but there’s the potential that more will be added
down the line.
co = checkout ci = commit rb = rebase st = status
There’s also a sprinkling of other add-ons, including default
streamlined remote helpers, which Contreras explains should make
things easier for distribution, and an ‘official staging area’.
Finally, there’s partial (aka incomplete) optional support support
for Ruby – allowing Ruby programs to take full advantage of Git
without any need of forks, or I/O communication.
It’s early days for Git-fc, and it’s hard to say at this point
how many users will actually make the transition across from Git on
the basis of these changes. Perhaps what this project best
demonstrates is that – much like real life – big, crowd driven
projects simply aren’t a fit for everyone. And when the going gets
tough, sometimes the most constructive thing response is to carve
out your own niche.
Image by Mike Dot Mike