How open source software can revolutionize the water industry

author Qatium

Embracing an open water approach has the potential to revolutionize the water sector’s software development and address key challenges the water sector faces in a number of ways. In this section, I talk about why it’s important for the water management industry to become more open when it comes to our water engineering software and platforms and how other industries successfully sustain open source software practices. I argue that (1) the water sector can better engage in and support open source software that has been critical to the community’s success, and (2) water software vendors can better align themselves with open source software approaches, supporting interoperability between their software solutions and platforms (with things like Software Development Kits) for the benefit of the entire sector. I conclude with a water-industry example of the workings of an open source cycle.

The benefits of open source software in the water sector

To appreciate the benefits that open source software has had and can have in the water sector, it helps to have a high-level understanding of how the ecosystem of open source software development tends to work, or at least its “ideal” workings. 

You can envision open source software development as a cycle, or a loop, of reciprocity [Figure 1]. This loop drives the development and innovation of software in an iterative, community-driven, and collaborative manner, typically made up of the following stages: 

1. Ideation & Motivation:

  • Individuals or groups identify a need or challenge.
  • They’re motivated by solving that need, scratching their own itch, or just a desire to contribute to the community.

2. Initial Development & Release:

  • Developers begin coding and structuring the project.
  • Initial versions might be rudimentary but serve as a base.
  • The project is then released with an open source license, making it accessible to anyone.

3. Publicity & Adoption:

  • Developers promote the project on various platforms, forums, or communities.
  • Early adopters start using the software and provide feedback.

4. Collaboration & Contribution:

  • The community contributes in various ways: code contributions, bug reports, documentation, translations, design improvements, etc.
  • Development tools like version control systems and platforms (e.g., GitHub, GitLab) facilitate this collaboration.

5. Feedback & Iteration:

  • Based on feedback from users and contributors, the software undergoes iterative improvements.
  • This may also include major shifts in direction or refactoring if necessary.

6. Maturity & Expansion:

  • As the software becomes more mature, it might be adopted more widely.
  • It can serve as a base for other projects or inspire derivative works.

7. Maintenance & Sustainability:

  • To ensure the software remains useful, it needs ongoing maintenance.
  • As original developers may move on, the community or new developers step in to maintain and update the software.
  • Efforts to secure funding or donations can help sustain long-term development.

8. Documentation & Education:

  • Good documentation is vital for adoption and further contribution.
  • Tutorials, workshops, and courses might be developed around the software, creating a more informed user and contributor base.

9. Community Building & Governance:

  • As the project grows, there’s a need for structured governance and decision-making processes.
  • Community-building efforts, such as forums, chat groups, and conferences, foster collaboration and maintain enthusiasm.

10. Revisiting & Renewal:

  • Over time, newer technologies or methodologies might emerge.
  • The community evaluates whether to incorporate these changes, refactor, or sometimes even start afresh with a new project.

The cycle then begins anew with fresh ideas, needs, and challenges.

The water sector can derive a number of benefits from this reciprocal, open source cycle when it comes to water management software development.  

Quicker innovation to address changing water management landscape

Communities around the world are facing a growing number of water challenges and water crises, accelerating every year due to climate change. But for a number of reasons, we’re slow to innovate and adapt technology for those challenges. Older water management systems, assets, and ways of working do not necessarily fit the needs communities will face in the future, but an open water approach to water management technology can help accelerate innovation, so we’re ready to tackle future challenges efficiently. 

With a large community of interested actors, bugs and vulnerabilities can often be identified and fixed more quickly, and it allows for collective problem-solving, leading to faster innovative solutions. Open source approaches can also ensure smoother interoperability and compatibility between vendor software, which means the sector as a whole benefits from the innovative work the open water community contributes.

Flexibility for localized needs 

Because open source software and open platforms have mechanisms in place to allow users to modify or extend the software, users in the water management community gain more flexibility to customize their water management tools to their own needs. This can help fast track fit-for-purpose and geographically appropriate solutions. And when communities contribute their learnings, creativity, and tools back to the open source community, communities with similar needs can also benefit from that innovation.

Cost-effectiveness and accessibility empowers communities

Open source projects are often free or at least cost-effective because they involve collaboration among a community of volunteer developers and other stakeholders who contribute code, documentation, and other resources to the project. This puts the power of software development into the hands of communities, rather than proprietary and commercial software providers controlling access to every solution, and extends accessibility across persons and groups that may not have the resources to use proprietary tools. 

It’s important to note that the open source approach does not take away from commercial vendors. Open water benefits the industry as a whole because open source software developments and open platform tools are available to everyone to improve their platforms.

