Ten Things GIS Users Need to Know about GitHub

April 8, 2013
Share

Sharing is Caring

GIS users, even those who don’t consider themselves programmers, may have heard of a mysterious location on the Web called GitHub. What is it and what do GIS users need to know about it?

1) GitHub is a Web-based hosting service for software development projects

GitHub is an online facility where projects are made available for others to access and make contributions. Projects are maintained and managed in repositories.
2) Git is a Distributed Version Control System (DVCS) 
Git is a software tool for managing the contents and version control of a repository, independent of GitHub. Git is free and distributed under the GNU General Public License. Linus Torvalds, of Linux fame, originally designed and developed it for that project. 
 
If users want to contribute to an existing project or use that project as the basis for their own development work, they will “fork” the project repository. This means taking a copy of it and creating a new repository under their user account on GitHub. To modify the contents of a repository, or add new content, users must “clone” their forked repository to create a copy of it on their local machine. Any changes made to that local copy are “committed” and then “pushed” back to their forked repository on GitHub using Git commands. 
3) GitHub is not just for code
GitHub is also used for managing the documentation and data that accompany projects. It's not particularly good at handling volatile binary data (e.g. images).
 
The City of Chicago posts geodata on GitHub and there’s no reason other data types cannot be hosted, forked and reworked there, as well. The Chronicle of Higher Education launched a series on the use of GitHub for managing and sharing educational resources and collaborative scholarship.
4) GitHub, Inc is a California company
GitHub Inc. started in 2008 in California and became a big player in 2012, when Andreessen Horowitz (and others) funded it to the tune of $100 million. The company offers a few other Web hosting services for things like slidedecks and wikis.
5) GitHub is social
Just like a social networking site, individuals who participate on GitHub have profiles that share details about who they are. Individuals can watch repositories, follow other users’ activities, and interact with their peers. 
 
Repositories are ranked by popularity and number of forks.
 
Repositories can be organized by language: JavaScript is the most popular (21% of repositories), with Python at number four (8% of repositories). There’s an interactive bar chart to explore the popularity of different languages.
6) GitHub, Inc. makes money offering software as a service
GitHub offers private code hosting starting at $7/month for five repositories, and increases to $200/month for 125 repositories (plans). GitHub can also be hosted inside a company’s firewall for an additional fee. A job board also brings in revenue. Open source repositories (public) are hosted for free.
7) It was a big deal when Esri joined GitHub
Esri joined GitHub in February 2011, but it wasn’t until the GeoIQ team joined the company that the presence grew. In August 2012, Chris Whelm discussed Esri’s plans to share more open source code and noted, “This really just means Esri is beginning to leverage Github.”
 
As of March 2013, Esri has 57 public repositories and 75 members. As I write this, Esri is hosting a developer contest on GitHub around the March Developer Conference.
8) There are many GIS projects and players on GitHub 

A quick search revealed:

9) GitHub lowers the barrier for use of open source
GitHub makes it easy for even a new programmer to quickly fork a project, explore and change it. In the past, developers often worked in isolation without access to community groups for support. Now, searching for, downloading, managing and the social aspects of software development are wrapped into one online environment.
10) You might just have to join GitHub 
Even though many people eschew joining “yet another” social network, at the rate GitHub use is growing, it may not be long before you find you have to join its ranks to gain access to geodata, access a recipe or find plans to build an unmanned aerial vehicle (UAV).
 
Editor's Note: Special thanks to Jill Clark, a GitHub user, for input to this article.
Share

Sharing is Caring

Explore more: Open Source

Geospatial Newsletters

Keep up to date with the latest geospatial trends!

Sign up

Search DM

Get Directions Magazine delivered to you
Please enter a valid email address
Please let us know that you're not a robot by using reCAPTCHA.
Sorry, there was a problem submitting your sign up request. Please try again or email editors@directionsmag.com

Thank You! We'll email you to verify your address.

In order to complete the subscription process, simply check your inbox and click on the link in the email we have just sent you. If it is not there, please check your junk mail folder.

Thank you!

It looks like you're already subscribed.

If you still experience difficulties subscribing to our newsletters, please contact us at editors@directionsmag.com