Johan Sørensen

Gitorious, so far…

It seems that Git is getting more and more mindshare by the day, which is great because I’m loving working with it. It’s a little over three months since I made Gitorious.org public and I’ve been having lots of fun with it since then.

In particular I’m happy about the wide range of projects there, ruby based projects are in the majority there including semi-official mirrors of both the Rails, RSpec and MacRuby projects. But some python things, such as gdb-python, a bit of lisp along with some Erlang, C/C++ and two linux kernel mirrors. Good times.

The last two are interesting because they are some of the biggest git repositories around, yet they only take up about 200 megs worth of diskspace. Heck, take all the repositories combined on Gitorious, and the cache for the web frontend of gitorious.org is still bigger than those. However neither disk nor bandwidth charges are anywhere near hurting my wallet, and it’ll stay that way for quite a while. I don’t contribute as much as I should back to most of the open-source projects I use on a day to day basis at the $dayjob (or otherwise) so I consider Gitorious as my way of giving back. Long term I have some ideas that would allow gitorious to give back even more (things like this is awefully inspiring), without resorting to cheap tricks such as ads all over the place.

So far, most of my focus on the Gitorious codebase has been on stability and speed (it’s really quite snappy now I think), but also a few new features such as merge requests and searching. But soon it’s time to add some of the bigger things on the list, that’ll help dealing with managing an open source project hosted on Gitorious.

But first I want to talk about “the competition”, namely github, “competition” is in quotes because I honestly don’t see it like that (git is distributed after all), however a lot of people seem to lay it out like that whenever the two are mentioned in the same sentence. It says a lot about the workflow that git presents, that we both had the same idea and ran with it, only to release each others thing publicly a week or so apart.

But I find it slightly peculiar that a lot of open-source projects (ruby/rails projects in particular) has jumped on it, despite it being closed-source. What’s the point of being myspace for hackers (not that that’s a particular flattering comparison to begin with) if I can’t hack on it? But that’s me being seemlingly more idealistic about this stuff than most people. Launchpad is closed-source and seems to be doing well despite it being a total mess to use, and even the Apache Foundation offers their incubator projects an option to use JIRA and/or Confluence (“The Enterprise Wiki” — that cracks me up everytime).
Anyway, not crying about this at night, just finding it interesting. What’s really important is that more people discover the advantages of a distributed SCM such as Git, even for internal (“dayjob”) projects, regardless of whether they host their code on a third-party server or on their own using Gitosis and gitweb, a custom Gitorious install (I hear there’s a few already) or just a plain old git repository somewhere.

I don’t want Gitorious to end up like the mess that is Launchpad, but I do think there’s a few good idaes floating around when it comes to dealing with the practicalities of running, or contributing to, an opensource project that’s worth looking into. In particular the notion of a distributed bug tracking system is too cool to pass up, even if distributed just means that I can track bugs across projects and different repositories. Imagine Jane having cloned Bobs project publicly and fixing that damn bug #2353, all Bob has to do now to fix the bug is to pull in Janes changes into the mainline repository. Boom, no need to mess around with patch files.

Having the ticket system truly distributed is of course something to strive for, but I think I’ll start with a slightly less lofty target for Gitorious and use tracer bullets from there to hit the sweetspot of a ticketing system that fits git, and humans, well.


