Prinzip 13: Open Source

Der Quellcode (oder Quellcodes) aus der Realisierung digitaler Angebote der Verwaltung (Eigenentwicklung) wird als Open Source, das heißt in nachnutzbarer Form mit kostenfreier, eine Veränderung gestattender Lizenzierung, zur Verfügung gestellt.

Warum ist es wichtig

Indem freie und quelloffene Software bereitgestellt wird, kann diese von anderen wiederverwendet und angepasst werden – z. B. auf bestimmte regionale Verhältnisse. Offenheit und Nachnutzung können sich sowohl auf den Quelltext des Codes beziehen als auch auf Architektur, Konzeption, Dokumentation und Daten des Projekts.

Mit Steuergeldern implementierte Software der öffentlichen Verwaltung sollte nicht mehrfach parallel entwickelt werden müssen. Außerdem können die Investitionen über den Einsatz in der Verwaltung hinaus einen Mehrwert stiften, wenn die Software von Unternehmen, NGOs oder Privatpersonen wiederverwendet werden kann. Gegebenenfalls kann die Verwaltung von externen Weiterentwicklungen der eigenen Software profitieren.

Ein weiterer bedeutender Faktor für die Verwendung von quelloffener Software ist das Thema IT-Sicherheit. Indem der Code einsehbar ist, können Sicherheitslücken schneller erkannt und beseitigt werden. So wird die Transparenz gegenüber Bürgerinnen und Bürgern gestärkt und umgekehrt das Vertrauen in IT-Lösungen der öffentlichen Verwaltung. Freie und quelloffene Software schafft für Freiwillige die Möglichkeit, tiefergehend an der Digitalisierung mitzuwirken.

Wie Sie das Prinzip umsetzen

Voraussetzung für die Veröffentlichung ist die Verwendung einer freien Lizenz, die den rechtlichen Rahmen für die Nachnutzung, Veränderung und Verbreitung definiert. Die Umsetzung erfolgt durch vertragliche Sicherstellung, dass alle Eigenentwicklungen unter einer Open-Source-Lizenz stehen. Für die öffentliche Verbreitung des Quellcodes sollten etablierte Repositorys für Open-Source-Software, z. B. GitHub, verwendet werden.

Checkliste

 Geeignete Open-Source-Lizenz auswählen

Open-Source-Lizenzierung aller Eigenentwicklungen sicherstellen

 Komponenten objektorientiert konzipieren und programmieren

 Quellcode vollständig dokumentieren

 Quellcode in einem Open-Source-Repository veröffentlichen

1. Geeignete Open-Source-Lizenz auswählen

  • Entscheiden Sie sich für eine Open-Source-Lizenz. Beachten Sie dabei Vorgaben Ihrer Organisation sowie Lizenzen von Komponenten und Bibliotheken, die Sie nachnutzen möchten.
  • Ermöglichen Sie nicht nur das Einsehen des Quellcodes, sondern auch dessen kostenfreie Nachnutzung, Veränderung und die weitere Verbreitung der Weiterentwicklungen.
  • Dass Weiterentwicklungen der eigenen Software auch als freie und quelloffene Software zur Verfügung gestellt werden, dazu sollte ermutigt werden, muss aber keine Bedingung sein. Auch private oder kommerzielle Nachnutzungen sind erstrebenswert.

