Calls: Send in your ideas. Deadline April 1, 2024

55 New Projects Awarded NGI0 Grants

We are happy to announce 55 new projects have been awarded an NGI Zero grant. That means 55 teams and individuals working on great ideas that contribute to the Next Generation Internet. Projects cover all ten layers of the NGI technology stack, from trustworthy open hardware to services and applications which provide autonomy for end-users.

collection of logos of NGI0 projects.

Currently there are two NGI Zero programmes active. The NGI0 Entrust program supports people who are working on privacy and trust enhancing technologies. In this round, 39 teams received funding within this program. The other 16 teams were selected for the NGI0 Core program which supports projects that improve the open Internet architecture. NGI0 programs have rolling calls with a deadline every two months. If you have a good idea that contributes to a human-centered internet you can submit a proposal. The next deadline is December 1st.

collection of logos of NGI0 projects.

Meet the new projects

(you can click or tap on the project name to fold out additional information)

Layer 1 Trustworthy hardware and manufacturing

Icestudio — Visual developer tool for development of FPGAs
Icestudio is an open source integrated development environment (IDE) with a "no code" philosophy that, through a block and diagram oriented visual interface, simplifies and streamlines the design of digital electronics on FPGAs. The simplicity of the concept breaks with the complexity of other tools in proprietary EDA environments, being able to meet the educational needs of STEM disciplines for the youngest students in schools, institutes, and universities, as well as providing more advanced users with a tool that simplifies their workflow in a much more user-friendly and visual environment without losing power or control. Through its frictionless installation system and the generation of Verilog code from the visual design, Icestudio allows users to get started immediately, acting as an integrating element between designers and manufacturers of open hardware, with developers of open software solutions for synthesis such as Oss Cad Suite and transpilers such as Silice, Amaranth, or Cflexhdl. Icestudio has the vocation of becoming the standard as a visual IDE for digital design on FPGAs, allowing other code-oriented IDEs to integrate it as part of their solution in the near future. For more details see: https://nlnet.nl/project/Icestudio
mikroPhone — Open Hardware feature phone
mikroPhone is currently a basic feature phone with extensible open source firmware. It is a fully open hardware device and it can easily be built in a home lab. It is intended to protect user's privacy to the highest possible level and to bring data sovereignty back to its users. This project focuses on further improvement of the basic phone device and integration of ARM module that runs GNU/Linux OS. Since linux module is entirely optional, it is not used for handling any critical functions of the device (e.g. cellular voice and secure VoIP calls, SMS messaging) and it can be powered-up on demand. This would solve common problems of linux smartphones such as poor basic phone functionality and short battery life. The goal of the project is to provide an option of enjoying a fully usable linux smartphone. For more details see: https://nlnet.nl/project/mikroPhone
Naja — Add Dissolved and Batch Netlists to Naja EDA
Naja is an EDA (Electronic Design Automation) project aiming at offering open source data structures and APIs for the development of post logic synthesis EDA algorithms such as: netlist simplification (constant and dead logic propagation), logic replication, netlist partitioning, ASIC and FPGA place and route, … In most EDA flows, data exchange is done by using standard netlist formats (Verilog, LEF/DEF, EDIF, …) which were not designed to represent data structures content with high fidelity. To overcome this problem, Naja relies on Cap'n Proto open source interchange format. Naja also emphasizes EDA applications parallelization (targeting in particular cloud computing) by providing a robust object identification mechanism allowing to partition and merge data across the network. The core of Naja is formed by two interrelated data structures: the Structured Netlist (SNL) and the Dissolved Netlist (DNL). SNL is tailored for high-fidelity representation of hierarchical netlists, while DNL offers a flattened netlist view, optimized for rapid, multi-threaded analysis and optimization tool development. For more details see: https://nlnet.nl/project/Naja-DNL
OVT 13 — Open Hardware laptop
The open hardware laptop OVT 13 (Open Vision Technology 13" Laptop) will be a thin and light laptop that is on-par in terms of performance and look-and-feel with established solutions available from market dominating competitors. The OVT 13 is designed to meet the modern standards imposed on thin and light laptops. The fully open-hardware design as well as the modular approach will satisfy both the enthusiast and non-technical user in terms of design openness, upgradability and repairability, performance and formfactor. The vast amount of engineering innovation that goes into designing consumer electronics devices goes unnoticed by many users. These innovations take place behind closed doors and do not advance the technical progress of our society, but only serve to increase the market share of a single company. The OVT 13 will not only be an open hardware design, but also a communication effort that shines a light on the design challenges and the innovations needed to overcome them. By publicly documenting the whole design process no knowledge will be kept behind closed doors and the innovation that goes into designing such a system can be used by everyone. ▸ For more details see: https://nlnet.nl/project/OVT13
Topola — Topological (rubberband) router for printed circuit boards
Topola is an open-source topological (rubberband) router for printed circuit boards (PCBs). Unlike traditional maze routers, topological routers like Topola are not constrained by a grid or 45° angles, allowing for more efficient circuit board layouts (denser arrangement of components and traces, lower crosstalk, reflection, and electromagnetic interference). The goal of the project is to develop a dutifully maintained engine for interactive and automatic routing that can be used both as a standalone application and reusable software library integrated in popular open-source PCB electronic design automation (EDA) packages, giving designers a tool for developing high-quality open hardware designs without having to pay for expensive proprietary software. ▸ For more details see: https://nlnet.nl/project/Topola
Verilog-AMS in Gnucap (cont'd) — Analog/Mixed modelling and simulation in Gnucap
Verilog-AMS is a standardised modelling language widely used in analog and mixed-signal design, but without an open reference implementation. Gnucap is a modular mixed-signal circuit simulator that partially implements Verilog-AMS, that aspires to eventually implement the complete language. In 2023, with NLnet support, we made significant progress in support for Verilog-AMS, the "analog" part, also known as Verilog-A, both on the simulator side and in the model compiler. For 2024, we will extend the work, concentrating on three tasks. The first is extensions to modelgen, the model compiler, essentially completing the analog part of Verilog-AMS, with some digital. The second task is enhancements to the simulator, mostly related to fast simulation of large mixed circuits, with both analog and digital parts. The first and second tasks are related to the "mixed-signal" aspect of Verilog-AMS. The third task addresses interoperability with other software, including schematic entry and layout, ability for Gnucap to use device models from other simulators, for modelgen to generate code to be used with other simulators, and porting some analysis commands. For more details see: https://nlnet.nl/project/Gnucap-MixedSignals
TerosHDL: OSS, GHDL, NVC — IDE with support for Open SYthesis Suite and GHDL/NVC simulators
TerosHDL is an open-source graphical IDE tailored to FPGA/ASIC development. The goal is to empower engineers, hobbyists, and students to easily engage in RTL design, fostering innovation and growth in the field. TerosHDL serves as a comprehensive platform, supporting RTL design, synthesis, simulation and common code edition (linting, formatting, etc). In this project, TerosHDL will incorporate support for a number of additional powerful RTL design tools: Yosys, GHDL, and NVC. This will give users an interface which is friendly to first time users, equipped with real-time feedback and debugging capabilities. This further streamlines the chip design process, enhancing efficiency and making RTL design more accessible and productive. ▸ For more details see: https://nlnet.nl/project/TerosHDL-Yosys-GHDL-NVC
TISG trustable image sensor gateware —FPGA based camera providing encrypted video streams
More details to follow

Layer 2 Network infrastructure

Improvements for the next generation firewalling tool in Linux —Netfilter kernel improvements, user space tools and testing
More details to follow
Katzen Metadata Minimizing Messsenger —Privacy preserving instant messaging using a modern mixnet
More details to follow
OCaml-QUIC — Implement QUIC/QUIC-TLS/QPACK and HTTP/3 in OCAML
HTTP/3 is the most recent version of the Hypertext Transfer Protocol used to exchange information on the World Wide Web. Like the QUIC transport layer protocol it uses, it is standardized by the Internet Engineering Task Force (IETF). OCaml-QUIC is an implementation of QUIC (RFC9000), QPACK (RFC9204), HTTP/3 (RFC9114) and associated protocols in OCaml, an industrial, functional, memory safe programming language, used in sectors ranging from finance and research to social media and web application. The project aims to provide an open, complete implementation of the aforementioned protocols to be used and deployed in embedded devices, POSIX/UNIX operating systems and unikernels (self-contained, library operating systems). For more details see: https://nlnet.nl/project/OCaml-QUIC

Layer 3 Software engineering and protocols

Σ-protocols —Formalise and implement zero-knowledge proof Σ-protocol
More details to follow
Alive2 — Translation validation for LLVM
Modern compilers, such as LLVM, perform advanced optimizations to improve performance and reduce binary size of programs. However, getting these optimizations correct is very challenging: there are many corner cases, tricky issues with undefined behavior, modular arithmetic, and so on. On the other hand, programs rely on compilers being correct. A single bug in the compiler may introduce security vulnerabilities in the compiled programs. Alive2 aims to solve this issue by verifying that LLVM is correct. It is an indispensable tool for compiler developers and for anyone that wishes to validate the compilation of their program. For more details see: https://nlnet.nl/project/Alive2
ForgeFlux —Software Forge independent federation with ActivityPub and F3
More details to follow
Feather UI — Declarative cross-platform UI toolkit
Feather is a universal UI library that applies user inputs to application state, and maps application state to an interactive visualization using a custom graphics rendering language capable of compiling to arbitrary GPU code or vectorized CPU code. By building on top of a well-typed graphics abstraction, it is possible to make custom shaders "write once, run anywhere" with confidence and no overhead. This allows the creation of UI Fragments, which no longer need to be built on top of a library of UI widget elements, allowing the creation of arbitrarily complex UI elements that are no longer bound to traditional widget designs. This level of abstraction allows targeting anything from embedded devices to webpages, or even mixed-reality devices. For more details see: https://nlnet.nl/project/FeatherUI
Fediverse Test Suite — Interoperability effort for W3C ActivityPub
The Fediverse is a global, standards-based, decentralized social network accessible to all and not subject to algorithmic manipulation or platform surveillance. While best known for Mastodon, an open-source alternative to X/Twitter, it already successfully connects dozens of independently developed software applications running on tens of thousands of independently operated servers and implementing feature sets that go far beyond traditional social networking. To enable even more innovative developers to successfully connect their applications to the Fediverse, and their users to successfully interoperate with users using different software, it needs to become much simpler and cost-effective for developers to 1) know that they have implemented the relevant standards (notably ActivityPub) correctly, that their implementation is not regressing and that 2) their software indeed delivers the experience users expect from interoperability with other software developed independently by other developers. This project brings together a group of fediverse developers to set up an automated test framework and initial test cases in an open-source project that will systematically test standards conformance, ensure meeting user expectations for interoperability of Fediverse apps, and enable a new wave of innovation based on more trustworthy infrastructure. For more details see: https://nlnet.nl/project/FediverseTestsuite
jaq — Implementation of jq in Rust with formal semantics
JSON is a data format that is frequently used to publish Open Data. jq is a widely used programming language that allows citizens to easily process JSON data. There are several tools to run jq programs, including jq, gojq, and jaq. Of these three tools, jaq is the fastest (judging from several benchmarks), despite having the smallest code base. This project centers on improving jaq and the wider jq ecosystem: First, we want to advance the development of jaq, in particular to support more features of jq. Next, we want to make jaq more accessible, by creating JavaScript bindings for jaq. This will allow developers to integrate jaq into websites. Furthermore, this will allow users to run jaq from a browser, respecting their privacy by processing data on their machines. Finally, we want to create formal semantics for jq, based on jaq's execution approach. This will allow users to better understand how jq programs behave. ▸ For more details see: https://nlnet.nl/project/jaq
lib25519 for ARM — Add 64bit ARM optimisations to lib25519
Modern network protocols rely on elliptic-curve cryptography (ECC) toprotect communication against espionage and sabotage. lib25519 is a new software library for the Curve25519 elliptic curve, including the X25519 encryption system and the Ed25519 signature system. Curve25519 is the fastest curve in TLS 1.3, and the only curve in Wireguard, Signal, and many other applications. So far lib25519 has exploited the features of Intel CPUs to provide top speeds for those CPUs, while meeting the security constraint of not leaking secret information through timing. This project will extend lib25519 to target 64-bit ARM CPUs, and in particular the Cortex-A53 CPU, which for instance powers the Raspberry Pi 3.For more details see: https://nlnet.nl/project/lib25519-ARM
owi — Symbolic evaluator and fuzzing of WASM software
WebAssembly (Wasm) is a post-JavaScript code format for the web, enabling efficient computing, with built-in sandboxed execution. Its usage is expanding: it is now used in online services, in embedded systems and to create portable binaries. Owi is a toolkit tailored for Wasm. In particular it can perform efficient symbolic program execution. That is to say, for a given program, it is able to find input values leading to a crash. Many languages are compiling to Wasm, e.g. C/C++/Rust. Owi can thus be used as a bug-finding tool working on any of these languages. We're currently improving the usability of the tool as a part of the testing workflow for developers, the first step of this work is to provide an interface making Owi a drop-in replacement for AFL. For more details see: https://nlnet.nl/project/OWI
Standards Grammar Catalog/Toolchain — Open Standards Grammar Catalog/Toolchain
The Open Standards Grammar Catalog/Toolchain makes it easier to implement a format or protocol by translating its machine-readable definition, usually in a language such as ABNF, into forms readily compatible with popular programming languages, like regular expressions, YACC, ANTLR, and native code. By providing a toolchain for making these translations, assembling a catalog of commonly used formats protocols, and publishing a developer-friendly website for browsing the grammars and generating translations, these tools will reduce the need to manually write a parser, ultimately reducing errors due to hand-written code, and enhancing interoperability. For more details see: https://nlnet.nl/project/StandardsGrammarCatalog
webxdc PUSH — Towards an usable, interoperable and trustworthy web app ecosystem
Webxdc PUSH advances a new (fully NGI-aligned) paradigm for writing and distributing web apps, majorly improving interoperability, usability, reliability, trustworthiness and and interactivity of chat-shared web apps (webxdc) across messengers and platforms. PUSH enables app developers to use new notification, upgrading and real-time messaging facilities, majorly leveling up the cross-messenger webxdc effort and specifications. For more details see: https://nlnet.nl/project/WebXDC-Push
Zilch — Tools for efficient granular builds and introspection
Zilch is an experimental test bed for alternative approaches to building programs, services, and full Linux distributions. Being built on top of Nix, it is entirely compatible with NixOS. The goal of this project is to research and develop a set of tools that allow a developer to write programs and patch existing upstream projects, while keeping the reproducibility and sandboxing afforded to them by Nix. For more details see: https://nlnet.nl/project/Zilch

