Send in your ideas. Deadline December 1, 2025
Grant
Theme fund: NGI0 Commons Fund
Start: 2025-10

GoActivityPub

Help people develop Fediverse software in Go

GoActivityPub provides a batteries included suite of modules for making the creation of ActivityPub applications easier for Go developers. It was designed to offer a middle ground between the highly dynamic nature of the Activity-Vocabulary and the constraints of the Go programming language, with emphasis on strong typing, minimal resource footprint and very little "magic". It has distinct components for the vocabulary types and processing of activities, an HTTP client which supports authorizing to servers with both ActivityPub specific and traditional methods, multiple storage backends, and other low level helper modules.

The current goal is to improve the experience for new developers through better documentation, increased robustness and a stabilized API, while also adding the support for Activity-Vocabulary extensions through code generation.

Logo NLnet: abstract logo of four people seen from above Logo NGI Zero: letterlogo shaped like a tag

This project was funded through the NGI0 Commons Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 101135429. Additional funding is made available by the Swiss State Secretariat for Education, Research and Innovation (SERI).