Comments:

  1. Ryan Tomayko Says:


    Gitorious and GitHub (and repo.or.cz for that matter) definitely compete, IMO, but not in a who-can-make-the-same-exact-widget-most-efficiently type way. There’s so much room for innovation here and no one service is going to be able to experiment with all the interesting possibilities by themselves.

    I’d actually like to see you guys collaborate a bit. The “Associated repositories” (Gitorious) and “Network page” (GitHub) could be so much better for everybody if they were capable of showing all clones everywhere. I realize that information isn’t really recorded anywhere in a Git repo but it seems like something that could be done with a bit of cooperation.

    Or maybe not. But, ideally, the decision to put repos on GitHub vs. Gitorious should be made based on the service preferred by each individual. Right now, that decision is more likely to be made based on where the repo you’re cloning resides or where a majority of your collaborators hang out. That seems very much against the spirit of Git.

    With regards to the phenomenon of F/OSS projects choosing GitHub over Gitorious, I’m afraid I can’t offer any single explanation, but I do have a few thoughts:

    First, from what I can tell, idealists who care about (or even know about) Freedom 0 are actually a pretty tiny minority of the overall community. And a lot of people who claim to value open development don’t actually value it when compared to a bunch of other things. It’s sad, really.

    Next, I’m not sure we’re at a place where the benefits of open development outweigh the benefits of focused, opinionated design. It’s definitely possible to build coherent, usable systems in an open model but you need a BDFL type personality to keep the crack out and you take on some not-insignificant overhead simply maintaining an open project; where, in a closed project, you can go cowboy for a while and focus purely on making the app meet your vision. The benefits of the open model clearly outweigh the benefits of the closed model in the long run but these are early days. (That’s a general observation – I’m not saying GitHub has a more coherent design or anything)

    And finally, even though GitHub and Gitorious were released within a few days of each other, it sure feels like GitHub sucked up a bunch of projects right out of the gate somehow. I have no idea why. I can tell you that when I personally first looked at Gitorious, I somehow missed a whole bunch of great features. I’m more than willing to accept that it was me not being rigorous enough in my evaluation but if you get the same sort of feedback from others, I’d say it would be well worth it to spend some time ensuring that the first visit shows off as many of Gitorious’s features as possible. And, here, I really think its almost entirely about networking – the project search and code browser and everything that’s been a part of the forges is damned near irrelevant.

    Keep up the good work, Johan. I’m absolutely blown away with what you’ve accomplished so far and am anxious to see what’s next.

  2. Johan Sørensen Says:


    Good comments

    I’d actually like to see you guys collaborate a bit. The “Associated repositories” (Gitorious) and “Network page” (GitHub) could be so much better for everybody if they were capable of showing all clones everywhere. I realize that information isn’t really recorded anywhere in a Git repo but it seems like something that could be done with a bit of cooperation [..] That seems very much against the spirit of Git.

    Me too, it’s actually been on the list since the beginning, but I imagine it no way being specific for repo.or.cz/github/other, just a general remote repository hosted somewhere else. We could even peek at it periodically to fetch recent activity there. It’s also possible to fetch which remotes that a repository often pull in and display that somehow.

    And a lot of people who claim to value open development don’t actually value it when compared to a bunch of other things. It’s sad, really.

    I’m as pragmatic as the next guy when it comes to getting work done, but I view open source and a completely different way, there it’s a matter of principles for me, and especially so if you’re marketing whatever you’re doing as “suitable for open source projects”. Anything less is like Al Gore driving around in a Hummer as I see it. But in the end, I supposed all that really matter is that a (F/OSS) project being hosted somewhere produce useful code.

    I can tell you that when I personally first looked at Gitorious, I somehow missed a whole bunch of great features. I’m more than willing to accept that it was me not being rigorous enough in my evaluation but if you get the same sort of feedback from others, I’d say it would be well worth it to spend some time ensuring that the first visit shows off as many of Gitorious’s features as possible. And, here, I really think its almost entirely about networking – the project search and code browser and everything that’s been a part of the forges is damned near irrelevant.

    That’s some really good points, and something that’s been nagging in the back of my head since the start, thanks for putting words to it. The overall UI (as in conveying what it does and general discoverability) needs some uhmph, and I’ve put the networking-type things a bit on the backburner in favor of individual per-project features, but maybe it’s indeed time to change that approach.

    Again, thanks for the comments Ryan!

  3. Priit Tamboom Says:


    In the service world it gets really fuzzy about open source or not, i’m still puzzled. However as a programmer I support open source way of doing as much as I can. However as Ryan told for most users it does not matter so much at all as we would like to think (especially in the sort term).

    In my view, there is no need for direct competition, solve only your (or core contributors) needs and visions. If you start competition feature-to-feature basis, you might need some revenue plan to keep things sustainable etc.

    By the way I don’t mind ads if it is unobtrusive and correctly placed for users (similar to gmail), however aggressive ads would be deal-breakers for sure.

    Thanks for driving gitorious!
    Priit@still.not.yet.so.diligent.committer

  4. Johan Sørensen Says:


    In the long term, there’s definitely a revenue plan (that doesn’t mean I’ll have to charge directly for usage) it just doesn’t make sense to implement it yet since, like I mentioned, the cost is abysmal and a) I need it myself to host my own personal projects, b) I need the app itself (internally) for my company and c) I don’t mind “giving back” in the indirect way it currently does.