Layer 4 Operating system and firmware

Oils for Unix —Bringing shell environments into the 21st century
More details to follow
Open source ESP32 802.11 MAC — Open source wifi drivers for ESP32
The ESP32 is a low-cost microcontroller with Wi-Fi connectivity. Currently, the Wi-Fi MAC layer of the ESP32 is closed-source. This project aims to change that: by reverse engineering the hardware registers and software, we can build a networking stack that is open-source up to the hardware, instead of having to use the proprietary MAC layer. This will improve security auditability, open up the possibility for features not supported in the proprietary implementation (for example, standards-compliant mesh networking), improve interoperability and make research into Wi-Fi networks with lots of nodes more affordable. For more details see: https://nlnet.nl/project/ESP32-opendrivers
Python bindings to the rattler library —Python bindings to the rattler library
More details to follow
TrenchBoot for AMD platform in Linux kernel —Upstream TrenchBoot AMD support to the Linux kernel
More details to follow
Tvix-{Store/Build} — Improve store and builder component of Tvix
Tvix is a modern design and implementation of the Nix package manager (GPLv3). It brings a modular architecture in which components such as the build environment or package store are replaceable, which enables new use-cases and platforms. A graph-reduction evaluation model will make it possible to use Nix for package definitions and entire system configurations, its proven and tested use case, as well as for granular build definitions for individual components of software. Tvix will be fully compatible with nixpkgs, the existing package definition set for Nix, letting its users leverage more than a decade of community contributions and making it useful right out-of-the-box. This particular project focuses on the Store and Builder components of Tvix, upgrading the store protocol, improving the Builder API as well as providing more interop with Nix. For more details see: https://nlnet.nl/project/Tvix-Store_Builder
UEFI Capsule Update for coreboot with EDK II —Implement more robust firmware updates in coreboot
More details to follow

