Victor Grau Serrat https://dpgalliance.github.io/ Wed, 10 Feb 2021 17:45:57 +0000 en-US hourly 1 https://wordpress.org/?v=5.3.2 Embracing openness in delivering an API for digital public goods /blog/embracing-openness-in-delivering-an-api-for-digital-public-goods/ Wed, 10 Feb 2021 17:45:56 +0000 /?p=777 Read more…]]> Since day one, the Digital Public Goods Alliance (DPGA), has embraced open source values including transparency, openness, and community. The DPGA seeks to advance open source software, open data, open AI models, open standards and open content as solutions to create a more equitable world; and, simply put, we couldn’t do it any other way than the open source way. Today, we are excited to announce the release of the Digital Public Goods API. This article recounts the journey of how we got here. 

One of the first actions we embarked on was to build a registry of digital public goods to aid their discovery. Doing so was partly as a landscaping effort to know what projects already exist that are working towards a more just world, and partly a community-building effort, welcoming input by a broad set of interested parties and contributors.

Architecturally, the industry-standard would have been to create a database, build a well-polished front-end website, and offer an open API that welcomed others to contribute. However, that approach was neither quite right, nor good enough. This is in part because whoever runs the database would ultimately own the data, as it would inevitably be hosted on closed infrastructure (insert here any cloud hosting provider or in-premises computing). This approach is simply not transparent enough. As a technical co-lead for the DPGA, I knew we could do better.

Enter the beauty and simplicity of a collection of text files hosted on a version control system. The format of text files was JSON, a lightweight data-interchange format. This makes it easy for humans to read and write. It is also easy for machines to parse and generate. You have the best of both worlds. 🙌

Due to its popularity and common use throughout the global developer community, the version control system of choice was git with hosting on GitHub. While we didn’t invest much initially on the “well-polished website” aspect of our infrastructure, we reaped the benefits from using GitHub early on. On GitHub, any code repository comes by default with the functionality of issues and pull requests, providing a transparent communication channel to discuss potential changes with collaborators. Plus, all the data is easily accessible to read, inspect and modify. That was indeed embracing the open source way.

If you wonder about data consistency, conformance, and integrity, you may be concerned at the thought of managing a large dataset with plain text files. So was I. That’s where having a data schema in the form of a JSON schema ensures data validation and checks all of the above dimensions of data quality. Pair such a JSON schema with a continuous integration (CI) pipeline to automate the data workflow, and the result is a very strong and fully transparent backend. 

As all this data is hosted on a public code repository, we postponed the offering of a dedicated API, since the data is already publicly available on the DPG repository. Also, GitHub already offers their own API, providing endpoints to access the raw contents of what is available through the website. Yet, we have been longing to complement our offerings with a data API that could enhance our collaborative efforts and make it easier for others to build on this growing dataset. The beauty of storing all our data in JSON is that it is the same format that REST APIs use. Thus, little work was required to repackage this data and serve it through an API. In a clever twist of repurposing the infrastructure that GitHub provides for free through their GitHub Pages (initially conceived as a hosting for static websites—primarily documentation sites), one can pre-generate all possible API endpoints, create the underlying folder structure to host the content for all these endpoints as JSON files, and have a very robust hosting for an API that leverages GitHub’s massive Content Delivery Network (CDN) to ensure high availability and low latency all over the world.

This brings us to this week, when the DPGA releases its API, with its accompanying public repository. We welcome your integrations while continuing to build together on this dataset for a more equitable world.


Are you a software developer, product manager, UI/UX designer, or community manager that enjoys a creative exploration of innovation and technology while contributing to digital public goods for a more equitable world, including the benefit of children worldwide? Stay tuned because DPGA Co-Host UNICEF’s Office of Innovation will be opening positions in the coming weeks, keep an eye on their Twitter and LinkedIn feeds for more information.


Follow our blog, or join our mailing list.

Learn more about the Digital Public Goods Alliance on our website.

Nominate digital public goods through this form.