How the water sector compares to other sectors when it comes to open source

Water management platforms today exist because of open source software

Open source software has strongly influenced the water sector’s software. In fact, the majority of water management software that exists today leverages EPANET or SWMM. Both are public domain, open source software originally developed by the United States Environmental Protection Agency. EPANET is used for modeling water distribution systems, and SWMM helps predict runoff quantity and quality from drainage systems for stormwater management.

When Dr. Lewis Rossman (a.k.a. “Lew”), an employee and environmental engineer at the United States EPA (Environmental Protection Agency) developed EPANET in the 90s, and the EPA made it completely public domain and free for everyone to see the code and adapt it for commercial and non-commercial applications, it fundamentally changed the way consultants and utilities could run water distribution network simulations and understand their networks. EPANET leveled the playing field in a sense because developing nations and utilities suddenly had more access to simulation tools that were otherwise bound up in the commercial space.

It’s important to recognize that water management software today, proprietary or not, exists and thrives off of the free work the US EPA does and a group of volunteers continue to do now that the original employee who developed EPANET has retired (it should be noted that Lew is still one of the main volunteer contributors to the EPANET community initiative on GitHub). Many companies have become very successful and profitable working from EPANET and SWMM as well as other open source platforms. 

In the case of Qatium, for example, our water management software wouldn’t exist without certain open platforms, including EPANET but also other open platform projects. We leverage React, for example, which is a framework that allows people to develop applications for the web. We also use mapbox, a mapping and location cloud platform that gives us the Software Development Kits (SDKs) and Application Programming Interfaces (APIs) we use to develop rich interactive applications for the benefit of everyone. 

The opportunity for water sector: support open source like other industries do

A key aspect of open source is the practice of reciprocity, or giving back — this is part of what makes open source projects work well. Yet, the water sector is behind other industries when it comes to developing a strong open source culture with a consistent and sustainable reciprocity loop.

The result is that open source tools like EPANET and SWMM can be very slow to develop — sometimes with up to a decade between releases. But if the water engineering industry mimicked other industries, implementing feedback, funding, and development to the open source software it relies on, tools like EPANET and SWMM could adapt quickly to our needs to better meet water management challenges. 

A lot of big tech companies, like Facebook, Google, and Apple, all contribute to open source software projects for the benefit of their entire industries. Those companies have determined that certain open source software or applications have been core to the success of the industry, and they’ve banded together to fund the continuous development of it. 

Funding commitments & awareness building

The engineering industry can start to look at other industries’ support of open source and replicate those methods to create more successful tool sets for themselves instead of relying wholly on commercial vendors. 

QGIS is an example of an entirely open source mapping software that benefits sectors that need to visualize, analyze, and interpret spatial and geographic data. QGIS’s open source project has a strong contributor community as well as mechanisms in place to ensure the project is sustainable. For example, QGIS employs a sustaining membership program to help finance key aspects of software development for the long-term health of the project. 

Blender, a 3D CG design suite, is another example of an open source software with a sustainable funding model. There are multiple ways the Blender and 3D design community can invest in development of the software, like individual donations and corporate memberships, which have different tiers and offer indirect marketing benefits. 

But, it’s not just a matter of setting up a foundation to collect money for open source projects in the water sector. It’s just as important to raise awareness about the great work of open source projects and open standards in the water sector, so the industry can band together to recognize and support open initiatives in a way that propels open projects forward. This is something other sectors have done well, talking about their projects and needs on social media and garnering interest and support.

It may always be a small group of core contributors who are active and invested in open source initiatives, but building awareness, engagement, and pride in the fact that these tools exist and are delivered by a set of volunteers who simply want to contribute back to the community, can help generate interest and reciprocity open source projects need to thrive. 

For example, I try to share a lot about the EPANET developments on LinkedIn, and my posts do seem to create a buzz and demonstrate that there’s an appetite for people to talk about doing things differently in our sector. 

If you work as an engineer, there are limited opportunities to share your own good work, usually a few times a year at conferences, but Linkedin is an amazing opportunity to speak openly about what you’re working on and share ideas and concepts. People in the water sector really respond to that impactful content instead of what’s often an echo chamber of self-promotion. 

An example of the open source loop in the water sector: epanet-js and Qatium Labs

The story of epanet-js

As a civil engineer specializing in software development in the water sector, I’ve always been a big supporter of open source, both in its use and trying to publish and contribute back. I’m interested in software development that makes conventional engineering tools better and more useful for utility operators and other engineers in the water space. 

