Send in your ideas. Deadline December 1, 2024

NGI0 Commons Fund

Reclaim the public nature of the internet

This page contains a concise overview of projects funded by NLnet foundation that belong to NGI0 Commons Fund (see the thematic index). There is more information available on each of the projects listed on this page - all you need to do is click on the title or the link at the bottom of the section on each project to read more. If a description on this page is a bit technical and terse, don't despair — the dedicated page will have a more user-friendly description that should be intelligible for 'normal' people as well. If you cannot find a specific project you are looking for, please check the alphabetic index or just search for it (or search for a specific keyword).

The goal of NGI Zero Commons Fund is to help deliver, mature and scale new internet commons across the whole technology spectrum, from libre silicon to middleware, from P2P infrastructure to convenient end user applications. We have a holistic, full-stack approach, simply because there is no other way. If we want to reclaim the public nature of the internet and yield the full benefits from technology as a society, we need to have full coverage — period.

NGI Zero Commons Fund is an ambitious grant programme led by NLnet as part of the Next Generation Internet initiative, which focuses on the development and maintenance of internet commons that support the vision of a resilient, trustworthy and sustainably open technology stack that empowers users, and grants everyone full autonomy.

All projects become available under a free and open source license so you will be able to study, use, modify and share everything with anyone you want! Why not propose a project yourself, calls are currently open!

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

Applications are still open, you can apply today.

Analytics Caddy Microservice — Privacy-friendly analytics microservice using server logs

For small organisations and individuals who wish to respect their visitors' privacy while needing to obtain analytics, there are limited options. The most elegant option (and the most privacy-respecting one) is to provide real-time analytics by ingesting the web server logs. This doesn't involve/require doing anything client-side (no scripting, no invisible pixels, etc): all the information needed can be derived from these log files without resorting to tricks. The form factor of a drop-in microservice allows for easy integration into other tools (which offers a significant improvement in terms of usability), and makes it portable. The end result will provide a neat solution for small actors to make self-hosting of their website 'batteries included'.

>> Read more about Analytics Caddy Microservice

Bubble-up — Declaritive schema migrations for sqlite databases

SQLite is widely regarded as the most-used database engine, with sqlite.org even suggesting that it surpasses all other engines combined. One of its main advantages is its simplicity—operating on a single file. However, while getting started with SQLite is straightforward, modifying the database schema can be more complex due to its limited support for ALTER commands compared to other databases.

Bubble-up is a command-line tool designed to ease this challenge. It enables seamless schema migrations for SQLite databases by comparing your desired schema (written in a simple SQL file with standard DDL statements) to the current database structure, and performing the necessary changes.

>> Read more about Bubble-up

CityBikes — Open access API for bike sharing information

Citybikes is the most comprehensive open access API for bike sharing information, with support for more than 700 cities all around the world. The goal of the project is to promote open data policies and showcase the benefits of open data to city councils and companies that provide public services to society.

Less than 25% of Citybikes data comes from open data standard feeds—for every city in citybikes publishing their bike sharing information in a reusable format, there are at least three more that do not use a standard format. Citybikes aims to change that by providing developers, researchers and organizations with a standard resource to bridge this gap and contribute towards an interoperable open data ecosystem for mobility services.

>> Read more about CityBikes

DatamiPods — Visualisations for (federated) Solid data

Datami is a tool to edit, visualize and share your data. It allows to transform datasets into discoverable, understandable and reusable data. ActivityPods is a collective data space solution based on Solid and ActivityPub.

The DatamiPods project creates a bridge between these two existing open source tools, and aims to simplifies the use of the datasets involved - also for less technical users.

>> Read more about DatamiPods

Decidim revamp — Tools for participatory democracy

Decidim is a free and open, digital infrastructure for participatory democracy. Decidim allows to create and configure a web platform to be used as a political network for democratic participation. The platform is freely available for organisations and institutions seeking to initiate participatory processes such as deliberation, decision-making, collaboration, direct democracy and co-design.

