Open Source Tools

Mehr als nur kostenlose Software!

Vorteile / Nachteile / Überblick Über mich

Thomas Werner

Beruf Freizeit Open Data Koordination Lab Lead / Civic Hacker Stadt Münster / citeq Code For Münster / Code For Germany Vorschlag für Workshop-Inhalt

1. Einführung “” 2. Vor- & Nachteile 3. Hilfe zur Selbsthilfe 4. Open-Source-Tools Code For Germany Ein Projekt der Open Knowledge Foundation

Lab-Treffen in Münster Jeden Dienstag 18:30 im Drei:Klang ● Ehrenamtliches Netzwerk ● Deutschlandweit organisiert in 26 lokalen “Labs” ● Einsatz für nachhaltigen digitalen Wandel in Politik und Verwaltung ● Entwickeln, übertragen oder ausprobieren von (digitalen) Ideen ● Global vernetzt - Lokal wirksam Open Data in Münster

● Freiwillige kommunale Leistung Open-Data-Portal der Stadt Münster ● Open Data Portal (seit 2019) mit https://opendata.stadt-muenster.de Offenen Daten aus der Verwaltung & weiteren ● Ziel: Schaffung von Informations- und Partizipationsmöglichkeiten ● Verwaltungsintern: Neue Impulse, Anpassung der Prozesse ● Digitale Nachhaltigkeit Vorstellungsrunde 1. Einführung “Open Source” Was bedeutet “Open Source”?

Als “Open Source” wird Software bezeichnet, deren Quelltext öffentlich und von Dritten eingesehen, geändert und genutzt werden kann.

Open-Source-Software kann meistens kostenlos genutzt werden.

(Englisch: “open source” = wörtlich “offene Quelle”)

Quelle: Wikipedia Wie entsteht Software? Akteur: Programmierer(-teams)

1. Den Quellcode der Software (“Sourcecode”) schreiben 2. Den Quellcode in ein ausführbares Programm kompilieren (=>Binärdatei z.B. für Windows, , Android, IOS..)

Quellcode

Software XY for x do { Kompilieren if a then b; (z.B. Binärdatei repeat; für Windows) } Akteur: Nutzer

Wie entsteht Software? ● Erhält Binärdatei (=Software für Windows) auf CD, oder herunterladen & installieren ● Nutzer bezahlt dafür ● Ja: Programm benutzen ● Nein: Programm kopieren (Lizenzcodes, Kopierschutz…) ● Nein: Programm erweitern oder verbessern (dazu fehlt der Quellcode)

Quellcode

for x do { Software XY if a then b; (z.B. Binärdatei repeat; für Windows) } Akteur: Nutzer

Wie entsteht Software? ● Erhält Binärdatei (=Software für Windows) auf CD, oder herunterladen & installieren ● Nutzer bezahlt dafür ● Ja: Programm benutzen ● Nein: Programm kopieren (Lizenzcodes, Kopierschutz…) ● Nein: Programm erweitern oder verbessern (dazu fehlt der Quellcode)

Quellcode

for x do { Software XY if a then b; (z.B. Binärdatei repeat; für Windows) } Akteur: Nutzer

Was ist ● Erhält Binärdatei kostenlos / kostenlose Software? ● Ja: Programm benutzen ● Ja: Programm weitergeben (keine Lizenzcodes benötigt, kein Kopierschutz…) ● Nein: Programm verändern (dazu fehlt der Quellcode)

Quellcode

for x do { Software XY if a then b; (z.B. Binärdatei repeat; für Windows) } Akteur: Nutzer

Was ist Freeware ● Erhält Binärdatei kostenlos / kostenlose Software? ● Ja: Programm benutzen ● Ja: Programm weitergeben (keine Lizenzcodes benötigt, kein Kopierschutz…) ● Nein: Programm verändern (dazu fehlt der Quellcode)

Quellcode

for x do { Software XY if a then b; (z.B. Binärdatei repeat; für Windows) } Was ist Open Source Software?

