Richtlinie zum Softwareverzeichnis
Das Softwareverzeichnis: Software finden, bewerten und erstellen
Das Softwareverzeichnis beschreibt einen durchsuchbaren Katalog an Open-Source-Projekten und Lösungen. In dem Verzeichnis werden entsprechende Details und Gütekriterien zu dem jeweiligen Projekt oder Lösung gepflegt und transparent für alle Nutzenden ausgewiesen.
Diese Hilfestellung zum Softwareverzeichnis dient als das Rahmenwerk für die Aufnahme und Darstellung von Projekten und Lösungen unterschiedlicher Entwicklungszyklen und Stadien im Softwareverzeichnis. Ziel ist es, mithilfe dieser Richtlinie den Nutzenden transparent zu signalisieren, ob und wie eine Software für sie bzw. den Anwendungsfall verwendbar sein kann. Zudem soll frühzeitig die Kollaboration mit Fokus auf Rechtssicherheit im Kontext von OSS Lizenz Compliance Förderung finden.
Aufnahme ins Softwareverzeichnis Kopiert!
Das Interesse zur Aufnahme in das Softwareverzeichnis muss durch die Projekte der Plattform ausgedrückt werden. Die Interessenbekundung wird durch die Existenz einer publiccode.yml innerhalb der Repositories geäußert. Die Repositories der Plattform werden kontinuierlich nach diesen Dateien überprüft.
publiccode.yml Kopiert!
Die notwendigen Schlüsselworte und Anforderungen an die publiccode.yml entspringen dem Metadaten Standard für Software von Öffentlichen Verwaltungen und sind dem Standardisierungsprojekt entnommen. Die Mindestangaben sind im Folgenden mit einem Beispiel angegeben. Optionale, aber als sinnvoll erachtete Schlüsselworte sind als solche gekennzeichnet.
Die minimum viable Publiccode.yml
publiccodeYmlVersion
- Datentyp: String
- Beispiel: “0.2.1”
name
- Datentyp: String
- Beispiel: “Hundesteuer”
url
- Datentyp: String (URL)
- Beispiel: “https://gitlab.opencode.de/bmi/hundesteuer”
releaseDate
- Datentyp: String (Datum) in “YYYY-MM-DD”
- Beispiel: “2022-02-22”
softwareVersion
- Datentyp: String
- Beispiel: “1.0”
- Optional
platforms
- Datentyp: Array an Strings
- Werte: [web, windows, mac, linux, ios, android]
- Beispiel:
- web
- linux
categories
- Datentyp: Array an Strings
- Werte: siehe Tabelle aller Möglichen Kategorien
- Beispiel:
- email-management
- email-marketing
developmentStatus
- Datentyp: String
- Werte: [concept, development, beta, stable, obsolete]
- Beispiel: stable
softwareType
- Datentyp: String
- Werte: ["standalone/mobile", "standalone/iot", "standalone/desktop", "standalone/web", "standalone/backend", "standalone/other", "addon", "library", "configurationFiles"]
- Beispiel: standalone/web
description/[lang]/genericName
- Datentyp: String, generischer Name für die Tätigkeit des Projekts
- Beispiel: “Steuerberechnung App”
description/[lang]/shortDescription
- Datentyp: String
- Beispiel: “Eintragung und Abrechnung der Hundesteuer”
description/[lang]/longDescription
- Datentyp: String
- Beispiel: “[…]” Überblick über die Fähigkeiten des Projekts für potentielle Nutzende
description/[lang]/features
- Datentyp: Array an Strings
- Werte: Freitext für Worte bis 100 Zeichen
- Beispiel:
- Hundeanmeldung
- Hundesteuer Berechnung
legal/license
- Datentyp: String mit Logikverbindung (OR/AND/WITH) bei Mehrfachlizenzierung (SPDX Identifier)
- Beispiel: BSD-3-Clause
maintenance/type
- Datentyp: String
- Werte: ["internal", "contract", "community", "none"]
- Beispiel: community
maintenance/contractors
- Datentyp: Array an Strings WENN maintenance/type “contract” ist
- Werte: Angaben für Name, Email, Website, Vertragsablauf
- Beispiel:
- name: “ZenDiS”
- email: “hallo@zendis.de”
- website: “zendis.de”
- until: “2023-01-01”
maintenance/contacts
- Datentyp: Array an Strings WENN maintenance/type “internal” oder “community” ist
- Werte: Angaben für Name, Email, Zugehörigkeit der Öffentlichen Verwaltung, ggf. Telefonnummer
- Beispiel:
- name: “Erika Mustermann”
- email: “Erika@mustermann.de”
- affiliation: “Bundeshauptstadt Berlin”
- phone: “[…]”
localisation/localisationReady
- Datentyp: Boolean, Eigenschaft zur Möglichkeit mehrere Sprachen (muss nicht aktuell vorliegen)
- Beispiel: yes
localisation/availableLanguages
- Datentyp: Array an Strings
- Werte: IETF BCP 47 Sprachkürzel
- Beispiel:
- de
- en
de/countryExtensionVersion
- Datentyp: String
- Beispiel: “0.2”
- Optional
de/leika
- Datentyp: Array an Strings
- Werte: Angaben verpflichtend: Leika-ID, optional: Themenfeld, Lebenslage, OZG-ID,
- Beispiel:
- themenfeld: “Engagement & Hobby”
- lebenslage: “Tierhaltung
- ozg-id: “10160”
- leika-id: “99102013000000”
- Optional