Ten Things GIS Users Need to Know about GitHub

By Adena Schutzberg

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.

Published Monday, April 8th, 2013

Written by Adena Schutzberg

Published in

Open Source

If you liked this article subscribe to our bimonthly newsletter...stay informed on the latest geospatial technology

Sign up

© 2017 Directions Media. All Rights Reserved.