Layer 5 Measurement, monitoring, analysis and abuse handling

Back to source: trust but verify all the packages —Analysis pipeline for mapping and cross-referencing binaries with source code
More details to follow
EEZ flow for EEZ Studio IV —Open Hardware Test & Measurement equipment
More details to follow
purl2sym - FOSS code symbols indexing system —purl2sym - FOSS code symbols indexing system
More details to follow

Layer 6 Middleware + identity

DNSvizor — Privacy-enhanced DNS resolver and DHCP server
A secure and robust DHCP server and DNS resolver with a small resource footprint. We will develop a MirageOS unikernel providing these crucial network services. There are various privacy extensions (such as query name minimisation, and recently published opportunistic encryption between the resolver and the authoritative name server), as well as the possibility to deny resolution of configurable domain names (block lists). For enhanced security, we will implement DNSSec. We will provide DNS-over-TLS and DNS-over-HTTPS services. This will be a drop-in replacement for DNSvizor and Pi-hole. The project builds on top of MirageOS: a library operating system developed in OCaml — a memory-safe functional programming language. In MirageOS, each service is a separate unikernel with a minimal attack surface that only contains the code required to run it. These unikernels are normally executed as a virtualized machine such as KVM, VirtIO, Xen. MirageOS also supports using a strict security feature of the Linux kernel called seccomp. For more details see: https://nlnet.nl/project/DNSvizor

