Esri builds tools to make decisions. The ArcGIS platform is the core of this system focused on geospatial data management, conversion, analysis, and visualization. This platform is built to be stable, secure, performant, scale, and provide the general capabilities that our users need to address complex and important issues. There are many components, from Content, through Code, Libraries, and more generally Services.
While we work closely with users to understand their needs, we can’t address every specific feature. Each community of users: government, military, NGO, urban planning, journalism, and so on each have their own methods, requirements, and integration. And in particular users need tools that speak their language and allow them to work in their domain without having to learn potentially complex technical terminology.
Fortunately, code is amazingly flexible. As said best by Fred Brooks in his seminal “The Mythical Man Month“:
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures…
Anyone who is a software developer, or even has written a small script, has felt the exhilaration of expressing a tedious and complex task where the computer seemed to magically do all the work. In cyberspace anything is possible and we have now have amazing tools to quickly implement and push our applications to millions of users.
Many of us grew up playing with and exploring Lego. We probably received some fascinating Pirate Ship, Airplane, or other kit of a well-designed Lego structure. We built it once and admired it but likely we soon took it apart and starting mixing and matching the pieces together. Lego provided us the medium to explore new concepts and quickly try them out. Sometimes I would leave individual creations together for years – pulling them out, admiring and slightly modifying them. They would become components of larger constructions that then were disassembled.
History of Open
Open technology and open-source code is not a new idea for Esri. We have a long history of working with and supporting the open-source community and using open technology and data throughout our platform. Back before open-source code was a ‘thing‘ Esri had ArcScript and many other tools that developers could download and share their code.
Esri has always supported our developer community with source samples and detailed SDK documentation for configuring and extending the ArcGIS system. We’ve also been a big supporter of the open-source community, providing code and sponsorships for efforts relevant to the users of our system. Popular tools such as GDAL/OGR, PostgreSQL, Dojo, MongoDB, and others have all been actively supported by Esri.
We are embarking on a new set of initiatives to subtly change from contributing to the various open communities to being more active members of these communities.
This doesn’t work if we’re just publishing. We’ve done Resource centers and code examples. This time it is different. Open collaboration is a different mindset and methodology – and it’s permeating how Esri operates in the public and internally.
Open source is an opportunity to work together. Technology reduces the friction of communication and creation. What we need now is the community to more easily share our ideas.
Eric Raymond’s famous essay “The Cathedral and the Bazaar” posited a new paradigm where the old ways of building things were going away in favor of more ad-hoc, and collaborative, creation. I think it’s a hybrid. The cathedral acts as inspiration, gathering, structure, and sanctity. The bazaar offers unique communication and self-organization.
Open-source code has a history of small, individual initiatives creating new software that slowly, but effectively grows a community that consists of individuals, organizations, and companies all supporting the common code.
Recently this has popularly being referred to as “Social Coding”. But don’t be fooled that this is like “social networks” where people only share pictures of their kids and cats. It means emergent collaboration within and across groups and communities. The ability to discover, follow, and converse with the people that write code brings a humanity and comraderie to what has often been considered purely technical.
There are many amazing engineers that work at Esri but too often the community doesn’t have any opportunity to interact or work with them. As part of this initiative they will be working more directly in the open, contributing to these Github projects – as well as many of their own repositories that they already work on. We hope that you will get a chance to see and work with this great team to build new awesome software.
Right now there are nearly 50 repositories at esri.github.com, and we have many more that we are getting ready to release. As we get close to and at the Esri International Developer Summit you will likely be suprised by some of the tools we will be releasing.
We are excited to be embarking on this together. In particular discovering areas where you can really innovate and create new ideas and solutions that we didn’t think of. I recently presented at our Washington DC Meetup and you can see my slides on Github.