Public Access Git Repositories

It seems that a lot of sites have cropped up that offer free Git hosting;

  • First there was repo by Petr Baudis of cogito fame. A service running from Prague, based on a few simple CGIs, themselves published.

  • Then I think gitorious came along, and also GitHub - both Ruby implementations and some adding services

I have a hunch that people are writing these things as they cotton on to the benefits of distributed version control, and none of the centralised based sites out there (eg, SourceForge, etc) were really coming to the table quickly enough.

These sites use CTAN / CPAN rules - ie, first come, first served when it comes to project names. However, unlike CPAN, these systems will allow forks without requiring a package name change. This is an idea which was specified for Perl 6, and a problem space that I debated extensively with Mark Overmeer, the result being the early design documents for CPAN6.

It’s funny how Canonical’s Launchpad never really achieved this ball of motion, despite bzr being technically just as capable as git - though missing some Ferrari Features. My hunch is that it is because no version control system really got lots of people excited as when git hit the scene.

I have managed to mirror repo to a Catalyst-hosted machine - currently browsable under http at git.utsl.gen.nz and updating every 8 hours. I hope to also talk to the other major providers of git hosting, and see if I can pull together some kind of co-ordination of effort, so that mirroring and searching these git hosting sites can be easy.

It’s funny, in lots of ways I keep feeling that I’m going around in circles. The CPAN6 thing first came up … was it two years ago? I feel so disappointed in the results of that process; however I think there were interesting lessons to be learned about avoiding the Big Design Up Front thing.

This time, it’s the pragmatist’s approach - get a huge amount of mirroring going, get the minimum indexing going that will allow for a peer-to-peer cloud to push to each other, and leave it at that. Based on the earlier findings, I have no reason to believe that the key goals CPAN6 design would not cleanly fit on top of these open Git repository mirrors, with a very thin veneer - the veneer itself not even requiring any support from the hosting providers.

The upshots of this should be vastly reduced barriers to entry of people’s code into free software projects. No longer will you have to convince software authors that your feature is worthwhile - you can just make a feature branch of your own, and upload to the git hosting cloud. So, “hit and run” patches are more likely to be created, and works in progress shared more easily. Especially in light of the very interesting cross-distro effort spearheaded by madduck - vcs-pkg. Just imagine - if a mainstream distro such as FreeBSD’s Ports, or Debian’s source archive were to “piggy back” on one of the other sites, or more likely start their own, then it should be possible to distrubute all of these different FLOSS systems using the same bandwidth and mirror space. These sites could easily let you create a fork, with a lightweight fork for just submitting a patch a very simple case of that.

This might seem like “git madness” - but to those who understand that git is a different class of software to the other VCS systems out there, this sort of thing is what the excitement was about all along.

Share Comments
comments powered by Disqus