My largest contribution to open source software, aside from my direct contributions to EPANET itself, is likely the publication of a code library called epanet-js. Epanet-js is a version of EPANET that runs in JavaScript, which means it allows you to run hydraulic simulations in a web browser. 

I developed epanet-js while I was working as a freelance clean water modeler and experimenting with different ways to run hydraulic models. These experiments centered around how you can leverage EPANET to create an exciting modern interface for day-to-day water management operations. The epanet-js codebase I developed was core to these experiments, allowing me to publish proofs of concept and share them with the water engineering community on social media. 

Because open source software had benefited me so much in the process of developing epanet-js, I really wanted to give back to that community, so I bundled and published my epanet-js library for others to use and adapt. 

I was happy to see Qatium, a major platform supported by many developers, use my open source work for simulation calculations in their water management application. It was great to see epanet-js was useful not only for my own experiments but also an actual product for end users. Qatium reached out to me to share issues they came across in my code and they contributed code back to the epanet-js codebase to improve it for the benefit of everyone. 

I think this iterative collaboration is a good water-sector example of how the open source software loop works and propels innovation to make the sector’s software better faster. If I had decided to keep the epanet-js code private, or Qatium had decided to keep their improvements to the code private, we wouldn’t have collaborated and the software wouldn’t have improved so quickly for both our mutual benefit and for the benefit of other users of epanet-js. 

Qatium Labs

Eventually, I joined Qatium as Director of Innovation. We shared the same vision for an open water approach in the water sector. Qatium is a big supporter of me continuing to improve and publish epanet-js and contribute back to the EPANET library while at the same time working to improve the Qatium platform. The company supports open source practices with their employees because they believe advantageous software that can be used by as many people as possible can make a fundamental difference in our industry. 

We’re really excited to unveil Qatium Labs, an initiative to continue experimenting with an open water approach in water engineering. Qatium Labs will be a place where we can spin up new ideas and concepts in a public way, so people in the water engineering space can see the work we’re doing and benefit from it. 

Qatium SDK

A key part of Qatium Labs will be the release of our Software Development Kit (SDK). Qatium’s SDK will give people the tools they need to customize and extend Qatium in ways that are highly relevant to them and their own use cases and gives people the opportunity to publicly share what they’re working on. 

The SDK will allow even casual coders to extend Qatium’s water management platform in a way that works for them — it’s for software developers, utilities, consultants, researchers, students, and anybody who’s interested in developing their own solutions or their own tools or functionalities. 

Qatium’s SDK opens many possibilities for different user groups. Some examples might be:

  • You’re a utility, and you want to adapt Qatium’s water management system to your unique work environment because you have very specific needs based on geography, or regulations, or even your own proprietary software you want to connect to Qatium somehow.
  • You’re a software vendor, and you want to extend your software so you can better move data back and forth between your software and Qatium’s, so you can leverage the best of the best of both software platforms.
  • You’re an engineer or consultant, and you want to automate or improve your own result presentations or data transfer processes to be able to make quicker and better decisions.
  • You’re a researcher or academic, and you want to write a bit of code to test out an idea, a new algorithm of real networks, then share your findings with peers and maybe even commercialize your work.
  • You’re a casual coder, and you have a small idea you want to experiment with, a small bit of functionality, a modification, or a change you want to explore.

Qatium recognizes the limits of a company, that there is a wide range of unique water management situations out there that our team may never think of or challenges Qatium may not be able to develop tools fast enough for. Someone could pick up the SDK and completely change the way Qatium is used, and solve problems that we never originally considered, and we welcome that possibility. 

We want to break down traditional boundaries and work in a much more open manner, to really change the way that people interact with water systems and data, so users have much more power in how they use the tools we produce.

The SDK is so exciting because it gives as many users as possible the ability to use their talents to organically grow Qatium’s foundational tool outside the scope of even our own imaginations — and with more and more people involved in an open way of working with water sector software, we can hopefully evolve these tools to address the challenges of the entire water cycle.

The future of water engineering is open source

In essence, reciprocity in the open source software community creates a virtuous cycle, where each contribution — be it code, documentation, or community support — enriches the collective resource pool, benefiting existing and future members. The future of water engineering should be focused on returning as much effort as possible to the open source community, so we can extend those tools and more quickly adapt them to the industry’s needs 

“Open Water” whitepaper

This article was taken from Qatium’s whitepaper “Open Water: why we need open data, open software, & open collaboration in the water sector.” You’ll find the full whitepaper here.

Communications & water management

This paper is a valuable resource for water utilities who want to upgrade their communications practices, so they can nurture better, lasting relationships with their customers.

Tax and fees added at checkout