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.
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.
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. Academic institutions are also leveraging the platform for the uploading and sharing of academic resources.Maybe this could be a starting point for the African OpenData initiatives?
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.
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.
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.
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.”Much of the ESRI Developers section is now hosted with GitHub and this allows developers to easily pull code and work on projects that bring life to the Geo-industry.
A quick search revealed:
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.
Kumbirai is a GIS & MEAL specialist using geospatial analytics to advance global health and social impact. A certified Data Protection Officer (DPO), an open-data advocate and self-taught software developer, he builds web GIS tools that turn field data into decisions. He lectures in GIS/Remote Sensing and mentors emerging practitioners. Founder of a geospatial startup and nonprofit, he believes, “Real geospatial innovation happens when we empower communities with the right tools and knowledge.” Open to consulting and collaborations.