ArcWatch: GIS News, Views, and Insights

May 2014


Collaboration and the Future of Software

By Monica Pratt
ArcUser Editor

Chris Wanstrath explains what  forking code means in the GitHub world.
Chris Wanstrath explains what forking code means in the GitHub world.

"Software development isn't really about software, it's about people," said Chris Wanstrath, cofounder and chief executive officer of GitHub, in his keynote address at the 2014 Esri International Developer Summit (DevSummit).

GitHub, the world's largest social coding site, has 5 million users and is part of software development for many large software companies.

Wanstrath energetically roamed the stage at the convention center in Palm Springs, California, sharing his personal history and philosophy on software development with an audience of nearly 1,500 developers. His initial vision for GitHub was very limited: code sharing without aggravation. Wanstrath believes a large part of GitHub's continued success is due to its flexible model that does not require permission for collaboration. Any project can be forked (copied down); changes can be made to the copy; and—optionally—a pull request can be made to the original repository's owner, who can decide to merge the changes (or not).

Originally, forking involved taking a philosophical stance against someone's code, but GitHub has made forking a loving term. "The real meaning of 'fork you': Let's build something together and build something great," Wanstrath said.

GitHub continually refines the product by finding ways to make collaboration and communication easier by eliminating friction from the process. GitHub's home page says, "Build software better together," and for Wanstrath, that is what it is all about—not git, not code, but projects and people working together. People can use GitHub to work on open-source code publicly via the web or work privately on closed-source code in a private repository on private servers using GitHub Enterprise, as Esri and other large software shops do.

Harmonious Relationship

Wanstrath views the relationship between open source and closed source as being a symbiotic rather than adversarial relationship. "There is not this big divide. It's not open source versus business. When I was young, that was what I thought. I thought business was evil for some reason because the code was kept secret and the code wanted to be free. That's not true at all. If anything, they complement each other."

The CEO and co-founder of GitHub sits down for an interview at the Esri International Developer Summit, where he was the keynote speaker.
The CEO and co-founder of GitHub sits down for an interview at the Esri International Developer Summit, where he was the keynote speaker.

Facebook, Esri, and many other companies build software on both open and closed source and, in the process, release their own open source. The Esri site on GitHub is an example of the way things are going: a closed platform with open-source code on top of it. Currently, Esri has hundreds of open-source projects on GitHub, including the ones posted as part of the JavaScript coding contest, 100-lines-or-less-js, held during the DevSummit.

The pattern of using both open and closed source is popular and successful because it lets companies learn about the people using their software. "Working directly with people who are building on a company's software—directly in the code—is a great way to do that," said Wanstrath.

Open source is all about community. Wanstrath maintains the lone coder is a myth. Software development is now a group activity. "Great coders relentlessly iterate. And I think the best coders relentlessly iterate with other people. They build things together. The future of this stuff is about the way people work together."

Open Source for More than Software

Wanstrath observed that open source is not about having a great idea but about releasing an idea and seeing how things develop.

"It's not about fancier features, not about fancier testing, not about fancier code coverage—it's about fancier communication," he said. Success will continue to come not from adding features but from removing them to create a workflow that makes it really easy for people to work together. "With GitHub, you can work with anyone on anything in the world. It's all available to you," he said.

Watch Wanstrath's keynote address. Read also "Whetting an Appetite for Geospatial Apps."

Contact Us | Privacy | Legal | Site Map