In order for the project to reach a new stage of technical maturity, the project will overhaul the user experience through a complete redesign of its interface. It is necessary to review, order and, if necessary, remove features. This project is focused on doing the less visible, but necessary work, to make the code clean and sustainable in the long term.

>> Read more about Decidim revamp

EPE (Ecran-Papier-Editer) — Creative libre software tools for print media

Ecran-Papier-Editer is a first phase of construction of a set of innovative, open and alternative, reasoned and sustainable editorial software tools, resulting from graphic design practices and intended for the cultural and creative sectors - and for all players in publishing and publishing in all sectors. The project involves European and international universities (graphic design departments), a national arts & sciences scene, a paper engineering school, and a computer engineering school.

>> Read more about EPE (Ecran-Papier-Editer)

Every Door — Efficient and customizable mobile OpenStreetMap editor

Every Door is an open-source OpenStreetMap editor for Android and iOS devices. It focuses on efficient on-the-ground surveying, mainly on points of interest and addresses. With the app, one can fully map an entire shopping mall or an entire village in a matter of hours. The next steps for the editor are vector tiles and customization: tailoring Every Door for focused mapping and adding interoperability with third-party services.

>> Read more about Every Door

F3D — Cross-platform, fast and minimalist 3D viewer

F3D is an open source, community-driven, cross-platform, fast and minimalist 3D viewer. Already integrated into many Linux distributions, F3D is packed with features that let users visualize and render their 3D models efficiently. F3D supports dozens of file formats and aims to be the go-to solution for simply taking a look at any 3D model, it also supports thumbnails and integrates well in the desktop experience on Windows and most Linux desktop environments. F3D is also the libf3d, a C++ API to simply and efficiently render 3D models, with Python, Java and Javascript bindings. As such, the libf3d is available as a python wheel on pypi and will soon be available as an npm package. The F3D community thrives to be inclusive and welcoming, with a clear contribution and maintenance process where everything is discussed openly with any interested parties.

>> Read more about F3D

FederatedCode Next — UI and curation queue for VulnerableCode data enrichment

VulnerableCode is an open-source database that aggregates and enriches data concerning CVE with metadata to make it easier to track CVEs across packages and dependencies. VulnerableCode was designed from its inception to correlate and aggregate multiple data sources and not have a single point of failure. The FederatedCode Next project aims to create a UI and curation queue for VulnerableCode in order to take the next step towards an open, peer-to-peer federated database of code vulnerabilities.

This allows to to ensure cybersecurity professionals have the essential information they need to do their work when new vulnerabilities are unveiled - such as PURL and VERS version ranges for impacted and fixed package versions, Common Weakness Enumeration details to qualify the weakness exposed by a CVE, severity scoring, mitigation possibilities beside updating and patching, the actual commits/patches that introduce/fix a vulnerability for reachability analysis, related PoC for exploits, etcetera.

>> Read more about FederatedCode Next

Follow-me slideshow for Collabora Online — Accessible slideshows for videoconferencing tools

Collabora Online is an open source online office suite built on LibreOffice technology, enabling web-based collaborative real-time editing of word processing documents, spreadsheets, presentations, and vector graphics. This project improve the presentation mode with a feature where one leader can control the presentation and others can remotely follow this easily, including slide transitions, animations and other complex content. This includes some accessibility support and integration into existing open-source video call software.

>> Read more about Follow-me slideshow for Collabora Online

Nix Integration for Hop3 — Nixify the Hop3 self-hosted cloud platform

Hop3 is an open-source orchestration platform designed to simplify the deployment and management of distributed applications across cloud and edge environments. With a focus on flexibility, security, resilience, and ease of use, Hop3 empowers developers and small organisations to take full control of their IT infrastructure and data, ensuring digital sovereignty and avoiding vendor lock-in. The project will enhance the Hop3 platform by integrating Nix, a powerful package manager known for its ability to create reproducible environments, to improve build-time flexibility and ensure consistent, reliable run-time performance. As a test bed and showcase of this integration, we will package 20 diverse and impactful F/OSS applications. Additionally, we will develop new resilience and cybersecurity features to further strengthen the platform's robustness and security.