● Der Quellcode ist verfügbar ● Man kann/muss selbst die Binärdateien ● Man kann den Quellcode prüfen, verändern, erstellen erweitern, weitergeben ● Durch die Lizenz der Software ist das auch erlaubt

Quellcode

for x do { Software XY if a then b; (z.B. Binärdatei repeat; für Windows) } Open-Source-Lizenzen

Software-Lizenz = Vertrag zwischen Lizenzgeber & Lizenznehmer, um Nutzungsrechte an einer urheberrechtlich geschützten Software zu überlassen oder beschränken. Rechte sind Z.B.

● Allgemeines Nutzungsrecht an der Software ● Kommerziell: Zahl der Nutzer, Art der Nutzung usw. ● Recht auf Weiterverbreitung der Software ● Recht auf Veränderung der Binärdateien oder des Quellcodes, sofern vorhanden ● Recht auf Weiterverbreitung veränderter Versionen der Binärdateien oder des Quellcodes

=> Nutzungsrecht, Urheberrecht => Komplexe Themengebiete

=> (OSI) zertifiziert Lizenzen - https://opensource.org/ Meistgenutzte Open-Source- Lizenzen

Quelle: Heise.de https://www.heise.de/ct/ausgabe/2014-15-Open-Source-Lizenzen-und-ihre-Implikationen-2238965.html Beispiel: Lizenzthema “

GPL => LGPL, MPL => BSD, Apache, MIT

Quelle: it-economics.de https://www.it-economics.de/blog/2012-07/pt9oi6kzodgcl1tmsfc1yn1vzq4usb Was bedeutet “Cloud”? ● Das Programm läuft nicht auf meinem Computer, sondern auf einem anderen Computer - außerhalb meines lokalen Netzwerks ● Oft läuft das Programm über den Internetbrowser ● “On-premise” = in meinem eigenen Netzwerk Was bedeutet “Cloud”? Cloud ● Das Programm läuft nicht auf meinem Computer, sondern auf einem anderen Computer - außerhalb meines lokalen “On premise”, Netzwerks “In-House” ● Oft läuft das Programm über den Internetbrowser Lokal ● “On-premise” = in meinem eigenen Netzwerk Die größten Open Source Projekte

“wirtschaftlich gesehen”

Quelle: Wikipedia Artikel zu Open Source 2. Vor- & Nachteile von Open Source Sourcecode #1 Sourcecode #2 Programmierteam #1 Programmierteam #2 Vorteile von Open Source #1

● Transparenz: Offene Entwicklung des Programm-Quellcodes (sofern auf Open-Source-Plattform) ● Gemeinsame Weiterentwicklung ist möglich (beliebig viele Personen und Firmen) ● Nachhaltigkeit: Offene Speicherung des Programm-Quellcodes ● Softwarequalität ist “mathematisch” nachprüfbar (automatische Code-Analyse) ● Hohe Softwarequalität durch Open-Source-Entwicklungsprozess (sog. “Pull Requests” -> Änderungen werden erst durch die Community begutachtet und “freigegeben”) ● Keine Abhängigkeit von einem einzelnen Anbieter ● Oft ist Datenaustausch in einem offenen Standard möglich ● Keine Lizenzkosten, keine Nutzungsbedingungen ● Keine geheimen Zugriffsmöglichkeiten (Backdoors) Nachteile von Open Source

● Software wird oftmals nur langsam weiterentwickelt ● Sicherheitslücken werden oft nicht umgehend geschlossen ● Schulungsaufwand der Anwender ● Für Anpassungen steht kein Partner bereit ● Fehlende Garantie und Support ● Risiko, dass die Entwicklung abgebrochen wird ● Risiko, dass das Open Source Projekt aufgekauft und in ein entgeltliches Produkt überführt wird

=> Auflösung auf der nächsten Seite .. Nachteile von Open Source

