If you’re a geek, the talk of the town right now is GitHub.
Explained in laymans terms, what GitHub is – on the surface – will be so boring to any regular person that you would stop reading about here… or maybe here!
But GitHub is anything but boring, and the reason it is so popular is the very same reason why a site, yet to see the light of day, will come around soon enough and impact all our lives in much the same fashion as Facebook and Twitter, based on the GitHub paradigm.
So, what is it then?
GitHub is a social code sharing repository that allows anyone to contribute to any project available there.
Have I lost you yet? Stay with me, because this will rock your socks off.
Basically, it’s like if you heard a really good song and could add a separate track with your voice to it. Then, your neighbor, who plays the keyboard, goes online and add a keyboard track to it.
A few minutes later, someone in India who plays the sitar adds her track to it as well. Anyone can then go and pick the best additional tracks and compile a new MP3 and download and listen to that, instead of the original song.
It’s so cool and powerful, it’s actually hard to grasp at first glance.
There are now about 1.5 million developers hosting their projects on GitHub, and most of the projects can be viewed by me, you, and anyone else. The practical implication then becomes obvious.
Say I want to use an authentication system for our new storefront website that we needed to build for a customer. I want to have the very latest in secure technology. In less than a minute, I can find a standard implementation of secure authentication libraries for the programming language of my choice, and certainly find 10 different forks (that’s geek language for taking a new/alternate route in the development of the project e.g. adding “improvements” and “additions”, like adding a new music track in the song-example above and saving it separately as an addition to the original) that adds extra functionality to it.
When I then find a project that I like, I can see who started the project and start to follow him or her (or the project itself), to see what they will do next, or who they follow.
The reasoning here is the same as with Twitter; chances are that if I like what this one person is doing, I’m going to be interested in some of the people he or she is following and what they are doing.
It used to be that I had to check about 20 different places, and the work of a plethora of different unknown developers, until I found something that was open sourced and was good enough to be re-used.
Not so anymore.
I just visit GitHub and can easily deduce which of the 20 different code snippets is the best, just by checking the amounts of donwloads and followers a particular project has.
The best of it all; this is just the beginning.
In recent news, Dell just launched their Sputnik initiative, where they are basically making an “open source” developers notebook computer. The really neat part is that you’ll be able to get the exact setup of environments and such by using stack scripts from places like GitHub.
Say you’re interested in developing a state of the art web app. Today, in May 2012, as an independent developer, you would very likely choose to go with something like Django on Python, with Gunicorn as WSGI and Nginx as Webserver, and Redis as in memory Db and Postgresql as stationary Db. Those are the de facto tools of the open source world, for anyone in the business of making large scale web based applications right now.
There’s a stack script for that ready, available to just download and run. 15 minutes later you’re good to go. It’s quite a change from having to figure out that these are the tools I want, download them, configure them, and finally installing them.
Welcome to the future.
In conclusion, it’s clear that for us geeks, there’s a new sheriff in town, and it’s called GitHub. For the rest of the world, this will spill over in different flavors. Maybe there’s room for a WikiChoir site, where you and your friends upload your voices on top of a beat and can download combinations of different versions of it, maybe there’s a baking recipe site that will let us find the ultimate cinnamon roll recipe after the 15th fork. Maybe its…. Well, once you start thinking about the possibilities with this paradigm, the sky is truly the limit.