Layer 7 Decentralised solutions

Automerge — Add Merkle Search Tree support to Automerge
Automerge is a CRDT library for building local-first collaboration software, allowing several users to concurrently edit a file, both in real-time and offline. It is currently optimized for working on a single document; this project aims to improve Automerge's support for synchronizing large collections of documents across multiple devices (for example, all of a user's notes in a note-taking app). The challenges here are efficiently determining which documents need to be synced, syncing multiple documents in parallel, giving users a progress indicator during large data transfers, and making the protocol efficient in terms of computation, memory, and bandwidth. Our protocol will be compatible with both client-server and peer-to-peer synchronization. For more details see: https://nlnet.nl/project/Automerge-MST
AVantGaRDe — Reliable Foundations of Local-first Graph Database
The *AVantGaRDe* (Verified highly-Available and Reliable Distributed Graph Databases) project aims to develop a framework for reliably supporting local-first connectivity. Graph databases have recently been introduced to efficiently manage interconnected, heterogeneous, and semi-structured data. These leverage native graph storage, an expressive property graph model, and dedicated graph query languages. Still, scalably and reliably managing large graphs, while ensuring availability, low latency, and consistency is challenging. While cloud graph databases try to address this, local-first solutions allow users to preserve ownership and agency over their data. Unfortunately, no local-first graph databases exist, as these require customized replicated data types (CRDTs) and compositionally preserving graph invariants. Moreover, as CRDTs are already notoriously difficult to construct, ensuring the correctness of complex graph CRDTs is challenging. The project aims to develop a novel framework for designing foundational models for local-first graph databases, with built-in trustworthiness and reliability guarantees. *AVantGaRDe* sets to design a unified framework for prototyping and extracting correct-by-construction horizontally scaled property graph CRDTs that can preserve complex invariants. For more details see: https://nlnet.nl/project/AVantGaRDe
p2panda: group encryption and capabilities —Add group encryption and capabilities to peer-to-peer SDK
More details to follow
Willow Sync — General Sync Protocol for Willow written in Rust
Willow is a protocol for syncable data stores, forming resilient data networks which can endure indefinite connectivity outages. This protocol brings qualitative advances to data deletion in distributed networks, supports completely decentralised fine-grained permission schemes, and has been designed to use memory, bandwidth (and consequently energy) efficiently. In this project, the Willow protocol will be implemented using the Rust programming language. This new implementation will be able to take advantage of Rust’s efficiency and safety guarantees, and make the protocol accessible to embedded devices, as well as provide a more efficient solution for smartphones, computers, and servers alike. For more details see: https://nlnet.nl/project/WillowSync