>> Read more about Nix Integration for Hop3

Collabora Online Multi-user Infinite Canvas — Infinite Canvas / collaborative presentation mode for Collabora Online

Collabora Online is an open source online office suite built on LibreOffice technology, enabling web-based collaborative real-time editing of word processing documents, spreadsheets, presentations, and vector graphics. This project will implement an infinite canvas for presentations, a presentation mode where individual slides are positioned in a 2.5D plane - which becomes apparent when moving from one slide to another. This allows for non-linear presentation modes, as well as presenting the overall outline of the whole presentation in a visual way which users can intuitively grasp.

>> Read more about Collabora Online Multi-user Infinite Canvas

Land — Code editor building on Tauri and VS Code-OSS

Land is a customisable open-source code editor that puts users in control and emphasizes rebuildability. Land in particular aims to provide a smooth and responsive alternative to VS Code™, the proprietary code editor on which many developers currently depend. Land allows you to continue to use the key features developers rely on in VS Code, but also allow them to remove intrusive integrations and undesirable dependencies. Because Land is powered by Tauri instead of Electron, it won't hog your resources. Compared to VS Code it has enhanced modularity and extensibility, and obviously telemetry is disabled by default. Take back control of your code, rebuild your tools your way.

>> Read more about Land

LibrePCB 2.0 — New UI & powerful features for a future-proof LibrePCB

LibrePCB is a free and open source electronics design automation (EDA) software suite to develop printed circuit boards (PCBs). It runs on all major platforms and aims to be easy to use, while still beeing able to create professional schematics and PCBs. While it is already used productively by people all around the world, the development of new features became to stuck because of limitations of the current UI concept. To pave the way for new features, a completely new UI will be developed with the goal of having a unified, tabbed window as known and proven by many other applications. In addition, a first attempt of moving from C++ to the safer language Rust will help us to benefit from modern technologies. Together with more import/export capabilities, performance improvements and other frequently requested features the outcome will be released to users by a new major version LibrePCB 2.0.

>> Read more about LibrePCB 2.0

Test Procedures for MOSFET Open Source SPICE Model Validation — Test Procedures for MOSFET SPICE Model Validation

The emergence of open PDK initiatives reduce barriers to entry for integrated circuit (IC) design and manufacturing, serves thelong term goal of promoting academic/industrial collaboration, and stimulate innovation in the field of semiconductor IC design. Open PDKs have the potential to "standardize" PDKs (process design kit), and move away from proprietary/licensed EDA vendor formats. This is needed to democratize open source IC design flow and manufacturing. Open PDKs provide open access to IC design resources.

The compact/SPICE models of semiconductor devices are the core of open PDK efforts. SPICE executes implemented Verilog-A compact models. A model of a semiconductor device (passive elements and active, eg: diodes, mosfets, bjts) is primarily a "compact device model". Validation benchmarks are not yet available in the public domain. This project represents the very first attempt to implement these tests for the compact model available in open PDKs. It aims to establish such tests for the compact models in open PDKs, which are intended to be generic enough for model quality assurance testing with FOSS circuit simulators such as GnuCAP, ngspice, xyce, Qucs, among others.

>> Read more about Test Procedures for MOSFET Open Source SPICE Model Validation

Massive FOSS scan — License scan on the whole Software Heritage archive

ScanCode is a comprehensive open source license and code origin scanner. It is actively used by many proprietary and FOSS tools for Software Composition Analysis. This project will make detecting FOSS licenses an issue of the past by running a massive license scan on the whole Software Heritage archive of over 20 billion unique source code files from more than 327 million projects, and the PurlDB index of all major package registries and linux distro's. The outcomes will be a massive commons reference database to speed up future scanning and matching processes with accurate license information, and a massive collection of fingerprints to enable approximate code matching at scale. This will be applied to the Software Assurance/MatchCode project, and available for other users and organizations as open data to improve FOSS code matching and discovery at an unprecedented scale.

>> Read more about Massive FOSS scan

Mautic Portability — Portable marketing campaigns for Mautic

Mautic is an open source marketing automation platform. It helps organizations to better understand their customers throughout their lifecycle, and, combined with what they already know about the customer and how they interact with marketing campaigns, enables full personalization of the digital experience across multiple channels. This project lays the foundation for an important feature which is much-requested and much-needed, to create a library of example campaign workflows and associated resources which marketers can install with a single click, saving time and improving best practice adoption. This project sees the establishment of an export and import functionality for campaigns and all associated resources. This project will also enable the export and import of this data between Mautic instances, further improving data portability.

>> Read more about Mautic Portability

Mustang - UI components — Integrated email, team chat, video conference, calendar and file exchange

Mustang is an Open-Source desktop and mobile app that seamlessly integrates email with team chat, video conference, calendar and file exchange into a single app for communication. It is available for Windows, macOS, Linux and planned for Android and iOS. It respects user privacy and data sovereignty, keeping the data on your own computer systems. By supporting various open protocols (and optionally through extensions also closed protocols of multiple vendors), it allows for a smooth transition to openness. In this project, certain UI components will be developed, the File Sharing UI be improved, and a prototype UI for Structured Data in email (SML) be implemented. As time permits, other components will be developed as well.

>> Read more about Mustang - UI components

Mustang UX — Integrated email, team chat, video conference, calendar and file exchange

Mustang is an Open-Source desktop and mobile app that seamlessly integrates email with team chat, video conference, calendar and file exchange into a single app for communication. It is available for Windows, macOS, Linux and planned for Android and iOS. It respects user privacy and data sovereignty, keeping the data on your own computer systems. By supporting various open protocols (and optionally through extensions also closed protocols of multiple vendors), it allows for a smooth transition to openness. In this project, the focus is on UX design, connecting the various apps together to create a unified whole.

>> Read more about Mustang UX

Ontogen and Mud — Advanced versioning and identity management for RDF datasets

Ontogen is a specialized version control system for RDF datasets, addressing unique challenges in semantic web data management. In this project, we aim to significantly enhance Ontogen's capabilities and usability. A key improvement is extracting and expanding Ontogen's configuration language into Mud, a standalone RDF preprocessing language for comprehensive identity management. Mud will extend beyond configuration, offering expanded identity management for all resources in RDF datasets and providing extensible support for other common operations when working with RDF data, like RDF smushing for example. Also a robust synchronization protocol should be implemented in Ontogen, enabling a complete repository copy in the file system, allowing seamless use of text editors and other file-based utilities for working with the versioned dataset, as well as integration with Git or other file-based version control systems. Additionally, support for datasets with multiple graphs should be extended. These advancements will make Ontogen more flexible, accessible, and secure, paving the way for its adoption in production environments and opening up new possibilities in RDF data management.

>> Read more about Ontogen and Mud

Open Everything Facts — Powering consumer choice on anything with a bar code

When we started Open Food Facts, it already seemed like a bold endeavour to compile comprehensive food product data into a single database, with far-reaching positive impacts, and the rest is history. Why not extend this concept further? Why should consumers not have the same level of informed decision-making power for products beyond food, like their shampoo, bicycles, refrigerators, or ventilation systems? Our ambition is to integrate our existing product databases — Open Food Facts, Open Product Facts, Open Beauty Facts, and Open Pet Food Facts — into one unified, easy-to-navigate mobile application. This will include a universal scan, a new unified versatile and simplified product page, simplified personal and private preferences, as well as the matching contribution experience. Ultimately, this project is a stride towards a world where transparency and informed choices are the norms, not the exception, in every aspect of consumer goods.

>> Read more about Open Everything Facts

Openki Roles — Restructuring role management in libre tool for crowd-sourced education

How do you discover what you can learn from the people around you? How do you search what other people in the same region have to offer, like a training course or a debating event?

