Esri and Open Source Software: More Please

A few weeks ago GeoIQ joined Esri and, augmented by a few other Esri employees, we formed the Esri R&D Center, Washington DC, a.k.a the DC Dev Center. We immediately launched into action and are having fun brainstorming with our colleagues about what sort of technology and tools to explore. Transitioning a whole company at once was a new experience, and we’ve outlined some of our initial plans. Part of our transition involves working closely with our Esri co-workers to square up some goals for the future in terms of what makes the most sense for Esri as a whole and for the geo-developer community in particular. The DC Dev Center crew is a somewhat outspoken bunch of developers who are passionate and devoted to their craft and from early on it became clear where our experiences and passions could make a quick and significant impact.

At GeoIQ, we were heavy users of open source software and contributed code back to the community when we could. However, we feel that we could have been better about contributing code back to the community and developing more in the open. This is one of the areas where we as developers, evangelists, and geospatial uber-geeks feel that we can make a strong impact — improving Esri’s participation in and contributions to open source. Esri has always hosted open code and samples in a variety of ways, but more can be done. Focus and motivation needs to be improved, and Esri is now making it a priority to improve its open source participation.

More of Esri’s code should and will be open sourced in the coming days, weeks, months, and years. Patience is needed, of course, but we’re on our way. Here’s the basic plan: make it easy for Esri employees to write and share code in an open space and identify what products can and should be open sourced. To start, this means giving developers access to the appropriate tools, resources and space they need to collaborate with each other. This really just means Esri is beginning to leverage Github.

We will centralize Esri’s open code as much as possible, but again this will take some time. We are encouraging the sharing of ideas, experiments, and new code all to be developed openly on Github. We want Esri developers to have faces, be active on Github, and work more closely with those outside the company. We will embrace open source development as much as we can. You’ll see more code from Esri on Github. You’ll see more collaboration with other software projects. You’ll see Esri forking code and issuing pull requests on your repos – we are excited to be launching these new activities.

Developers who want to share ideas and code with us are welcome and encouraged to issue pull requests and file bugs and features on the repos. We’ll be gauging our success in this effort by the level of collaboration between internal developers and others who are willing to collaborate. Again, the Esri development team is excited to see how this plays out over the next few months. We know perceptions die-hard. This initiative is about a cultural change that has internal buy-in at all levels. Esri wants to push the limits of our industry and lead through openness and sharing where other companies have failed to see the benefit. We want to see progress and innovation in geospatial technology through collaboration with developers who share different perspectives and insights.

We’ve got the ball rolling already with several repositories up and running on Github. Esri’s presence in Github centers around two separate accounts: http://github.com/esri and http://github.com/arcgis. The “esri” account will house (host?) code that is meant to be more freestanding and generic. Code that a has broad reach to very more non-GIS community like visualization examples, solutions and various other scripts will all live there. The “arcgis” account will house open source code related directly to the “ArcGIS Platform” and have repositories for things like ArcGIS Online templates and ArcGIS Desktop extensions. The structure of all the code and repos will grow and evolve as Esri places more code on Github.

More open source code and more collaboration with others is a good move by Esri and only good things will come from it. You’ll be surprised by some of the code and projects that’ll be open sourced soon. As usual, hearing any comments, suggestions or opinions would be great in helping Esri shape the future of its open source effort.

This entry was posted in Developer and tagged . Bookmark the permalink.

Leave a Reply

7 Comments

  1. maphew says:

    Wow. I’m impressed, and hopeful for how this could turn out. I would really like it to work.

    I well remember the afternoon I posted a conundrum on the ESRI-L mailing list, and received a reply to the effect of “Your solution is to do X,Y and then Z. It’s up to you to figure out the code.” As the conversation progressed, I learned that he had code for my problem, but wouldn’t share it. In the past this knowledgeable individual had freely shared his work with the mailing list, and then seen it show up in a future ArcInfo release, virtually verbatim, with Esri’s copyright emblazoned on top.

    He would have been satisfied with an acknowledgement and source credits, but to have his work misattributed in this manner galled him to such an extent that he never publicly shared his work again. Consequently I and others reinvented, rather poorly, new wheels for old vehicles.

    Esri didn’t do anything illegal. The author shared as public domain, likely unwittingly, that’s just the way things were done then, and public domain is just that, public, and can be freely mixed and matched and subsumed at will. That said, I feel incorporation without crediting the source is wrong, standard practice notwithstanding. Use of github and similar public shared repositories/tools could go a long way to rectifying and preventing this kind of sad story.

  2. doogle says:

    I share this enthusiasm and can say that the Open Source craft has brought much happiness to my life. It too has helped others. After learning about GeoIQ’s commitment to GitHub I gave it a shot. Now I can report that, among juggling 3-4 IDEs a day, I’ve started to find my GitHub groove. The great part about it is that all my code is finally starting to live in one spot!

    Thanks for the post Chris.
    -Doug C.
    https://github.com/phpmaps

  3. maphew says:

    I see many of the Esri/Arcgis github repo’s are missing a license statement. Please fix this sooner than later. Txs.

    • maphew says:

      [meta] There’s something wrong with the authentication on the blog commenting. I had to log out and log back in again before I was allowed to post, even though I was already logged in and could go to my dashboard etc. at top left.

    • swalbridge says:

      Hi Matt,

      The repositories all contain license statements now, the majority of which are shared under an Apache 2.0 license.

  4. golden_jubilee says:

    Is it possible to join the organization with my own ArcMap plugin, hosted at github?
    Or is this open source initiative only for projects developed by ESRI employes?

    • Andrew Turner says:

      Hi @golden_jubilee – Sorry I didn’t see your message earlier.

      The Esri Github account is hosting projects that we developed ourselves or are contributing to. But that would be awesome if you posted your ArcMap plugin as a Github project. We could bookmark and share it with others and encourage Esri devs to also contribute to it.