Layer 8 Data and AI

AI Horde — Collaborative infrastructure for running generative AI models
The AI Horde is a crowdsourced, free, libre and open sourced service with the aim to truly democratise access to Generative AI. It supports both generating text via Large Language Models and images via Stable Diffusion via a simple REST API, allowing everyone to integrate this technology to any product. One of the biggest challenges with Generative AI is the amount of resources required to run even simple models, leaving the vast majority of humanity without access to this technology. The AI Horde delivers a groundbreaking smart-queuing clearing house where enthusiasts can volunteer their idle compute for everyone in the world to generate images or text without any further commitments or budget. For more details see: https://nlnet.nl/project/AI-Horde
Inventaire — Social reading with cross-instance book exchanges using ActivityPub
he Inventaire Association supports and promotes the use of libre/free software and open knowledge to share information on resources. This ideal results in inventaire.io: a libre book sharing webapp, inviting everyone to make the inventory of their physical books, say what they want to do with it (giving, sharing, selling) and who may see it (friends, groups, or everyone). To provide data on books, inventaire.io reuses, extends, and facilitate contribution to wikidata.org. This allows users to build their inventories on top of a huge open multilingual knowledge graph, connected to Wikipedia, national libraries, the fediverse, and many other resources. As the inventaire software becomes more mature, it is now time to deliver on a promise made years ago: decentralization. Installing and maintaining a self-hosted data-federated inventaire server should soon be as easy as (cyber-)cake! This would allow association libraries, privacy-concerned collectives, or anyone preferring self-hosting, to run their own instance: they would fully control their inventory data ("We have this book"), while still having the possibility to benefit from a mutualized bibliographic database ("This author wrote this book"). For more details see: https://nlnet.nl/project/Inventaire-Fed
uMap — Collaborative custom mapping with OpenStreetMap data
uMap is an online open source application to make custom maps. It aims to make creating maps easy for anyone in a few clicks. It’s simple for basic use cases, whether you want to prepare a bike travel with your friends or communicate the current roadworks for your city. But it’s also flexible and extendable for more complex or custom ones: drawing or importing data, customizing style and interface, sharing access to a map… uMap is also easy to install and to maintain to enforce a decentralized model. It is already deployed in several European countries, and is translated in dozen of languages. Plus, it also allows to create maps anonymously. In this project, we will adding real-time collaboration on maps with local-first support - which will for instance help a lot with live events and mapping sprints - and clean up the user interface. ▸ For more details see: https://nlnet.nl/project/uMap