● Software wird oftmals nur langsam weiterentwickelt ● Sicherheitslücken werden oft nicht umgehend geschlossen ● Schulungsaufwand der Anwender ● Für Anpassungen steht kein Partner bereit ● Fehlende Garantie und Support ● Risiko, dass die Entwicklung abgebrochen wird ● Risiko, dass das Open Source Projekt aufgekauft und in ein entgeltliches Produkt überführt wird orange = Gilt genauso für nicht-open-source-software lila = Gilt nicht, wenn man mit einem IT-Dienstleister zusammenarbeitet (was man eh tun muss) blau = Nicht bei großen Projekten: Eine verteilte Entwicklergemeinschaft kann man nicht kaufen Fazit: Nachteile?

● Die meisten der Nachteile gelten auch für Closed-Source-Software ● “Kommt auf das Projekt an” ● Richtig ist: Ohne IT-Partner kann es schwierig sein Vorteile #2

● Open Source ist weit verbreitet. ○ Namhafte Hersteller, wie z. B. IBM oder SUN stellen ihre Produkte als OpenSource zur Verfügung. ○ Open Source ist in einigen Bereichen Marktführer (Geoinformationssysteme, Software für Server). ● Die OpenSource-Community hat immense Man-Power an Entwicklern, mehr als jeder Software-Hersteller. ● Die Qualität von Open-Source-Software ist nachweisbar: Durch Offenlegung des Quellcodes entsteht ein hoher Qualitätsdruck auf die Entwickler. ● Open Source-Software ist sehr gut dokumentiert. ● Open Source schafft Innovation. ● Open Source schafft Standards: Hohe Qualität und eine breite Wissensbasis ist die Voraussetzung dafür, Standards zu schaffen und Akzeptanz und Verbreitung zu erreichen. ● Die Open Source-Initiative ist seit langem etabliert: Erste Projekte starteten Mitte der 80er Jahre. Open Source als Grundprinzip Beispiel Öffentlicher Sektor: Jede Kommune kauft die gleiche Software

... Open Source als Grundprinzip Lösung - Gegenentwurf: “Public Money, Public Code”

Weitere Informationen: https://de.wikipedia.org/wiki/Open-Source-Software_i n_%C3%B6ffentlichen_Einrichtungen Digitale Nachhaltigkeit

Das Konzept der Digitalen Nachhaltigkeit beschreibt die langfristig orientierte Herstellung und Weiterentwicklung von digitalen Wissensgütern und behandelt die Tragik der Anti-Allmende. Ausgehend vom Begriff der Nachhaltigkeit soll außerdem der bewusste Umgang mit Ressourcen in der Weise erfolgen, dass deren heutige Erstellung und Verwendung die Bedürfnisse kommender Generationen nicht beeinträchtigt.

● Digitale Nachhaltigkeit betrifft ausschließlich immaterielle Güter, sogenannte Wissensgüter. ● Mittels Schutz des geistigen Eigentums können digitale Ressourcen vom freien Gebrauch und der freien Weiterentwicklung ausgeschlossen werden (Urheberrecht, Patente). (=> Open Source) ● Die langfristige und frei zugängliche Speicherung muss gewährleistet sein (=> Open Data)

● Akademische Betrachtungen zur Digitalen Nachhaltigkeit gab es zuerst in 2004, 2008 ● Seit 2014: Forschungsinstitut in Bern (Leiter: Matthias Stürmer)

Quelle: Wikipedia https://de.wikipedia.org/wiki/Digitale_Nachhaltigkeit 10 Merkmale Digitaler Nachhaltigkeit

