“Personal relationships are the fertile soil from which all advancement, all success, all achievement in real life grows.”
Technical interoperability between open source software projects is increasingly common. Applications that were designed to communicate effectively with other applications are more robust and give users the freedom to combine them with other applications that were built to interoperable specifications. Projects such as Apache, Linux, and other development platforms, have helped fuel this move to interoperability in unique ways, including the capability of building further applications upon their foundations. They also encouraged the development of new communities and ecosystems of users and developers.
The OSGeo Foundation has taken advantage of these powerful open source platforms with several open source projects focusing on technological interoperability. However, there is also significant social interoperability taking place within the organization. What seem to start as ad hoc communities, in turn, create further opportunities for both social and technological advances. This article uses OSGeo as a case study to show that, when individuals contribute to the community and join together with other likeminded members, new technology and relationships pave the way to further innovation.
In the world of software development, the term “interoperability”, can take on different meanings, including the general ability to share data or the creation of open application programming interfaces (APIs) for inter-application communication. In the case of this article, technical interoperability refers to the range of ways to have applications talk to one another for the purposes of sharing data. Various organizations have overseen the creation and management of standards that help define common interoperable criteria. By using these standards, software projects can be certified as compliant to a certain specification. The benefit to end users, developers, or system integrators, is the possibility of handling an overall system in a modular manner. If a product is no longer the best solution for a particular need, it can be easily replaced with another one that is also standards compliant. Vendor lock-in is highly related to a lack of significant interoperability. In contrast, interoperability can allow solutions providers to give their clients a choice between proprietary and open source options; if competing applications are interoperable, they may also be interchangeable.
Interoperability standards are not only for the largest or most progressive open source projects; they should be given close consideration by all who develop software. Public pressure continues to encourage proprietary software creators to move away from “silos” and “black boxes” and one of the best ways to do so is by adopting existing standards (or even creating new ones). Standards have been around for almost as long as computing has existed, although we may take some of them for granted, such as POSIX, ASCII, TCP/IP, and graphics outputs (VGA). If the benefit of even one of those standards disappeared today, it would be keenly felt by all.
For the purposes of this article, these kinds of standards are considered foundational. They formed a foundation that ultimately made it possible for the next level of innovation to occur. Examples include email protocols, file formats, HTTP, programming languages, and more. Stopping short of trying to enumerate these as a second generation of standards, it is enough to see that standards beget further standards and help seed innovation. Likewise, it can be argued that this innovation occurs because more people are able to collaborate as they become increasingly able to find other likeminded collaborators. Without the ability to communicate there is little hope for innovation or interoperability.
True interoperability increases our capability to communicate effectively. History will likely show that “the next great thing” involves three key aspects: i) interoperable standards (enabling communication); ii) open source development (enabling participation); and iii) people collaborating on topics of similar interest (building relationships). Technical interoperability has received considerable attention, yet the social aspect of increased communication within project teams is worth more consideration. People and the relationships they build are critical to the next stages of breakthrough, and both open source businesses and open source project communities (developers, users, integrators, etc.) can benefit from reviewing the patterns behind the social dimension of interoperability. In this article, we examine the Open Source Geospatial Foundation (OSGeo) as a case study on social interoperability.
OSGeo is a non-profit umbrella organization representing a loose collection of software projects. The software projects focus on tools for building, sharing, and mapping geographical information. Many of these projects have been enabling technical interoperability long before OSGeo was formed in 2006. De-facto standards have often arisen, but the international standards organization - the Open Geospatial Consortium (OGC) - has helped set the stage for serious, long-term, interoperable specifications.
OSGeo projects were already building to these standards and being actively used, so what OSGeo brought to the table was more on the social side, such as marketing, communication, networking, and education. For more background on OSGeo and its efforts to promote open source geospatial products to end users, see the author's OSBR article entitled “Reassuring End Users of Open Source” (Mitchell, 2009).
If interoperability is about more than technology, evidence might show that the relationships between people within OSGeo are just as important for future success as the software itself. Likewise, increasing the personal and professional abilities of the people in the community would also help drive innovation forward as they collaborate at higher and higher levels. Engaging the people and helping them connect has been an important part of OSGeo's strategy.
It became apparent early on that individuals from across the spectrum of software projects would be the organization's key resource. As hoped, these individuals quickly self-organized into local groups and committees, which has propelled the organization forward faster than anticipated. This tidal force further enabled a stream of capabilities, including regional outreach, global events, and international academic connections.
OSGeo and Interoperability
Due to the open nature of open source development, the application of practical OGC specifications is critical. To effectively promote any product in today's marketplace, it must have key set of interoperable features (i.e., a list of OGC specifications the product technically supports). If a product cannot communicate with other compliant applications, then it is an infamous silo or, even worse, a black box. Integrators and clients have decreasing tolerance for both of these scenarios in this age of “open data”.
OSGeo has focused on telling others about the technology that is available, that it exists, that is being used successfully, and that it helps deliver solutions. Instead of listing all the detailed features of a piece of software, the focus has been more on matching particular user needs to the right product or package of products that support the required standards.
Since open source products compete with proprietary products for market share on the same grounds of interoperable platforms, what makes it possible for open source geospatial products to increase their adoption rate? Two competing software products may be similar ranked from a technical aspect, yet the open source option has an increasing chance of being chosen. Why is that? Naturally, part of the decision may relate to licensing or cost, but the other area that is often considered is the social environment around the product. Communities can help drive adoption in cases where specific features are not the primary differentiating factor.
OSGeo has helped bring together a largely disparate community that crosses many project boundaries and geographical areas. When reflecting on the role OSGeo has played and how existing communities became integrated and new communities were formed, it is possible to see a clear pattern of coalescence between groups. These, on their own may not sound so interesting, but each act of joining together has led the way to a higher level of cooperation and productivity. These groups were all developed informally, as a sort of adhocracy, by the individuals involved.
Technology enabled the increased communication required for cooperation within communities. Open source software development platforms, such as the GNU compiler collection, Linux operating system, Apache web servers, email servers, mailing lists, networking, and databases, all contributed to the growth of many open source projects, including ones targeting the geospatial/mapping domain. OSGeo came to help spread the word about these projects, but in order to do so it had to find the mechanism for that growth and outreach. The answer was people.
In OSGeo's infancy, there were many projects running, each with their own ways of communicating and working together. An individual from one project may also be working closely with people from another project through a loose personal affiliation. There were only a handful of concerted efforts, mostly just a few websites, to draw attention to the broader collection of tools that were available.
From these projects and from companies known to be using them, a base group of founders were able to meet each other face-to-face for the first time and commit to working together with a common spirit. These charter members were the first fruits of OSGeo; they drew together dozens of individuals from around the globe to meet and plan the next tier of cooperation.
Following this formal establishment phase, a community-focused mailing list was created and quickly grew with new subscribers. While some of these subscribers knew each before OSGeo, they had no common way to communicate across projects, often cross-posting emails to several lists as needed to reach a broader audience. Yet others who were not sure which products to use now had a safe place to come and ask for opinions from a much larger group.
This simple boost in the ability to communicate easily was a catalyst to growth, acting as a sort of interpersonal interoperability. For example, from these lists, people offered to create, join, and maintain other lists. These early steps enabled more formal committees to form, allowing OSGeo to formalize some of its operations early on. Members of OSGeo formed the lists and the lists represented real people, on the ground, working toward common OSGeo goals.
Other lists were for starting regional or language-based OSGeo groups, called local chapters. Because the main discussion list made it easier for groups of members from around the world to find each other, it was now possible to meet people who shared a common interest in open source in the geospatial realm. It has not been uncommon for individuals to find others in their same city for the first time through these lists. This lower barrier to finding likeminded individuals in an area or language group has helped make OSGeo a truly international organization.
The formation of local chapters also encouraged face-to-face meetings and events. OSGeo runs an annual international conference and the involvement of local groups is critical to running a successful event. Local chapters themselves also run events in their own region or language. These events, in turn, draw in more people to those local chapters and likewise into OSGeo's mission and projects.
The next steps are particularly interesting to observe and involve the formation of particular networks of groups. Consider OSGeo's Education and Curriculum Committee, which aims to bring training on OSGeo software into schools. In the past year, a new sort of interaction has started to arise from this basic committee. There is now an increased interest in creating cooperation agreements between schools and OSGeo. This symbiotic relationship helps advance the mission of both institutions and encourages others to do likewise. At the time of writing, there are five such collaboration agreements being drafted.
The initial partnership is only one year old and helped OSGeo grow to the challenge of finding ways to cooperate on common goals in education. Through an agreement with the University of Nottingham's Centre for Geospatial Science (CGS), it became possible to brand particular research projects as being under the umbrella of the agreement with OSGeo. This added further relevance to the research projects and encouraged those who were interested in open source software in particular to work with CGS. Five project internships were awarded for research under this new program, which is called the Open Source Geospatial Lab. Other schools are now interested in a similar relationship with OSGeo as a way to work alongside, and contribute to, similar goals in a more formal way than the traditional grassroots committee.
In non-profit environments built around advanced, and often turbulent, technology, creating five or ten-year plans is a grand challenge. Unless there are many paid staff being compelled toward a goal, it is not always possible to plan with much certainty. Volunteers can be motivated, but it is not always possible to predict how much time they will have to contribute. If the master plan is to build higher and higher levels of cooperation, yet there are no people available (or interested) to achieve them, many people will become frustrated. Most lessons that have been learned by OSGeo relate back to the context just described; below are just a few of the key lessons we have learned.
A group cannot be created out of nothing. Just as humans cannot create matter out of thin air, it is not wise to try to corral people into committees if they are not already interested. Regular querying of communities is needed to find if new ideas resonate with enough people to gain traction. Ideas are usually self-generated and new committees are usually self-organized.
A small or temporary project will attract commitment more readily than a large one. Breaking ideas or tasks into small phases with clear start and end points helps make goals achievable and makes it easier to secure commitment from community members. Closely related to this is the idea of documenting all business processes. If all processes are well documented, then tired team members can resign in peace, while potential new team members can easily understand the overall scope and finer details of their duties.
Over-communicate. Communication is key in building further levels of sophistication in an organization, but over-communication can help people find other areas of interest for future cooperation, provided that the communication is not so mind-numbing that it begins to be filtered out. The community needs to be comfortable sharing even the silliest thoughts to a broad audience, with the expectation that some ideas are going to evoke a shared response from others. These ideas may or may not be the catalyst to the next innovation, but keeping ideas quiet or planning in secret can often get in the way.
Build associations. Just as important as communication is networking, which means helping people find each other. Events are often the best place to encourage networking. Encourage local communities to find any excuse to meet together so they can get to know one another. In an increasingly online culture, there is still no replacement for a face-to-face meeting. Do not rely purely on serendipity through email and other online services; get people together in the same room, and make them talk.
Understanding how to encourage interoperability in the social context of an organization can help build further opportunities for innovation and development. Without having people developing new relationships with other people, the chances of success decrease sharply. Academic developments within OSGeo are one good example: OSGeo interacts with officials from a university, who in turn provide opportunities for individual research students to do applicable research. The result is someone new who learned about OSGeo and who perhaps contributed some tool, idea, or research back to the broader OSGeo community. The student receives support (possibly financial but definitely educational) and shows off any ability for future opportunities through the school. The school receives recognition as an open source geospatial leader while also attracting students seeking such an affiliation. Relationships glue together every step of the journey.
Interoperability is about increasing the ability to effectively communicate. As demonstrated in the case of OSGeo, social development can be stimulated by creating opportunities for likeminded people, and their organizations, to meet one another and maximize communication. Often, the result is that members are able to collaborate in new ways in their efforts on technical development. Without efficient communication, the likelihood of collaboration is minimal.
What will happen when these higher level groups form and then begin to find ways to collaborate with one another? What great initiatives will come from an academic group collaborating with a business or government group? The answers to these questions are not yet known, but one thing is for certain: the future will built by people enjoying the benefits of effective communication.
For further information on this topic, see the author's related presentation given at the University of Nottingham's OSGIS event in June 2010 and learn more about OSGeo-related projects at their annual event, FOSS4G 2011 in Denver, Colorado.