Layer 9 Services + applications

Bonfire Framework — Elixir-based ActivityPub implementation and library with groups and RBAC
Bonfire is an open-source, federated social networking toolkit, designed to empower communities to build custom and federated social networks. The current focus of our project is to improve the stability, performance, and documentation of our codebase, honing a solid framework that enhances user experience and encourages wider adoption. We aim to catch bugs, enhance platform performance, and enrich the developer experience by crafting comprehensive tutorials and documentation. A key aspect of our project involves extending our ActivityPub Library, which underpins the federated nature of Bonfire, and contributing back to the ActivityPub ecosystem by releasing v1.0 of our open-source ActivityPub library. The expected outcomes include a robust, efficient Bonfire framework to be used in production, a surge in developer and community adoption, and contributions to standardize federation protocols. ▸ For more details see: https://nlnet.nl/project/Bonfire-Framework
Commune — User-friendly persistent chat/voice rooms
Commune is an open source alternative to Discord, specifically designed for public-by-default communities. Based on Matrix and built as a Synapse server extension combined with a custom client, Commune inverts a lot of Matrix norms: (1) Web-readable channels and threads that are easily shared as links and tended to in a digital garden; (2) shared interest discoverability across spaces via federated webrings; (3) opt-in encryption for ease of onboarding. The mission of Commune is to act as an accessibility layer on top of the Matrix protocol as a backbone for online community building. Commune meets users where they are by integrating tightly with Discord through two-way syncing and social logins (OAuth), allowing for incremental adoption as opposed to competing directly with the networking effects of incumbents. For more details see: https://nlnet.nl/project/Commune
Delta Tauri — DeltaChat implemented in Tauri
The Delta Chat Desktop app is currently built with Electron and shipped to end-users on all platforms and many app stores. Delta Tauri will port it to instead use Tauri on all platforms, minimizing resource consumption and improving security. The download size is expected to decrease to around a fifth from the present situation, and the use of a system web view instead of the Electron-shipped full Chromium browser improves security because users benefit from operating-system managed security updates. Delta Tauri will also provide an important stepping stone towards a potential Delta Chat Web client, an often requested feature from users. For more details see: https://nlnet.nl/project/DeltaTauri
Elm Matrix SDK —Better moderation for Matrix rooms and servers
More details to follow
Email <=> XMPP gateway — Bridge instant messaging with email
Libervia is a versatile communication ecosystem offering features like instant messaging, blogging, event planning, photo albums, file sharing, audio/video calls, and more. It can additionally function as an XMPP component, providing server-side features. This initiative focuses on creating an Email <=> XMPP gateway, enhancing file management for attachments, transforming mailing list threads into interactive, forum-style discussions with modern elements such as tags and mentions, and ensuring support for end-to-end encryption. The Libervia interface will also see improvements for a better user experience, with clear indicators of message origins and security status. This gateway is a move toward unifying various communication methods within single clients, following Libervia's philosophy as seen with its ActivityPub <=> XMPP gateway and is in harmony with other projects like Slidge, Spectrum 2, or Biboumi. With the introduction of this component, not only will Libervia's functionality be elevated, but it will also equip other XMPP ecosystem projects with the ability to connect their users with the email world, fostering deeper integration of XMPP across the spectrum of communication tools. For more details see: https://nlnet.nl/project/EmailXMPPgateway
GoToSocial — Improvements to ActivityPub server written in Go
GoToSocial is an ActivityPub-enabled social network server. It complements existing ActivityPub implementations (Mastodon, Akkoma, etc) by providing a lightweight, customizable and privacy focused entry to decentralized social media hosting. GoToSocial places a high value on ease of deployment and maintenance; this means low power requirements, simple set up, and clear documentation. It empowers self-hosting newcomers and experts alike, to easily and reliably deploy decentralized communities at minimal cost. With something as low-power as a small single-board home server, you can deploy a personal instance to follow your favourite Fediverse users, post content and interact with the decentralized community at large, all while retaining ownership of your personal data. For more experienced and privacy conscious users we offer features like allow-list federation mode, to ensure your data is only circulated among those you explicitly permit. In this project, the team will add two factor authentication, improve interoperability, scalability and add some new features like better archiving capabilities. ▸ For more details see: https://nlnet.nl/project/GoToSocial-scale
Karrot — Location-aware community self-organisation
Karrot is a tool to support grassroots community organizing. It is designed to enable community-building and a more transparent, democratic and participatory governance of groups. Some of its defining features are the self-assignment of tasks, full transparency of members’ actions and a trust-based role system that avoids all-powerful group admins. Karrot originates in facilitating food-saving and sharing initiatives but developed a wider scope of community support. Equipped with a better understanding about the diverse ways in which people self-organize and practice commoning, we will further develop the existing roles and permissions system, add features through which groups can run polls and enact graduated sanctions according to their needs. For more details see: https://nlnet.nl/project/Karrot-customroles
Mobilizon UX — Share events on the fediverse
Mobilizon enables the creation of community venues for organising and promoting local and topical events, activities, and groups. These instances can share information using the ActivityPub protocol, allowing users to publish their events on one Mobilizon server and propagate these elsewhere. Mobilizon is designed to be user-friendly and empowering. In order to reach a wider audience with Mobilizon, we need to make sure we serve the needs of users well - whether they are instance administrators, event organisers, or end users. We will conduct workshops to study how each of these interacts with Mobilizon and understand their expectations, so that we can develop Mobilizon accordingly. Additionally, we will test, document and improve interoperability with other Mobilizon instances, other fediverse applications, and other websites in general. This can be achieved through plugins, APIs, and aligning on standard formats such as Ical. Ultimately, communicating about local activities will become more efficient and finding local activities easier. For more details see: https://nlnet.nl/project/Mobilizon-UX
NodeBB — ActivityPub support and accessibility improvements for forum software
NodeBB is a Node.js based community forum software utilizes web sockets for instant interactions and real-time notifications. NodeBB benefits from modern features like real-time streaming discussions, mobile responsiveness, and rich RESTful read/write APIs, while staying true to the original bulletin board/forum format — categorical hierarchies, local user accounts, and asynchronous messaging. In this project, the team will be working on bringing ActivityPub integration to NodeBB, in order to allow forums to become truly interconnected with other ActivityPub-enabled applications throughout the wider Fediverse (of course including other NodeBB forums). The absolute hardest part of starting a community — forum or otherwise — is gaining a critical mass of adoption in order to sustain interest and content. What if we could bypass this hurdle altogether? For more details see: https://nlnet.nl/project/NodeBB
Overte — Virtual reality based social platform
Overte is a virtual social platform that allows its users to socialize in a more involved way than traditional digital communications, by allowing them to enter worlds using Virtual Reality. It can be used not just for recreational activities, but also education, psychotherapy, congresses, and more. The goal is to support peoples need for immersive social platforms, by providing them with something that is privacy respecting and free. As part of this project, we aim to take on bigger maintenance and development tasks that may otherwise happen slowly or remain undone. Such tasks include overhauling the build system, as one of our challenges is enabling volunteers to build, test, and contribute to a software with more than a million lines of code and many major dependencies on multiple different platforms. ▸ For more details see: https://nlnet.nl/project/Overte
Personal 3D model archive — Manage private collections of 3D models
This project will build a web application for managing collections of 3d models, with a focus on the needs of the 3d printing community. It is designed to be self-hosted, and lets users browse, organise, and analyse their downloaded models. With NLnet’s support, we aim to develop it into a decentralized multiuser platform for hosting and distributing 3d content. Using ActivityPub, we aim to build a kind of 'decentralized Thingiverse', allowing anyone to run their own instance to distribute content, and subscribe to content on other servers using any one of the many ActivityPub services out there such as Mastodon. We also aim to develop an innovative open format for progressive transmission of 3d mesh data, allowing both quick previewing of remote models, and low-quality previews for commercial content. For more details see: https://nlnet.nl/project/Personal-3D-archive
Popularizing PeerTube — Decentralised video platform powered by ActivityPub
PeerTube is a software that empowers collectives to create their own video hosting and live-streaming solution, present a federated video catalog, and emancipate themselves from proprietary centralized platforms. It is nowadays used by institutions, educators, collectives of creators and citizens. This development project is aimed toward improving on PeerTube's features and ecosystem in a way that facilitates adoption, experience and usability. Such developments include: user's data export import, a full accessibility audit (including integrations), splitting audio video streams, comments review moderation tools for content creators, automated filters to facilitate moderation, streaming in "audio only" mode, a redesign of the video management system, a new content warning/characterization system, a whole UI/UX audit and remodel. We also want to develop the first version of an official mobile app dedicated (at first) to find and enjoy content on the PeerTube vidiverse. For more details see: https://nlnet.nl/project/PeerTube-mobile
xrsh — Interactive text/OS terminal inside WebXR
xrsh (xrshell) brings the FOSS-soul of unix/linux to WebXR, promoting the use of (interactive text) terminal and user-provided operating systems inside WebXR (=xrsh). Technically, xrsh is a bundle of freshly created re-usable FOSS WebXR components. These provide a common filesystem interface for interacting with WebXR, offering the well-known linux/unix toolchain including a commandline to invoke, store, edit and run WebXR utilities — regardless of their implementation. Think of it as termux for the VR/AR headset browser, which can be used to e.g. livecode (using terminal auto-completion!) with XR components (registries). For more details see: https://nlnet.nl/project/xrsh