1. Digitale Güter müssen finanziell, technisch und organisatorisch für alle Menschen nutzbar und veränderbar sein. 2. Wissen weiterzugeben und zu erhalten erfordert eine Gestaltung digitaler Güter, die auf Zukunft hin offen und weiterhin zugänglich ist. 3. Um Wissen weiterzugeben und für zukünftige Generationen zu erhalten sind offene Formate, offene Standards und freie Lizenzen notwendig. 4. Die Zugänglichkeit zu digitalen Gütern sollte unabhängig von finanziellem Vermögen gegeben sein. 5. Das Wissen über die digitalen Güter darf nicht nur bei einer Person oder Organisation liegen, sondern muss über viele Akteure verteilt sein. 6. Das Wissen um die digitalen Güter muss regenerierbar und reproduzierbar sein. 7. Die Weitergabe, Wiederverwendung und Modifizierung von digitalen Gütern muss technisch und rechtlich möglich sein und gefördert werden. 8. Digitale Güter (vor allem Software) müssen so gestaltet sein, dass sie keine Abhängigkeiten zu ihren Herstellern schaffen, sowie transparent entstehen (Quellcode) und vertrauenswürdig sind. 9. Eine sinnvolle Strukturierung, Modularisierung, Dokumentation, Auffindbarkeit und das möglichst präzise Filtern digitalter Güter muss gewährleistet sein. 10. Es gilt, individuelle und gesellschaftliche Rahmenbedingungen, sowie entsprechende gesetzliche Regulierungen zu schaffen, dass nachhaltige digitale Güter auf breiter Front gefördert und präferiert werden. Quelle: Initiative Digitale Nachhaltigkeit https://digitale-nachhaltigkeit.net/tiefer-gehen.php Open Data & Nachhaltigkeit

Open Data hilft bei..

● Sustainable Development Goals nachverfolgen ● Regionale Steuerung der SDG

Open Data führt zu digitaler Nachhaltigkeit:

● Datenerhebung kostet Geld und Ressourcen ● Daten-Weiternutzung als Open-Data vermeidet Doppelarbeit ● Effiziente Datenweitergabe über etablierte Open-Data-Kanäle vs. ineffiziente Meldeprozesse ● Redundate, verteilte Datenspeicherung auf Open-Data-Portalen vermeidet Datenverlust 3. Hilfe zur Selbsthilfe Wo findet man Open-Source-Software?

● Verzeichnisse von Open-Source-Software: https://en.wikipedia.org/wiki/List_of_free_and_open-source_software_packages https://opensourcesoftwaredirectory.com https://www.openhub.net https://directory.fsf.org

● TIP: “Alternative zu..”. Bei Alternative.to einfach das Programm eingeben, das man ersetzen will: https://alternativeto.net

● Themen-Artikel, z.B. https://osb-alliance.de/sub/open-source-tools-fuer-homeoffice-und-homeschooling_1 https://digitalcourage.de/digitale-selbstverteidigung - https://www.privacytools.io => d.h. “Google” Wo findet man Open-Source-Software?

● “Open-Source-Ökosysteme” ○ Linux Software Installer, Ubuntu App store ○ Paketmanager diverser Programmiersprachen (JS, Python) ● Wordpress Plugins ● Nextcloud Extensions ● Generell: CMS Plugins, falls man ein CMS verwendet Open Source Organisationen

● Open Source Business Alliance (OSB Alliance) - https://osb-alliance.de seit 2011, 190 Mitglieder, Deutschlands größtes Netzwerk von Unternehmen und Organisationen, die Open Source Software entwickeln, darauf aufbauen oder sie anwenden ● FSFE - Foundation Europe z.B. https://publiccode.eu - https://fsfe.org/freesoftware/ ● Framasoft - https://framasoft.fr/en/full Größere Organisation aus Frankreich, die versucht, viel abzudecken ● Digitalcourage - https://digitalcourage.de/digitale-selbstverteidigung “Digitalcourage arbeitet für eine lebenswerte Welt im digitalen Zeitalter” ● Open Source Initiative (OSI) - https://opensource.org/ ● Open Source Business Foundation - jetzt “OpenBIT” ● FOSDEM - https://fosdem.org/ Förderung von Open Source Projekten

● Open Technology Fund https://www.opentech.fund/ ● Prototype Fund https://prototypefund.de/ ● “Wir alle” -> Github Sponsors https://github.com/sponsors Lokale Firmen & Initiativen können helfen

● Open Dortmund https://blog.do-foss.de/ ● Software für Engagierte e.V. https://sfe-ev.org/ (CiviCRM) ● Publicplan https://publicplan.de/

