3. Functional Requirements
3.1. Web browsing
3.1.1. Application
3.1.1.1. Features
USR-TAP-FUN-WEB-001The OS MUST allow users to browse the web.USR-TAP-FUN-WEB-002The solution MUST have vertical tabs.USR-TAP-FUN-WEB-003The solution MUST allow extensions to be installed.USR-TAP-FUN-WEB-004The chosen browser MUST respect the user’s privacy.
3.1.1.2. Acceptance criteria
- The OS contains a web browser with vertical tabs.
- The chosen browser does not collect user data.
- The configured search engine does not collect user data.
3.1.2. Ad blocking
3.1.2.1. Features
USR-TAP-FUN-WEB-005The OS MUST block ads in the browser.USR-TAP-FUN-WEB-006The OS MAY block ads everywhere.
3.1.2.2. Acceptance criteria
- No ads can be seen on websites.
3.1.3. Tracker blocking
3.1.3.1. Features
USR-TAP-FUN-WEB-007The OS MUST block trackers in the browser.
3.1.3.2. Acceptance criteria
- A tracker blocking extension is present and configured.
3.1.4. Cookies
3.1.4.1. Features
USR-TAP-FUN-WEB-008The OS MUST reject cookies automatically in the browser.USR-TAP-FUN-WEB-009The OS MUST NOT clear all cookies upon closing the browser.
3.1.4.2. Acceptance criteria
- A cookie rejection application is present and configured.
- Login cookies persist upon closing and re-opening the browser.
3.1.5. User tracking
3.1.5.1. Features
USR-TAP-FUN-WEB-010The OS MUST prevent websites from telling the user apart from a regular Windows + Edge/Chrome user.
3.1.5.2. Acceptance criteria
- An extension to change the
User-Agentvalue is present.
3.2. Programming, development, and code editing
3.2.1. Text editor
3.2.1.1. Features
USR-TAP-FUN-DEV-001The OS MUST provide a modal TUI editor (see desired apps list).USR-TAP-FUN-DEV-002The editor MUST do syntax highlighting for relevant languages.USR-TAP-FUN-DEV-003The editor SHOULD provide autocompletion (LSP) for required languages.USR-TAP-FUN-DEV-004The OS MUST provide official tools to compile, run, and write required languages.USR-TAP-FUN-DEV-005The editor MAY provide autocompletion (LSP) for relevant languages.USR-TAP-FUN-DEV-006The OS SHOULD provide official tools to compile, run, and write relevant languages.
3.2.1.2. Acceptance criteria
- The OS provides a modal TUI editor.
- Syntax highlighting is activated and works for all required languages.
- All required languages can be compiled/interpreted.
3.2.2. Version control system
3.2.2.1. Features
USR-TAP-FUN-DEV-007The OS MUST provide a version control system.USR-TAP-FUN-DEV-008The solution must be compatible with Git repositories and popular online forges.
3.2.2.2. Acceptance criteria
- The user has access to a local VCS.
- The user can pull from and push to remote code repositories compatible with aforementioned technologies.
3.2.2. Containers
3.2.3.1. Features
USR-TAP-FUN-DEV-007The OS MUST provide a way to run rootless, OCI-compatible containers.USR-TAP-FUN-DEV-008The solution MUST support infrastructure-as-code deployment.USR-TAP-FUN-DEV-009The solution MAY support OS-level service integration.
3.2.3.2. Acceptance criteria
- A container runtime and frontend are available.
- Containers can run if the user is not root.
- Containers can be used in IaC stacks.
3.2.4. Virtual machines
3.2.4.1. Features
USR-TAP-FUN-DEV-010The OS SHOULD provide a way to use virtual machines.USR-TAP-FUN-DEV-011The solution MUST feature a graphical interface.USR-TAP-FUN-DEV-012The solution MUST be free and open-source.
3.2.4.2. Acceptance criteria
- The user can start and run VMs.
- The solution is manageable using a graphical interface.
- The solution is open-source.
3.3. Document editing
3.3.1. Office documents
3.3.1.1. Features
USR-TAP-FUN-DOC-001The OS MUST provide software to edit open documents and spreadsheets.- Formats: OpenDocument (
.odt,.ods).
- Formats: OpenDocument (
USR-TAP-FUN-DOC-002The OS MAY provide software to edit proprietary text documents and spreadsheets.- Formats: Microsoft Office (
.docx,.xlsx).
- Formats: Microsoft Office (
USR-TAP-FUN-DOC-003The OS MAY provide software to edit and display slide decks.- Formats: Microsoft Office (
.pptx), OpenDocuments (.odp).
- Formats: Microsoft Office (
USR-TAP-FUN-DOC-004The solution SHOULD be of the same software suite.USR-TAP-FUN-DOC-005The solution MUST be open-source.
3.3.1.2. Acceptance criteria
- The user can view and edit specified document types.
- The user does not have more than one suite of tools to choose from.
- The software chosen for the solution is open-source.
3.3.2. Portable documents
3.3.2.1. Features
USR-TAP-FUN-DOC-006The OS MUST provide software to open portable documents.- Formats: PDF
USR-TAP-FUN-DOC-007The OS MAY provide software to edit portable documents.USR-TAP-FUN-DOC-008The solution MUST be open-source.
3.3.2.2. Acceptance criteria
- The user can view and edit portable documents.
- The software chosen for the solution is open-source.
3.3.3. Images
3.3.3.1. Features
USR-TAP-FUN-DOC-009The OS MUST provide software to view and edit images.- Formats: PNG, JPEG
USR-TAP-FUN-DOC-010The solution MUST be open-source.
3.3.3.2. Acceptance criteria
- The user can open and edit (crop, rotate) images.
- The software chosen for the solution is open-source.
3.4. Screen sharing and mirroring
3.4.1. Screencast
3.4.1.1. Features
USR-TAP-FUN-SCR-001The OS MUST provide a solution to share the display’s content.USR-TAP-FUN-SCR-002The solution MUST allow selecting either the entire display or a specific application window for screencasting.
3.4.1.2. Acceptance criteria
- The user can cast their screen’s content in apps that allow it (e.g. Discord).
- The user can select to cast the entire screen or an application window.
3.4.2. Using multiple monitors
3.4.2.1. Features
USR-TAP-FUN-SCR-003The OS MUST provide a means of connecting to an external display using HDMI or DisplayPort.USR-TAP-FUN-SCR-004The OS MUST provide a means of duplicating and extending the output of one monitor to another.
3.4.2.2. Acceptance criteria
- The user can plug their computer into an external monitor if need be.
- The output is either duplicated or extended at will.
3.5. Gaming
3.5.1. PC Games
3.5.1.1. Features
- The OS MAY allow the user to play PC games.
- Supported vendors MUST include Steam and Epic Games.
3.5.1.2. Acceptance criteria
- The user can play Linux-compatible Steam- and EGS-provided games.
Last updated on