Openki is an interface between technology and culture. It provides an interactive web platform developed with the goal to remove barriers for universal education for all. The platform makes it simple to organise and manage "peer-to-peer" courses. The platform can be self-hosted, and integrates with OpenStreetMap. At the moment Openki is focused on facilitating learning groups and workshops. The project will add course templates, streamline roles when organising courses and redesign parts of the interface in order to improve the overall user experience.

>> Read more about Openki Roles

Panoramax — Digital, collaborative immersive street level imagery

Panoramax is an immersive views project. It is a digital, collaborative, free and open community. Access to the photos is free. Panoramax operates as an instance or federation of instances for hosting images. Today, most contributions are made using web interfaces that are not suitable for smartphones. However, this is an important lever for increasing the number of contributions. The aim of the “A mobile app for Panoramax” project is to enable contributions from smartphones, while making them easy for everyone. The application will enable geolocated and sequenced photos to be taken and uploaded to the various community instances.

>> Read more about Panoramax

Pomme d’API — Improvements around the Open Food Facts API

Open Food Facts is an open and collaborative database of 3.5M food products from around the world. This project will improve the Open Food Facts API to make it easier for the 250+ apps and services that use it daily to access and contribute food products data. In particular, it will focus on providing easier means to contribute photos and data, better structured data, OpenAPI specifications, and extensive documentation.

>> Read more about Pomme d’API

Re-isearch Schmate — Extending re-Isearch with a flat vector datatype for embeddings

Schmate is the development name for the evolving next iteration of re-Isearch adding vector datatypes for embeddings and applications like retrieval augmented generation (RAG). Schmate (pronounced "SHMAH-teh") is Yiddish for rag (שמאטע).

In contrast to typical vector stores the proposed re-Isearch+ shall offer a full passage information retrieval system (index and retrieval) using a combination of dense and sparse vectors as well as structure. It is dense passage retrieval (DPR) and a whole lot more. It addresses the stumbling blocks of chunking, has a tight integration of ingest, tokenisation, a number of alternative vector stores and similarity algorithms and, above all, uses a novel combination of understanding document structure (implicit and explicit) to provide a better contextual passage retrieval to solve the problem of misaligned context. This builds on the observation that meaning is also communicated through structure so needs to be viewed in the context of structure. Since structure like the words are meant by the sender (writer) to be received and understood (reader) our approach is to exploit the original author's organization of content to determine appropriate passages rather than relying solely on the chunks.

>> Read more about Re-isearch Schmate

Slips Immune I — Active IDP using ARP poisoning

The "Slips Immune I" proposal marks the initial step in building an "Immune System for the Internet," aimed at enhancing cybersecurity by fostering collaboration among computers using local and global decentralized P2P technology. The project focuses on improving the Slips Intrusion Detection System on local networks using Raspberry Pi devices, incorporating advanced detection ML models, isolation capabilities, and blocking techniques to mitigate cyberattacks. Key goals include implementing defense mechanisms, such as ARP poisoning for isolation and firewall-based protection, as well as training a Large Language Model (LLM) assistant to support security orchestration and decision-making. By leveraging machine learning and a collaborative architecture, Slips aims to evolve into a comprehensive, resilient Internet Immune System, where interconnected devices collectively detect, share information, and defend against cyber threats, enhancing protection through shared knowledge and adaptive responses.

>> Read more about Slips Immune I

Smart lookup & inference for Semantic Data — Knowledge mapping within a postgresql database

Semantic knowledge representations have not evolved since the Semantic Web was proposed during the 1990s. Modern graph databases offer new possibilities for knowledge representation, but the methods are poorly developed and require the use of specialized query languages and clumsy outdated formats. This project aims to make semantic maps easy for general use, using standard SQL databases and modern lightweight data formats. A user workflow starts from a simple note-taking language, then ingesting into a database using a graph model based on the causal semantic spacetime model, to the use of a simple web application for supporting graph searches and data presentation. The aim is to make a generally useful library for incorporating into other applications, or running as a standalone notebook service.