● Man findet ggf. lokale Ehrenamtliche, die helfen wollen, wie z.B. in ○ Chaostreffs ○ Code For Labs ○ Hackerspaces

● “Googeln” - z.B. nach “Nextcloud Hosting” ○ Lokalen Anbieter unterstützen? ○ Lieber einen “großen” Anbieter nutzen? Bewertung von Open-Source-Software

● Wer steht dahinter? Firma / Verein / Einzelperson? ● Wer nutzt es sonst? Erfahrungsberichte? ● Wie aktiv ist die Community? => Im Quellcode-Repository des Projekts schauen (z.B. auf Github): ○ Wie viele “Stars” hat das Projekt? ○ Wie viele aktive Entwickler gibt es? ○ Wird an den “Issues” gearbeitet? ○ Wann war der letzte Commit? ● Wie gut ist der Support? ○ Dokumentation prüfen. ○ Wird das Projekt von einer Organisation geleitet? Gibt es IT-Dienstleister, die Support leisten? ● Passt der Funktionsumfang? ○ Ausprobieren (Meist gibt es eine Demo) Github, die “Open-Source-Plattform”

● Sehr viele Open Source Projekte sind bei Github.com gehostet ● Gitlab.com ist eine beliebte Alternative ● Weitere Alternativen zu Github: https://en.wikipedia.org/wiki/Comparison_of_source-code-hosting_facilities

Im folgenden zeigen wir am Beispiel, wie man ein Github-Projekt bewerten kann. Github = Facebook für Programmierer

Github ist eine integrierte Plattform, um (öffentlich) zusammen zu programmieren und Programmierprojekte zu planen, zu strukturieren, automatisch zu testen, sie zu präsentieren, zu dokumentieren, über konkreten Programmcode zu diskutieren, etc..

Als teilnehmender Entwickler bekommt man eine “Profilseite”. Github

Bewertung eines Projekts anhand seiner Github- Projektseite

(Analoges Vorgehen bei Gitlab) Github Beispiel 2

Schaut erstmal gut aus, Aber seit Jahren keine Änderung am Quellcode Github #3

Gemeinsame Entwicklung: Alle Änderungen werden erst von der Community begutachtet! Diskussionen können direkt im Quellcode stattfinden => Führt zu hoher Quellcode-Qualität 4. Tools Alternative zu Open Source Bereich

Microsoft Office OpenOffice, Büro Die LibreOffice bekanntesten Adope Photoshop GIMP Bildbearb., Grafikdes. Corel Draw, Adobe Inkscape Grafikdesign (Vektor) Open Source Illustrator “Alternativen” Adobe Audition, Audacity, Audiobearbeitung

Soundforge Ocenaudio

Windows Linux Betriebssystem

Autodesk 3D Blender 3D-Modellierung Studio https://alternativeto.net Final Cut Pro Avidemux Videobearbeitung Kostenlose Vereinssoftware

● JoGoVerein http://jogoverein.goeldenitz.org Für Windows, kein Quellcode, offenbar nur 1 Person

● JVerein http://www.jverein.de Für PC, “Open Source”, Java-basierend, offenbar nur 1 Person

● CiviCRM https://lab.civicrm.org/dev/core Webbasiert, Quellcode auf Gitlab, 10-20 Personen, die regelmäßig mitarbeiten Integration mit verschiedenen Content-Management-Systemen

=> Zuerst fragen: Wofür benötigt man es? Wie viele Personen sollen es nutzen? Welches Budget haben wir? Open-Source-Newslettersoftware

● OpenLetters https://www.open-letters.de/download.html ● Open Source, Entwicklung nicht über Open-Source-Plattform, offenbar nur 1 Person, Stand: 2017

● OpenEMM https://github.com/agnitas-org/openemm ● Open Source, kein Community-Projekt = Herstellerabhängigkeit

● Mailtrain https://github.com/Mailtrain-org/mailtrain Open Source, Community-Projekt, vor kurzem aktiv, mehrere Entwickler

● Alternative Cloudbasierte Newsletter-Tools: https://www.emailtooltester.com/newsletter-tools/

