How Praekelt.org and Open Source Provide Critical Services to Enable Social Change

By Swapnil Bhartiya | December 26, 2016

Swapnil BhartiyaIn Eastern and Southern Africa, women are still dying unnecessarily during the basic, natural act of giving life. According to Unicef, “In 2010, close to 58,000 women lost their lives during pregnancy and childbirth, accounting for more than one fifth of all such deaths in the world.”

Gustav Praekelt, founder of the South African design and development firm Praekelt.com, was deeply affected by the high maternal mortality rate in his country and realized in 2007 that open source software and mobile phones could help provide critical information and services to combat poverty and maternal mortality rates -- among other social issues -- across the continent and potentially around the world.

Mobile devices have deep penetration in the South African market, and Praekelt’s idea idea was simple: By combining the ubiquity of these devices with the power of service delivery and information, he could reach out to and help to millions of people.

According to Praelket.org: We use open source technologies to deliver essential information and vital services to more than 10 million people in over 40 countries... we work with governments, NGOs and social enterprises to provide our users with information, inspiration, education and access to financial services.

Praekelt.org now reaches more than 15 million people in 40 countries. Rather than creating technologies for service providers, the organization designs, builds, and iterates tools for end users and often the most disenfranchised people in the world.

Open Source from ground up

Praekelt.org runs exclusively on open source software, and the majority of their services are deployed on Ubuntu Linux servers. Recently, they launched a few services on the latest stable Debian release.

The organization uses Apache Mesos to manage large clusters for their maternal health applications. “All applications on these clusters are distributed in Docker containers and are managed by Mesophere’s Marathon. To provision the machines we use Puppet. Our language of choice for all of our services is Python,” according to Simon de Haan, chief engineer atPraekelt.org and Ambika Samarthya-Howard, head of communications.

What about Client side?

Praekelt decided to remove any dependency on apps for access or delivery of these services, as it would be a massive challenge to support all platforms out there and to get applications installed on the devices of end users.

“Our client-facing applications are generally accessed directly via the phone, either by SMS, IVR or USSD. The benefit is that these services require no installed application on the user’s phone to function. For richer client side applications we are using React Native,” said de Haan and Samarthya-Howard.

They use a messaging platform called Vumi, which is fully open sourced and sends more than 12 million messages per month. Their Junebug server is also open source and helps address diverse technical specifications among mobile operators in different countries.

Which open source projects do they rely on?

These days so much software is written as open source that you can’t always pinpoint which open source component companies are using in their project.

“Today we’re working with projects such as Python; Django for web applications; Twisted for network applications, MNO integrations and asynchronous web services; React Native for our mobile applications; PostgreSQL for our databases; Redis for our caches and key value stores; Mesos and Marathon for our computing clusters and orchestrating; Docker containers; Puppet for provision our virtual machines; and Linux for all our operating systems,” said de Haan and Samarthya-Howard.

Why Open Source?

“Using open source provides guarantees like connectivity, performance and compute capacity,” said de Haan and Samarthya-Howard. “Because data sovereignty regulation mandates that our services be hosted within the geographic borders of the nation states we operate, the costs benefits of cloud hosting do not apply to us. Having infrastructure that gives us redundancy in a local settings really helps us operate in these unreliable hosting environments. It’s a fact that more and more software is written as open source today and thanks to the open source development model, the innovation is happening at a much faster rate than you would expect in the proprietary world. And that could pose some unique challenges for organizations like Praekelt.”

“Building social-purpose applications in the most complex environments on very limited budgets requires that we sometimes utilize stable and proven technologies over the latest ones,” said de Haan and Samarthya-Howard.

They try to strike a balance between understanding the new and also appreciating the proven. “This approach requires that our development talent be among the best in the world. They are participants in the open source community, are knowledgeable about both the proven and latest OSS tools and how to apply them to building apps that anyone can use, anywhere, on just about any platform,” they added.

How is Facebook involved?

“Praekelt.org shares Facebook’s and Mark Zuckerberg’s belief in the transformative power of the Internet and of connecting people to each other. Living and working in developing countries, we have an intimate understanding of how far away this transformation and connection remains for millions of people around the world,”said de Haan and Samarthya-Howard.

This common thread made Praekelt a natural partner for Facebook. They started a former partnership in 2015 with the goal of helping 100 social change organizations build sites for the Free Basics by Facebook platform, which makes the Internet more accessible to more people through the Internet.org Iniative. “We wanted to provide technical support and assistance to help social change organizations share their offerings to first-time Internet users with no data costs attached,”they said.

Recently, the two organizations launched a Facebook Messenger ChatBot for the South African Department of Health’s MomConnect maternal health platform.

It’s incredible to see how open source enables organizations like Praekelt help people across the globe. We often get so absorbed in the technical discussions around Linux and open source that we forget about the real impact it’s having on real people. It’s changing the world around us, and making it better without any fanfare and hype.

How Praekelt.org and Open Source Provide Critical Services to Enable Social Change was authored by Swapnil Bhartiya and published in Linux.com. It is being republished by Open Health News under the terms of the Creative Commons Attribution 3.0 License (CC BY 3.0). The original copy of the article can be found here.