>> Read more about Smart lookup & inference for Semantic Data

Sniffnet — User-friendly network monitoring application

Sniffnet is a cross-platform, Rust-based, fully open-source network monitoring application to help everyone keep an eye on their Internet traffic. Sniffnet is a technical tool, but at the same time it strongly focuses on the overall user experience: most of the network analyzers out there are cumbersome to use, while one of Sniffnet's cornerstones is to be usable with ease by virtually anyone. In an era dominated by network traffic encryption, Sniffnet doesn’t follow the standard monitoring approach that included reporting full packets’ payloads, but rather it provides flow-level details such as the country, the organization, the domain name, the upper-layer service, and other parameters that enable a more immediate understanding about the nature of the network traffic.

>> Read more about Sniffnet

Verilog-A distiller — Automated porting of models from C to Verilog-A

Analog circuit simulators require compact device models in order to be able to simulate circuits. The de-facto standard language for compact device model dissemination is Verilog-A. Many legacy models exist that are coded for the SPICE3 circuit simulator in the C programming language. Manual conversion from C to Verilog-A is resource-intensive, time-consuming, and error-prone. This reduces the accessibility of legacy models and limits innovation. The Verilog-A Distiller project aims to automate conversion of SPICE3 device models from C to Verilog-A. By automating this conversion, we aim to streamline model implementation, reduce development time, and enhance compatibility across different simulators. Verilog-A Distiller is a converter written in Python that utilizes the pycparser library for reading the C code of SPICE3 models. The parsed models are pruned of unnecessary SPICE3-specific parts, upon which Verilog-A code is emitted. Projects like Ngspice put a lot of effort into cleaning up and improving legacy SPICE3 models. Verilog-A Distiller makes these models available across a wide range of simulators that support Verilog-A.

>> Read more about Verilog-A distiller

VersaTiles — Simplify vector map tile creation, hosting, and interaction

VersaTiles provides vital digital infrastructure for web maps, offering a free, flexible alternative to commercial services. Web maps are essential in fields like data journalism, research, and emergency response, but current commercial solutions are often costly, proprietary, and pose privacy concerns. VersaTiles addresses this by dividing the complex process of map creation, distribution, and visualization into manageable layers, ensuring interoperability and scalability. With its open, transparent approach, VersaTiles promotes digital sovereignty in Europe, empowering public institutions, media, and developers with an accessible, high-quality map infrastructure that avoids vendor lock-in and supports free access to geospatial data.

>> Read more about VersaTiles

iTowns — Visualise 2D and 3D geospatial data on virtual globes & maps

iTowns is an open-source framework designed for web-based visualisation, navigation and interaction with 2D and 3D geospatial data on globes and maps. Built on Open Geospatial Consortium (OGC) open standards, it is developed with data and service interoperability in mind. It seamlessly integrates with geographical services, offering support of standard raster and vector data, including aerial imagery and terrain models. The framework supports large, heterogeneous 3D datasets such as OGC's 3D Tiles, making it ideal to build application for urban-planning and environmental monitoring. It can be easily extended to support other open formats, offering a highly customizable platform for developers.

iTowns is a geographic commons, developed collectively by a diverse community of contributors, comprising independent developers, public organizations, research laboratories and private companies. It aims to provide an European alternative to Big Tech products which often overlook a broad class of users. Instead, iTowns offers a modular framework to build a wide range of use cases, including visualisation, GIS, environmental and educational applications, making it versatile and adaptable for different geospatial projects.

>> Read more about iTowns

uMap Vector Tiles — Use vector tiles to build custom maps with OpenStreetMap data

uMap is a web application which lets you quickly build custom maps with OpenStreetMap’s background layers and integrate them on your own website. Vector tiles allow two main things: less duplicated content, and data transmitted at the same time as the tiles, enabling scenarii where data and background could be styled according to the user needs, which required previously to serve custom tiles.

>> Read more about uMap Vector Tiles