Layer 10 Verticals

AlekSIS — All-libre extensible kit for school information systems
AlekSIS' – short for All-libre extensible kit for school information systems – goal is to digitise educational institutions' organizational tasks in a sustainable, individual and independent manner. Educational institutions are complex and diverse places: A fair bit of information has to be managed and made accessible in a way that serves the needs of all groups involved. Furthermore, the needs of schools differ considerably, making a one-size-fits-all solution infeasible. Originating in and being built in close collaboration with schools, the AlekSIS project provides the missing FOSS solution for this application area. It aims to deliver a fully fledged, highly customizable software suite that gives schools full control over operation, data and privacy, while integrating existing FOSS projects. From displaying timetables to providing digital class records or person and group management, AlekSIS already includes a great deal of the features the people involved in education, students and teachers, need in their daily routine. Designed as a web application built around the Django and Vue.js frameworks, its responsive design and offline capabilities cater to various devices and user groups. A further aspect of AlekSIS' FOSS architecture is to provide learning opportunities to its student users by facilitating the creation of extensions and contributions to the project itself. The goals of this project are to further strengthen our efforts in porting the whole legacy frontend to the newer, Vue.js based one, to finish making AlekSIS capable of timetable and substitution planning and to extend AlekSIS' functionality making it even more competitively viable. For more details see: https://nlnet.nl/project/AlekSIS
Protomaps — Self-hostable maps based on OpenStreetMap data
Protomaps is a free and open source map of the world, deployed as a single file you can host yourself. It enables interactive, zoomable mapping applications with only static storage and HTTP Range Requests. It uses the OpenStreetMap dataset as a primary source; its configurable toolchain can create maps with specific areas, custom data, and different cartographic styles. It’s used in earth science, journalism and the public sector. Protomaps has no vendor lock-in, permits end-to- end data sovereignty, and can ensure end-user privacy. For more details see: https://nlnet.nl/project/Protomaps
Fleetbase on Solid: A production-ready supply chain solution — Federated open source supply chain solution using Solid
One of the most exciting features of Solid is its ability to set up a knowledge graph that connects the data with different owners. This is useful for connecting personal data, but it's even more useful for connecting business data. As such, supply chain management is a field with a high potential for disruption with Solid. Individual companies can share supply chain data with their clients and suppliers, allowing for more insights across the entire supply chain. Building a supply chain solution on top of Solid doesn't only take knowledge of Linked Data, it requires partners who are experts in supply chain management. Fleetbase is an MIT licensed, open-source logistics platform serving companies around the world. The "Fleetbase on Solid: A production-ready supply chain solution" project seeks to make Fleetbase solid compatible and flesh out a real-world use-case that relies on the power of linked data sharing enabled by Solid. By the end of the project, shipping companies will be able to used Fleetbase on Solid to sharing information and coordinate with third party delivery companies. For more details see: https://nlnet.nl/project/Fleetbase-Solid


Still hungry for more projects? Check out the overview of all our current and recent projects...

Logo NGI Zero: letterlogo shaped like a tag
Logo European Commission