Cover Image: “Embracing openness at Bryce Canyon National Park in winter” by Victor Grau Serrat is licensed under CC-BY-SA 4.0.

]]>
Community Sourcing Digital Public Goods /blog/community-sourcing-digital-public-goods/ Wed, 16 Dec 2020 12:47:39 +0000 /?p=711 Read more…]]> Calling all contributors: The DPGA is now community sourcing reviews of digital public goods!

Today, the Digital Public Goods Alliance (DPGA) launched our first community sourcing exercise! 

We’re asking you to participate by reviewing open source projects against the Digital Public Goods Standard with the ultimate goal of determining if a project qualifies as a DPG.*

Why participate? 

Open source represents an unprecedented opportunity to fundamentally alter power balances in international development. But, we can’t harness that power without the cooperation of many – reviewers, maintainers, creators, policy makers, and so many others (that means you!). 

This community sourcing exercise will give you the opportunity to delve into some of the largest up and coming open source projects. You’ll get a chance to understand their licenses and documentation, and how they’re designing for best practices, standards, privacy and more. 

By participating, you’ll get a better understanding of open projects that are making a difference in the world, particularly those that are advancing practical solutions to help achieve the Sustainable Development Goals (SDGs). You’ll also join a growing number of innovators working on technology for development (T4D). 

There’s more! We want to show our appreciation for your reviews! We’re working with the UNICEF Office of Innovation’s Blockchain Team to recognize those who contribute with a blockchain-based badge. This badge will be displayed on your Gitcoin profile. As a reviewer, you’ll earn the first Kudos ever issued by the DPGA!

What We Learn When You Participate

The Digital Public Goods Alliance (DPGA) strives to embody the principles of openness and transparency in how we operate. We want to engage people who share in our mission of promoting digital public goods for a more equitable world.

The United Nations Secretary-General’s Roadmap for Digital Cooperation states, “Currently, access to digital solutions is often limited through copyright regimes and proprietary systems. Most existing digital public goods are not easily accessible because they are often unevenly distributed in terms of the language, content and infrastructure required to access them.”  

To address these issues, we plan to screen and assess digital public goods that have been nominated to our DPG Registry, but are not yet screened against the DPG Standard. We are looking for engagement in this screening process. 

Our aim is to build a process that is reliable, scalable, transparent and open. Ultimately, we want our vetting process to fit with our open values and to leverage the expertise of not only our staff, but also the community to help assess these projects. 

Desired Outcomes 

Our hypothesis is that, by crowdsourcing this screening process, we will arrive at some degree of consensus and therefore be able to move a significant number of projects from “nominated” to “Digital Public Good”. We will be testing this by using confidence ratings in our questions and looking at the overall agreement among reviewers. 

We also want to hear from you – is there interest in participating in an activity like this in the future? Are there better ways to engage you to support an effort like this? We encourage you to leave feedback in the comment boxes throughout the process to help us learn and grow. 

Want to get involved?

Here’s how you can participate:

  1. Go to https://validate.digitalpublicgoods.net.
  2. Login with your GitHub credentials (or create a profile, if you don’t have one already).
  3. Select an open source project that has been nominated as a Digital Public Good.
  4. Follow the step-by-step instructions to review the project and decide whether or not you believe it meets the DPG Standard criteria.
  5. The validate webapp will open a Pull Request on your behalf.
  6. To receive your blockchain-badge, submit your Pull Request (PR) to the Gitcoin Bounty (login with your GitHub credentials).
  7. Badges will be allocated on a rolling basis – check back on your Gitcoin profile for your badge!

Ready to try for yourself?


*We define a digital public good as: “open source software, open data, open AI models, open standards and open content that adhere to privacy and other applicable laws and best practices, do no harm, and help attain the SDGs.”


For more information on the Digital Public Goods Alliance or the Digital Public Goods Standard, visit our website

For specific inquiries related to licensing, please reach out to: nominations@digitalpublicgoods.net

]]>