One of the things I’m enjoying most about Ruby is the energy and sharing that goes on within the community. Github is turning into the hub that feeds that community. They bill it as “social code hosting”. Huh? Code has never really been a social thing, and the root of github is git – a source code control app – just about the most boring class of software apps there is. But github offers some innovative new features:
- every member gets their own space where they can upload their code projects to share with the community, along with the standard profile and RSS feed features you’d expect.
- search for code you need to complete your own projects and sign up to “watch”, or be notified when any project that you’re using changes.
- a seamless way to push version controlled code from your desktop to the hub, into either public or private repositories – public repositories are free, whereas privates ones have a reasonable price.
- and an easy way to fork others code so that you can modify it for your needs or to fix bugs, then push back up to the hub for the benefit of the rest of the community.
Since it went live this year, many very high profile projects have moved to github, including Rails, Merb, Capistrano, Scriptaculous, and Prototype. In my new project, I am using Will_Paginate, Hpricot, Restful_Authentication, JSON_Printer, and Acts_as_taggable_on_steroids – all downloaded from github.
I was able to add a feature I needed to JSON_Printer, a small project produced by the programmers at TechCrunch, and posted it back to the community. Just today, I uploaded a new project called NumberTwoPencil which I created to interface with the Education.com API announced earlier this week. If you have a need for school data in your Ruby app, check it out, make improvements, and share it back with me. I’m also hosting two private repositories there, code I push every night for backup purposes.