Wie viele Empfänger? Wie oft versenden? Welche Kampagnen? Welches Budget haben wir? Tools für Veranstaltungsanmeldung (cloud)

● Meetup.com - https://www.meetup.com/ ● Closed Source, teuer

● Eventbrite - https://www.eventbrite.de/ ● Closed Source, aber sehr beliebt

● Pretix - https://pretix.eu/ ● Open Source, super Alternative zu Eventbrite

Was ist die Zielgruppe? Wie groß ist die Veranstaltung? Alternative zu Open Source Bereich

Padlet.com squarelet.org, Online-Notizen Cloud-Tools- Cryptpad Google, Dropbox Nextcloud, Owncloud Dateimanagement Alternativen (und weitere Plugins)

Trello Nextcloud Plugin “Projektmanagement”, (kl. Projekte), Kanban Board

JIRA OpenProject, Projektmanagement Redmine,

taiga.io

Miro www.diagrams.net Online-Whiteboard- wbo.ophir.dev Kollaboration drawpile.net Weitere Bereiche

● Video-Konferenzen: https://digitalcourage.de/digitale-selbstverteidigung/videokonferenzen-muessen-keine-datenschl eudern-sein ● Team-Messenger: https://medium.com/ignation/time-to-replace-slack-who-will-win-mattermost-or-riot-matrix-a09 0e9cdc219 Zu beachten bei Einführung neuer Software

Installation ist nicht alles - Laufender Betrieb ist sehr wichtig

Ein paar Dinge zu bedenken bei “lokaler” Software (z.B. für Windows):

● Worst case: Windows-Updates können die Software unbenutzbar machen ● In der Software können Sicherheitslücken entdeckt werden => Regelmäßige Updates der Software müssen eingeplant werden

● Totalausfall der Hardware, Virusbefall => Backups müssen eingeplant werden

● => Schulung der Anwender

Danke!

Besuchen Sie das Open Data Portal der Stadt Münster https://opendata.stadt-muenster.de

Fragen zu Open Source oder Code for Germany? Interesse an einer Open Data Kooperation? -> Kontakt: [email protected] Copyright-Informationen:

Bilder von Pixabay & Pexels ● ● Symbole von Freepik ○ Design vector created by macrovector_official -

www.freepik.com ● Icons von Noun Project ● Unhappy by Xinh Studio from the Noun Project ● Love by Xinh Studio from the Noun Project ● Source Code by Vectors Market from the Noun Project ● Software by The Icon Z from the Noun Project ● Cloud Computing by ProSymbols from the Noun Project 5. Hintergrundinformationen Warum lohnt sich Open Source?

Verschiedene Geschäftsmodelle basieren darauf:

● THE OPTIMIZATION STRATEGY ● THE DUAL LICENSE STRATEGY ● THE SUPPORT STRATEGY ● THE CONSULTING STRATEGY ● THE HOSTED STRATEGY ● FREEMIUM ● …weitere unter: https://web.archive.org/web/20170112232640/http://riseforth.com/pdf/seven_open_source_bus iness_strategies.pdf https://de.wikipedia.org/wiki/Gesch%C3%A4ftsmodelle_f%C3%BCr_Open-Source-Software Beispiele für Open-Data-Angebote

● Liste von Landes- und Bundesangeboten: https://opendata.stadt-muenster.de/blog/liste-%C3%BCbergeordneter-open-data-angebote

● Linksammlung zu Open-Data-Quellen: https://spassmitdaten.de/categories/

Disclaimer: Beides von mir :) News

● https://www.caritas-digital.de/warum-die-beratungsplattform-der-caritas-nun-opensource-ist/ ● https://osb-alliance.de/featured/osb-alliance-und-vitako-planen-portal-zur-sammlung-von-open- source-fuer-die-oeffentliche-verwaltung - https://code.gov ● https://www.tagesschau.de/wirtschaft/github-microsoft-101.html ● https://www.heise.de/newsticker/meldung/Messenger-Threema-soll-Open-Source-werden-4885 250.html ●