2. Open-Source-Lizenzierung aller Eigenentwicklungen sicherstellen

  • Stellen Sie vertraglich sicher, dass alle Eigenentwicklungen unter einer Open-Source-Lizenz entstehen, die eine kostenfreie Nachnutzung und Anpassung des Quellcodes gestattet.
  • Auch die anschließende Wartung und Pflege muss unter unveränderten Bedingungen erfolgen.
  • Die zu verwendende Open-Source-Lizenz (oder eine Auswahl geeigneter Lizenzen) muss bereits zur Ausschreibung der Programmierleistungen, spätestens zur Beauftragung, feststehen.
  • Wenn Auftragnehmer ihren öffentlichen Auftraggebern weitreichende Rechte am Quellcode der Eigenentwicklungen übertragen, wird dies i. d. R. etwas teurer sein als Software, deren Rechte weitgehend beim Auftragnehmer verbleiben. Die Auftraggeber sichern sich so einerseits die volle Kontrolle über ihre Software – auch für den Fall eines Wechsels des Auftragnehmers – und schaffen andererseits das Potenzial zur sparsamen Wiederverwendung durch andere Verwaltungen.
  • Prüfen Sie die Möglichkeit, ob Komponenten "objektorientiert" geplant und realisiert werden können, damit die Wiederverwendbarkeit erhöht wird.

3. Quellcode vollständig dokumentieren

  • Nutzen Sie die Möglichkeiten moderner Programmiersprachen und Entwicklungsumgebungen, um einerseits die Dokumentation zu erleichtern und andererseits deren Vollständigkeit zu überprüfen.
  • Die geeignete Dokumentation ist eine notwendige Voraussetzung für erfolgreiche Nachnutzung von Quellcodes.
  • Die Dokumentation von Quellcodes erfolgt üblicherweise auf Englisch. Das erhöht das Potenzial der Nachnutzung sowie der Größe der Communitys, die Software weiterentwickeln.

4. Quellcode in einem Open-Source-Repository veröffentlichen

  • Stellen Sie Ihre Software-Lösung anderen Vorhaben zur Nachnutzung zur Verfügung.
  • Verwenden Sie etablierte Open-Source-Repositorys, damit Ihre Software gefunden wird.
  • Nutzen Sie Ihre Möglichkeiten der Öffentlichkeitsarbeit, um andere Verwaltungen und Open-Source-Communitys auf Ihre freie und quelloffene Software aufmerksam zu machen.
  • Weiterentwicklungen von Open-Source-Komponenten oder neue Add-ons für solche Komponenten sollten der Open-Source-Community des Tools zur Verfügung gestellt werden. Das kann auch die weitere Pflege und Verfügbarkeit der Funktionalität für zukünftige Versionen der Komponente unterstützen.
  • Auch die Ergebnisse der Wartung und Pflege (z. B. Schließen von Sicherheitslücken, Aktualisieren von Bibliotheken, Unterstützung aktueller Betriebssysteme und Browser) der Software sollten stets unter den bestehenden Bedingungen verlässlich veröffentlicht werden. Das reduziert planbar Kosten in der Nachnutzung.

Weiterführende Ressourcen:

Zur Einleitung in freie Software:

Richtlinien für freie Software auf Deutsch

Richtlinien für freie Software (englisch)

Open-Source-Lizenz der EU (englisch)

Einleitung in freie Software und Open Source bei der Free Software Foundation Europe

Zu Repositorys und Dokumentation freier Software:

Github (Repository für Open-Source-Projekte)

Joinup (EU-Plattform für Interoperabilitätslösungen)

Richtlinien zur Dokumentation von Java-Programmen bei Oracle

Prinzipien des Servicestandards

  1. Erhebung und Bewertung von Nutzeranforderungen
  2. Einfache und intuitive Nutzung
  3. Barrierefreiheit, Bürgernähe und Genderneutralität
  4. Once-Only-Prinzip
  5. Datenschutz
  6. Förderung digitaler Nutzung
  7. Rechtliche Änderungsbedarfe
  8. Agiles Vorgehen
  9. Integration Portalverbund
  10. Ebenenübergreifende Zusammenarbeit
  11. Entwicklungsgemeinschaften
  12. Offene Standards
  13. Open Source
  14. Wiederverwendung und Nachnutzung
  15. IT-Sicherheit und Support
  16. Interoperabilität
  17. Technologische Evaluation
  18. Evaluation der Nutzerzufriedenheit
  19. Nutzerzentrierte Weiterentwicklung

Bei Fragen oder Feedback zum Servicestandard wenden Sie sich gerne an: ozg@bmi.bund.de