SlideShare ist ein Scribd-Unternehmen logo
1 von 33
HILFE, DER KUNDE WILL IM NACHHINEIN
EIN OPEN SOURCE PROJEKT!
17. September 2018, Guild 42
2
120 Mitarbeiter 40 Jahre
WIR BERATEN. WIR ENTWICKELN. WIR BETREUEN.
Massgeschneiderte Software und IT Services
3
4
Zwei Generationen
Jung
Optimistisch
Erfahren
Skeptisch
5
Kinderbetreuung
6
Von der Stadt Bern zum Kanton
Pilotprojekt
Ki-Tax
7
Reaktion Open Source
8
Studie Puzzle
Umsetzung in zwei Phasen
1. Minimale technische Umsetzung
2. Modularisierung und Generalisierung des Codes
OPEN-SOURCE UMSTELLUNG
AUS TECHNISCHER SICHT
17. September 2018, Guild 42
10
Lizenzwahl
11
Lizenzwahl
12
Lizenzwahl
Produkte:
mit Copyleft
Libraries: 2.0
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?
14
Source-Repositories veröffentlichen
15
Lizenz-Governance & Compliance
• Lizenzen eingesetzter Libs finden
• Kompatibilität analysieren
Maschinell
Praktikant
16
Source-Repositories veröffentlichen
Neuer Gesichtspunkt: Öffentlichkeitswirksamkeit
Code-Cleanup notwendig/empfohlen!
Der zeitaufwändigste Teil!
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
Code-Review: Datenschutz
Suche nach:
• Personendaten
• Interna
• … auch in den Unit- und Integrations-Tests!
• … auch in der History!
Fazit:
Im Zweifelsfall
History löschen
19
Code-Review: Style
• Code-Style
• Naming-Conventions
• © Copyright
• Code of Conduct
• README.md
• LICENSE.txt
• ...
20
Build-Umgebung
Eigenes CI oder "In The Cloud"?
Wenn intern:
• Konfigurationsaufwand
• Netzwerk-Rules
• Automatisierung
Wenn extern:
• Einarbeiten!
21
Fazit
Ergebnis: passt!
SUMMARY
Wo stehen wir heute?
Was ist daraus entstanden?
17. September 2018, Guild 42
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
24
25
Von der Stadt Bern zum Kanton
PilotprojektKi-Tax KiBon
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
27
Lizenzen
https://choosealicense.com/
https://en.wikipedia.org/wiki/License_compatibility
28
https://dvbern.github.io/
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!
30
Alte Generation und neue Generation gehen in eine Richtung
31
Danke
32
Referenten
• Xaver Weibel
– Bereichsleiter, Mitglied GL
• Christoph Linder
– Softwarearchitekt
• David Bächler
– Projektleiter, Open Source Beauftragter
33
Links
Ki-Tax
• https://www.bern.ch/themen/kinder-jugendliche-und-
familie/kinderbetreuung/ki-tax
• https://ebegu.bern.ch
• https://github.com/StadtBern/Ki-Tax
DV Bern GitHub
• https://dvbern.github.io

Weitere ähnliche Inhalte

Ähnlich wie Guild42 Vortrag: hilfe, der Kunde will im Nachhinein ein Open Source Projekt

DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DNUG e.V.
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core ApplicationsRobin Sedlaczek
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Andreas Mertens
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzQAware GmbH
 
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger KochOSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger KochNETWAYS
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Philipp Grossenbacher
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...DNUG e.V.
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean ArchitectureQAware GmbH
 
2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNew2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNewFotiosKaramitsos
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDevDay Dresden
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Christian Baranowski
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftDavid Schneider
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgDNUG e.V.
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalQAware GmbH
 

Ähnlich wie Guild42 Vortrag: hilfe, der Kunde will im Nachhinein ein Open Source Projekt (20)

DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
DACHNUG50 Erfolgreiche Digitalisierung Notes Anwendungen mit Low Code L”sung ...
 
Architectures for .Net Core Applications
Architectures for .Net Core ApplicationsArchitectures for .Net Core Applications
Architectures for .Net Core Applications
 
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
Die Strategische Bedeutung Von Open Source FüR Das 3 D Internet V2
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014Roslyn DDC Kompakt 2014
Roslyn DDC Kompakt 2014
 
171211 kitodo
171211 kitodo171211 kitodo
171211 kitodo
 
OpenNTF 2015 Edition
OpenNTF 2015 EditionOpenNTF 2015 Edition
OpenNTF 2015 Edition
 
Web 2.0 und skype
Web 2.0 und skypeWeb 2.0 und skype
Web 2.0 und skype
 
Enterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue SchwarzEnterprise Cloud Native ist das neue Schwarz
Enterprise Cloud Native ist das neue Schwarz
 
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger KochOSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
OSMC 2022 | In 60 Minuten zum IoT Projekt by Holger Koch
 
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
Liebe Mobiliar, wie macht Ihr eigentlich DevOps?
 
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
Slides (2) zu Teil 2 der Veranstaltungsreihe Anwendungsentwicklung mit Volt M...
 
Clean Architecture
Clean ArchitectureClean Architecture
Clean Architecture
 
2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNew2022-12_RPA-ChapterEvent_WhatsNew
2022-12_RPA-ChapterEvent_WhatsNew
 
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - AnwendungsmodernisierungDev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
Dev Day 2021 - Stephan Pirnbaum - Anwendungsmodernisierung
 
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
Agiles Lernen und Software Entwicklung das OSGi Code Camp 2010
 
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die ZukunftSharePointCommunity.ch SharePoint Lösungen für die Zukunft
SharePointCommunity.ch SharePoint Lösungen für die Zukunft
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Enterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue NormalEnterprise Cloud Native ist das neue Normal
Enterprise Cloud Native ist das neue Normal
 

Guild42 Vortrag: hilfe, der Kunde will im Nachhinein ein Open Source Projekt

Hinweis der Redaktion

  1. Externe Unterstützung durch Spezialisten  -> Lizenzinkompatibilitäten (z.B. JUnit <-> GPL)!  Langwieriger Prozess!
  2. 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!
  3. Code-Guidelineim weiteren Sinn: Formatierung, Naming, Code of Conduct, …
  4. Erste Wahl: Github
  5. 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
  6. Leider in einem Fall echte Nutzerdaten in Unit-Tests gefunden :( Fazit: im Zweifelsfall ohne History publizieren!
  7. Glück für uns:  kompletes Code-Audit explizit vom Kunde beauftragt 
  8. Fleissarbeit aber zumindest zum Teil automatisierbar Alles vorher definieren, sonst doppelte Arbeit und Frust bei den Entwicklern
  9. Maven Parent-POM
  10. 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
  11. 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….
  12. 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
  13. 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
  14. 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
  15. Wir geben nun auch etwas zurück
  16. 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
  17. Intern hat sich einiges getan. Open Source wurde als Business Modell erkannt. Jüngere Entwickler sind zufriedener