OGC advances the Web Feature Service standard through a public hackathon

As many readers are aware, OGC has been making a concerted effort over the past few years to integrate better with the community implementing OGC standards. OGC members and staff believe that by involving those who actually need to code against standards early in the process, we can develop standards that are both more responsive to market demands and more accessible (read: “easier to understand and implement”) for developers. Hence, why not try a hackathon?

WFS3 Hackathon

We could do this work on small test cases, but better is to jump right in with something really important: a major overhaul of the Web Feature Service (WFS), with implications for almost all OGC web services standards. Like with many OGC Standards Working Groups (SWGs), this one has been compiling documentation in GitHub and has opened that repository to the public. The revision under work (version 3) is RESTful, includes both OpenAPI 3 and Swagger interface descriptions, and is structured in a core-extension model. Even more remarkable, the standard is being jointly developed by OGC and ISO / TC 211 (Geomatics) and both organizations are flexing their respective processes to a more open development environment while still retaining the international consensus assessment and approval process for their standards. Real applause is in order for the chairs of the joint work: Panagiotis (Peter) Vretanos, Clemens Portele, and Morten Borrebæk.

On 6 and 7 March 2018, the OGC organized a WFS3 Hackathon in Fort Collins, Colorado USA. The USGS had the foresight to see the value in rapidly progressing this standard and as a result, provided both funding to operate the hackathon and space to work at the USGS Powell Center. Special thanks are also in order to Radiant.Earth for assisting with funding for attendees and refreshments. 30 attendees participated in person and we had remote attendance from Nigeria as well as a small, distributed team working in Europe. The WFS3 Hackathon was immediately followed by a working meeting for the SpatioTemporal Asset Catalog (STAC) community to identify what part of WFS3 could be used in developing the STAC specification. Given the common participants in both groups and the very practical use case for STAC, the WFS3 Hackathon was well-populated with participants seeking an easily implementable yet flexible standard for web service of geospatial feature content.

CubeWerx and Interactive Instruments came to the hackathon with working WFS3 servers based on the draft standard completed to that point. These services provided initial content for hackathon participants to develop clients, but as was expected, hacking against a draft standard results in improvements to that standard. By the end of the first day, 30 people trying to code new clients and servers found a better way to organize the path structure for the schema. Suddenly, the draft standard had a pretty major change… and half way into the hackthon!

Day 2 of the hackthon dawned with some reworked code by many participants over the previous night and progress continued through the day. By the end of the hackathon, there were five servers and three clients (including a GDAL driver) in some degree of operation. Implementations were made in Go, Python, C, Java, and Javascript. Many of these implementations continue to evolve and updates are periodically posted to the hackathon GitHub repository.

The result of the hackathon was an improved draft standard that had proven to be implementable for both servers and clients. This draft has been submitted as the starting point for work in both OGC and ISO to be approved as an international Standard. Equally important were the comments from several participants reflecting on the positive experience in developing a standard in a manner similar to how most code. We expect a final standard product where the implementer community has bought-in to the goals, methods, and results of a truly collaborative process.