promote subsection

This commit is contained in:
Kiara Grouwstra 2025-05-31 13:34:45 +02:00
parent 2d67cb2dcf
commit 09f2565fea
Signed by: kiara
SSH key fingerprint: SHA256:COspvLoLJ5WC5rFb9ZDe5urVCkK4LJZOsjfF4duRJFU

View file

@ -35,11 +35,9 @@ The only exception is for the UX design test-lab environment that will be used t
No software specific for or usable by any single organisation will be created or produced under this grant. No software specific for or usable by any single organisation will be created or produced under this grant.
# Excellence # Objectives and ambition
## Objectives and ambition ## Objectives
### Objectives
*Fediversity: Privacy-friendly, sustainable, transparent fair.* *Fediversity: Privacy-friendly, sustainable, transparent fair.*
@ -65,13 +63,13 @@ The proposed services will also be designed to be **fully portable** (something
This means that users will be able to (easily and fully) switch between different hosting providers (as well as bare metal) without losing their data. This means that users will be able to (easily and fully) switch between different hosting providers (as well as bare metal) without losing their data.
This objective is important as it promotes user control and choice, allowing users to choose a way of offering services that best meets their needs without being locked into a particular platform or service, and gives users the flexibility between hosted versus self-hosted options. This objective is important as it promotes user control and choice, allowing users to choose a way of offering services that best meets their needs without being locked into a particular platform or service, and gives users the flexibility between hosted versus self-hosted options.
#### Relevance ### Relevance
Overall, this proposal is highly relevant to the HORIZON EU Programme, specifically to the Human-centric Internet topic. Overall, this proposal is highly relevant to the HORIZON EU Programme, specifically to the Human-centric Internet topic.
The objective of this topic is to support research and innovation in creating a more human-centric internet that prioritises user privacy, security, and control, while also promoting the ethical use of technology. The objective of this topic is to support research and innovation in creating a more human-centric internet that prioritises user privacy, security, and control, while also promoting the ethical use of technology.
The proposed work aligns with this objective by show-casing a way to run digital services that prioritises user control and privacy, and by using open-source software and hardware to promote transparency and ethical use. The proposed work aligns with this objective by show-casing a way to run digital services that prioritises user control and privacy, and by using open-source software and hardware to promote transparency and ethical use.
#### Measurability ### Measurability
Measuring the success of this objective will depend on several metrics, such as the number of organisations and institutions that adopt our work directly or indirectly, and its impact within the open-source community. Measuring the success of this objective will depend on several metrics, such as the number of organisations and institutions that adopt our work directly or indirectly, and its impact within the open-source community.
Verifying the success of this objective will require user/developer feedback, engagement metrics, and independent audits to ensure that our services are meeting the highest standards of privacy and security. Verifying the success of this objective will require user/developer feedback, engagement metrics, and independent audits to ensure that our services are meeting the highest standards of privacy and security.
@ -79,16 +77,16 @@ Verifying the success of this objective will require user/developer feedback, en
The proposed work is realistically achievable. The proposed work is realistically achievable.
The use of open-source software, along with the focus on portability, will enable the proposed services to be easily adopted by our target audiences. The use of open-source software, along with the focus on portability, will enable the proposed services to be easily adopted by our target audiences.
### Ambition ## Ambition
#### Portability of services ### Portability of services
The project plans to offer portability of services, allowing users to easily export their data from the platform and import it to another platform. The project plans to offer portability of services, allowing users to easily export their data from the platform and import it to another platform.
This is a unique feature beyond what is currently available on the market. This is a unique feature beyond what is currently available on the market.
### Technologies used ## Technologies used
#### [NixOS](https://nixos.org/) ### [NixOS](https://nixos.org/)
NixOS is a Linux distribution with a [vibrant](https://repology.org/repositories/graphs), [reproducible](https://reproducible.nixos.org/) and [security-conscious](https://tracker.security.nixos.org/) ecosystem. NixOS is a Linux distribution with a [vibrant](https://repology.org/repositories/graphs), [reproducible](https://reproducible.nixos.org/) and [security-conscious](https://tracker.security.nixos.org/) ecosystem.
As such, we see NixOS as the only viable way to reliably create a reproducible outcome for all the work we create. As such, we see NixOS as the only viable way to reliably create a reproducible outcome for all the work we create.
@ -96,7 +94,7 @@ As such, we see NixOS as the only viable way to reliably create a reproducible o
Considered alternatives include: Considered alternatives include:
- containers: do not by themselves offer the needed reproducibility - containers: do not by themselves offer the needed reproducibility
#### [OpenTofu](https://opentofu.org/) ### [OpenTofu](https://opentofu.org/)
OpenTofu is the leading open-source framework for infrastructure-as-code. OpenTofu is the leading open-source framework for infrastructure-as-code.
This has led it to offer a vibrant ecosystem of 'provider' plugins integrating various programs and services. This has led it to offer a vibrant ecosystem of 'provider' plugins integrating various programs and services.
@ -105,7 +103,7 @@ As such, it can facilitate automated deployment pipelines, including with — re
Considered alternatives include: Considered alternatives include:
- Terraform: not open-source - Terraform: not open-source
#### [Proxmox](https://proxmox.com/) ### [Proxmox](https://proxmox.com/)
Proxmox is a hypervisor, allowing us to create VMs for our applications while adhering to our goal of preventing lock-in. Proxmox is a hypervisor, allowing us to create VMs for our applications while adhering to our goal of preventing lock-in.
In addition, it has been [packaged for Nix](https://github.com/SaumonNet/proxmox-nixos) as well, simplifying our requirements to users setting up our software. In addition, it has been [packaged for Nix](https://github.com/SaumonNet/proxmox-nixos) as well, simplifying our requirements to users setting up our software.
@ -113,7 +111,7 @@ In addition, it has been [packaged for Nix](https://github.com/SaumonNet/proxmox
Considered alternatives include: Considered alternatives include:
- OpenNebula: seemed less mature - OpenNebula: seemed less mature
#### [Garage](https://garagehq.deuxfleurs.fr/) ### [Garage](https://garagehq.deuxfleurs.fr/)
Garage is a distributed object storage service. Garage is a distributed object storage service.
For compatibility with existing clients, it reuses the protocol of Amazon S3. For compatibility with existing clients, it reuses the protocol of Amazon S3.
@ -121,7 +119,7 @@ For compatibility with existing clients, it reuses the protocol of Amazon S3.
Considered alternatives include: Considered alternatives include:
- file storage: less centralized for backups - file storage: less centralized for backups
#### [PostgreSQL](https://www.postgresql.org/) ### [PostgreSQL](https://www.postgresql.org/)
PostgreSQL is a relational database. PostgreSQL is a relational database.
It is used by most of our applications. It is used by most of our applications.
@ -129,7 +127,7 @@ It is used by most of our applications.
Considered alternatives include: Considered alternatives include:
- Sqlite: default option for development in many applications, but less optimized for performance, and less centralized for backups - Sqlite: default option for development in many applications, but less optimized for performance, and less centralized for backups
#### [Valkey](https://valkey.io/) ### [Valkey](https://valkey.io/)
Valkey is a key-value store. Valkey is a key-value store.
It is an open-source fork of Redis. It is an open-source fork of Redis.
@ -137,7 +135,7 @@ It is an open-source fork of Redis.
Considered alternatives include: Considered alternatives include:
- Redis: not open-source - Redis: not open-source
#### [OpenSearch](https://opensearch.org/) ### [OpenSearch](https://opensearch.org/)
OpenSearch offers full-text search, and is used for this in many applications. OpenSearch offers full-text search, and is used for this in many applications.
It is an open-source fork of ElasticSearch. It is an open-source fork of ElasticSearch.
@ -145,7 +143,7 @@ It is an open-source fork of ElasticSearch.
Considered alternatives include: Considered alternatives include:
- ElasticSearch: not open-source - ElasticSearch: not open-source
#### [PowerDNS](https://github.com/PowerDNS/pdns) ### [PowerDNS](https://github.com/PowerDNS/pdns)
PowerDNS is a mature DNS server. It further offers an admin front-end. PowerDNS is a mature DNS server. It further offers an admin front-end.
@ -153,7 +151,7 @@ Considered alternatives include:
- hickory-dns: no front-end - hickory-dns: no front-end
- core-dns: no front-end - core-dns: no front-end
#### [Authelia](https://github.com/authelia/authelia) ### [Authelia](https://github.com/authelia/authelia)
Authelia is a single sign-on provider that integrates with LDAP. Authelia is a single sign-on provider that integrates with LDAP.
@ -162,7 +160,7 @@ Considered alternatives include:
- Authentik: larger package with focus on many things we do not need - Authentik: larger package with focus on many things we do not need
- Keycloak: larger package with focus on many things we do not need - Keycloak: larger package with focus on many things we do not need
#### [lldap](https://github.com/lldap/lldap) ### [lldap](https://github.com/lldap/lldap)
Lldap is a light LDAP server, allowing to centralize user roles across applications. Lldap is a light LDAP server, allowing to centralize user roles across applications.
@ -170,7 +168,7 @@ Considered alternatives include:
- 389 DS: older larger package - 389 DS: older larger package
- FreeIPA: wrapper around 389 DS - FreeIPA: wrapper around 389 DS
### Identified applications ## Identified applications
We have identified a number of applications as potentially relevant targets to offer as part of our project, emphasising the value to users' digital autonomy, particularly to make users less dependent online on services by 'Big Tech'. We have identified a number of applications as potentially relevant targets to offer as part of our project, emphasising the value to users' digital autonomy, particularly to make users less dependent online on services by 'Big Tech'.
To structure our efforts, we have categorized them into three waves, as follows: To structure our efforts, we have categorized them into three waves, as follows:
@ -217,7 +215,7 @@ Our consideration to limit the initial list of supported applications is to keep
The result of the work in the hosting vertical should be generic enough to support all NGI packages sufficiently documented and packaged in NixOS. The result of the work in the hosting vertical should be generic enough to support all NGI packages sufficiently documented and packaged in NixOS.
### Methodology challenges ## Methodology challenges
One of the challenges we have identified is ensuring the security and privacy of our users' data, even if we will not collect this directly. One of the challenges we have identified is ensuring the security and privacy of our users' data, even if we will not collect this directly.
To overcome this challenge, we will use industry-standard open-source encryption methods and regularly update our software and hardware solutions to stay ahead of potential threats. To overcome this challenge, we will use industry-standard open-source encryption methods and regularly update our software and hardware solutions to stay ahead of potential threats.
@ -228,7 +226,7 @@ Where and if possible we will automate these checks and integrate them in a 24/7
Another challenge is that much of the software we aim to implement is still fairly new and as a result still changes frequently. Another challenge is that much of the software we aim to implement is still fairly new and as a result still changes frequently.
In order to deal with this, we will have to keep up with the change and at the same time provide a stable and predictable experience to our users. In order to deal with this, we will have to keep up with the change and at the same time provide a stable and predictable experience to our users.
### Work package interdependancies ## Work package interdependancies
To give a clear view of what interdepencies we expect: To give a clear view of what interdepencies we expect: