Im Frühling 2017 wurde die Lösung Ki-Tax als erste E-Government-Anwendung der Stadt Bern erfolgreich eingeführt.
Mit Ki-Tax wurde der gesamte Betreuungsgutscheinprozess – von der Beantragung eines Betreuungsgutscheins durch die Gesuchsteller über die Ausstellung des Betreuungsgutscheins bis zur Zahlungsabwicklung mit den Kindertagesstätten – vollständig digitalisiert.
Kurz vor der Fertigstellung der Anwendung hat der Stadtrat den Entscheid gefällt, die Software als Open Source Lösung zu veröffentlichen.
Die DV Bern AG beschreibt in diesem Vortrag die internen und externen Hürden, sowie die Chancen, welche dieser Entscheid mit sich brachte.
Dabei werden sowohl kulturelle, organisatorische, wie auch technische Aspekte des gesamten Open-Sourcing-Prozesses beleuchtet.
Schliesslich soll eine Checkliste den Zuhörern dabei helfen, selbst erste Schritte im Open Source Umfeld zu machen.
Referenten: Xaver Weibel, Christoph Linder, David Bächler
Guild42: 17.09.2018
https://guild42.ch/?p=748
13. 13
Aufgaben verteilen
• Wer definiert das Strategiepapier?
• Wer definiert den (neuen?) Code-Guideline?
• Wer analysiert verwendete Lizenzen?
• Wer stellt welche Library um?
• Wer kümmert sich um die Build-Umgebung?
• Wer erklärt das alles dem Kunden?
17. 17
Code-Review: Security
Falls noch nicht gemacht: jetzt ist der beste Zeitpunkt!
• Vulnerabilities
• Accounts & Passwörter
• … auch in den Unit- und Integrations-Tests!
• … auch in der History!
• Automatisieren!
• Externe Spezialisten
• Wichtiges Feature
=> Mehrwert
=> Verkauf- und Abrechenbar
18. 18
Code-Review: Datenschutz
Suche nach:
• Personendaten
• Interna
• … auch in den Unit- und Integrations-Tests!
• … auch in der History!
Fazit:
Im Zweifelsfall
History löschen
20. 20
Build-Umgebung
Eigenes CI oder "In The Cloud"?
Wenn intern:
• Konfigurationsaufwand
• Netzwerk-Rules
• Automatisierung
Wenn extern:
• Einarbeiten!
22. SUMMARY
Wo stehen wir heute?
Was ist daraus entstanden?
17. September 2018, Guild 42
23. 23
Summary
Community Management noch heute
nicht geregelt
Phase II (Modularisierung und
Generalisierung des Codes) wird (vorerst)
nicht umgesetzt
Potential von OSS wurde
firmenweit erkannt
Erstes OSS Projekt der DVB
erfolgreich abgeschlossen
Eigene Libs als OSS veröffentlicht
Entwicklung einer DVB OSS-
Strategie
Erstes E-Gov Projekt der Stadt Bern
erfolgreich abgeschlossen
26. 26
OSS Strategie
• Einsatz von OSS wird begrüsst
– Aber Regeln müssen überprüft und eingehalten werden
• Bei jedem neuen Projekt überprüfen, ob OSS sinnvoll ist
• Interne Libs veröffentlichen
• Entwickler dürfen und sollen bei OSS Projekten mitarbeiten
29. 29
Fazit
• Open Source heisst nicht unbedingt billiger
• «Open-sourcen» im Nachhinein ist teuer!
• Die Codequalität hat sich verbessert
• Vorteile auf Kunden- und Entwicklerseite
• Open Source wird insbesondere von jüngeren Entwicklern
gefordert (Mitarbeitermarketing)
• Open Source einführen bedeutet auch Anpassung der
Firmenkultur!
• Es lohnt sich!
Interne Libs: Apache Lizenz 2 ohne Copyleft
OSS Projekte: AGPL mit Copyleft
Copyleft: Derivate müssen auch wieder Frei sein
Nicht vergessen: doppelte Lizenzierung möglich
aber: kompliziert mit externen OSS-Kontributionen!
Code-Guidelineim weiteren Sinn:
Formatierung, Naming, Code of Conduct, …
Erste Wahl: Github
Tools nutzen soweit möglich, z.B.: Maven-Plugins
=> Automatisierung!!!
Inkompatibilitäten finden
* Grauzone: JUnit braucht GPL, JUnit wird aber nur für Build-Prozess gebraucht und nicht veröffentlicht
* IAM-Modul Closed-Source => Ausgliederung als Webservice
Leider in einem Fall echte Nutzerdaten in Unit-Tests gefunden :(
Fazit: im Zweifelsfall ohne History publizieren!
Glück für uns:
kompletes Code-Audit explizit vom Kunde beauftragt
Fleissarbeit aber zumindest zum Teil automatisierbar
Alles vorher definieren, sonst doppelte Arbeit und Frust bei den Entwicklern
Maven Parent-POM
Erstes E-Gov Projekt der Stadt wurde erfolgreich abgeschlossen
Endlich auf GitHub veröffentlicht
Seite Stadt Bern
Community Management noch heute nicht geregelt
Auch Phase II (Modularisierung) wird (vorerst) nicht umgesetzt
Teilweise eine Geldfrage
Gut, da könnt ihr nun sagen: Und was ist mit der Steuerveranlagung oder Taxme?
Applikationen Werden anderen Kantonen kostenlos zur Verfügung gestellt, resp. gemeinsames Framework.
Kein Open Source, aber gemeinsame Nutzung
Aber das ist eine andere Geschichte….
Vision SaaS-Lösung für Betreuungsgutscheine
Code gehörte Stadt Bern
Daraus entstanden ist das Projekt kiBon
Wäre ohne Open Source nicht möglich gewesen.
Mittlerweile haben wir den Kanton als Kunden gewonnen und werden dem Kanton unsere SaaS-Lösung mit der kantonalen Einführung von Betreuungsgutscheinen per 1.8. 2019 anbieten
Auch sonst hat sich bei der DV Bern einiges getan:
Das Potential von OSS wurde firmenweit erkannt und wir entwickelten sogar eine OSS-Strategie
Geholfen hat uns dabei Matthias Günter (insbesondere bei Lizenzfragen)
Lizenz Compliance: Beispiel iText mit neu Dual-Lizenz
Das hat Christoph schon vorgestellt:
AGPL mit Copyleft für zukünftige Projekte
Wir möchten nicht, dass ein Dritter diesen Code nimmt und möglicherweise in einem Closed Source Projekt verwendet oder sogar noch Lizenzen dafür verlangt.
Apache Lizenz 2.0 für DVB Libs
Jeder darf damit machen, was er will
Wir geben nun auch etwas zurück
OSS Entscheid lieber ganz am Anfang des Projektes den Entscheid fällen
Anpassung der Firmenkultur geht nicht von heute auf morgen. Auch bei uns ist OSS noch nicht ganz in der DNA verankert
Intern hat sich einiges getan.
Open Source wurde als Business Modell erkannt.
Jüngere Entwickler sind zufriedener