Allgemeine Hinweise
Bei Fragen, Kommentaren, Unklarheiten etc. bitte eine E-mail an
mich oder in das Moodle Forum schreiben.
Leider funktionieren die Links auf
learning.oreilly.com nicht mehr, den Dienst stellt die
Bibliothek seit Anfang 2025 nicht mehr zur Verfügung. —
Aktueller Kurs: https://tha.de/~hhoegl/home/OSS.html
Die unten angegebenen Links auf Literaturstellen sind eine
Auswahl aus dem Materialordner oss/. Wer genaueres zu
einem Thema wissen möchte kann sich dort gerne umsehen.
Es gibt schon ein paar Fragensammlungen
- Fragen zu diversen Themen der OSS
- Fragen und Erlaeuterungen zu OSS Lizenzen
- Fragen zum Buch von Vicky Brasseur, “Forge Your Future with Open
Source”
OSS Prüfungsvorbereitung
Code Reading
FOSS Programme analysieren
Einige Kriterien
- Was steht in der README.md?
- Projekt aktiv oder verwaist?
- Wer hat es sich ursprünglich ausgedacht?
- Wer ist der aktuelle Maintainer?
- Wo wird das Projekt gehostet? (z.B. Github, Gitlab, Savannah https://savannah.gnu.org)
- Gibt es eine Homepage?
- Für welche Betriebssysteme ist es geeignet?
- Unter welcher Lizenz steht das Programm?
- Ist es ein Kommandozeilen- oder Grafikprogramm?
- Wie lange existiert es?
- Wie viele haben in etwa daran gearbeitet?
- Welche Programmiersprache(n) wird/werden verwendet? (Tipp: https://github.com/XAMPPRocky/tokei)
- Welches Konfigurations- bzw. Build-System wird verwendet?
- Wird eine IDE zum Entwickeln verwendet?
- Gibt es eine Dokumentation, wenn ja, in welchem
Textverarbeitungssystem wurde sie geschrieben?
- Wie viele Anwender verwenden das Programm ungefähr? (schwer
herauszubekommen)
- Gibt es Abspaltungen (“forks”)?
- Wie kann man mitmachen bzw. Änderungen einreichen?
- Wie aktiv war es in letzter Zeit?
- Wie werden Branches in Git verwendet? (git Workflow bei der
Entwicklung)
- Wie kann man das Programm installieren? (selber kompilieren, binary,
snap, appimage, container, …)
- In welcher Sprache sind die Meldungen des Programms verfasst, z.B.
Englisch, Deutsch, Chinesisch? Gibt es eine Internationalisierung in
verschiedenen Sprachen (z.B. GNU gettext)?
- und so weiter…
Vorschlaege (falls man keine eigenen Ideen hat):
codereading.txt
tokei verwenden - “Count your code, quickly”
https://github.com/XAMPPRocky/tokei
Build Tools
- make
- autoconf, automake
- scons
- Meson
- CMake
- GN
- ninja-build.org (backend for meson, cmake, gn)
- premake.github.io
- buildout.org
- WAF
- Ant (Apache)
Debian
Digitale Souveränität, Privatsphäre
Einführungen in OSS
Firmen im Augsburger Raum
- Igel
- Linogate
- Tuxedo
- Kontron
- Xentral
- BMK
- gerne erweitern …
Föderierte Dienste
- https://fediverse.party (Peertube, Mastodon, Hubzilla,
Diaspora, GNU Social, Pixelfed.org, https://pleroma.social, https://owncast.online (Go), Matrix, …)
- ct.2020.23.142_145.fediverse.pdf
- ct.2022.26-Fediverse.pdf
- ct.2023.08-Mastodon-waechst.pdf
- Vortrag von Andreas Grupp auf dem LIT25, https://www.luga.de/static/LIT-2025/program/,
siehe den Foliensatz
- Beispiele
Freie Programme
Gefahren, Probleme
Geschäfsmodelle
Geschichtliche Entwicklung
GNU
Inner Source
Kollaborativ arbeiten
- Crowdsourcing (irgend eine Arbeit an Freiwillige auslagern, z.B.
Handschriften lesen oder Texte übersetzen)
- Crowdfunding (kickstarter, startnext.com)
- “Coopetition” - cooperation and competition
Lizenzen, Urheberrecht (siehe eigenen Fragenkatalog Fragen/Lizenz-Fragen.html)
- Klären was “Freeware” und “Shareware” ist
- No License
- Lizenzkürzel https://spdx.org/licenses
- Public Domain (PD): “no rights reserved”, unlicense.org, 0BSD, CC0,
Free Public License, thepublicdomain.org,
- Liberal: MIT, MIT-0, BSD, BSD-4-Clause, BSD-3-Clause (“revised”),
BSD-2-Clause, BSD-1-Clause, Apache 2.0
- Copyleft: GPL, AGPL, GFDL
- Beschränktes Copyleft: LGPL, MPL
- CC Baukasten https://creativecommons.org, BY, ND, NC, SA.
Die Theorie dahinter hat der US Jurist Lawrence Lessig gemacht, siehe
z.B. https://lessig.org/product/free-culture/.
- Lizenz zum Coden. Was Open-Source-Lizenzen voneinander unterscheidet
ct.0120.068-069.qxp.pdf
- Tobias Haar, Was Softwareentwickler über Urheberrecht wissen müssen
Haar/haar-urheberrecht.pdf
- Lizenzbeispiele
- unlicense, MIT: ripgrep
- apache: android, chef
- BSD, GPL: socketcan
- MIT: gitlab
- AGPL: Mastodon, Nextcloud, Threema, MongoDB (frueher)
- Freemium: Anaconda
- Open Source Initiative https://opensource.org
- Anteile der Lizenzen: https://opensourceindex.io (Open Source Contributor
Index - OSCI)
- tl;drlegal https://tldrlegal.com
- https://choosealicense.com
- https://opensource.guide/legal
- http://www.ifross.org/lizenz-center
- Freemium
- Cern-OHL
- License compliance
- DCO, Developer Certificate of Origin https://developercertificate.org (Brasseur, Kap. 3)
- CLA, Contributor License Agreement (Brasseur, Kap. 3)
- https://contributor-covenant.org (Brasseur, Kap. 3)
- https://www.harmonyagreements.org, CAA (Contributor
Assignment Agreement)
- Urheberrecht in der digitalen Welt https://irights.info
- Abkehr von echten Open-Source Lizenzen
- MongoDB
- Redis
- TimescaleDB
- Elasticsearch
- Audacity
Menschen
Motive für Open-Source
Zentrale menschliche Eigenschaften
- Ich kann es selbst (Selbstermächtigung)
- Kann ich das schaffen?
- Wir sind soziale Wesen und wollen dem anderen helfen
- Anerkennung, Ruhm und Ehre
- Streben nach Freiheit und Unabhängigkeit
Lock-in vermeiden
Hoher Gebrauchswert (Verfügbarkeit, Nützlichkeit)
Geldverdienen in erster Linie nachrangig, ist aber möglich durch neue
Geschäftsmodelle. Gegensatz: Geldeinnahmen im Mittelpunkt bei
kommerzieller Software.
Geld sparen (Keine Ausgaben für Lizenzgebühren etc.).
Kooperation ist eine natürliche menschliche
Verhaltensweise
Kooperation ist besser als Wettbewerb
Das “Microsoft Problem”
- Monopolist
- Lock-In
- Betrifft auch Behörden und öff. Einrichtungen
- Telemetrie, DSGVO, Datenschutz
- Wie komme ich weg?
“Take back control”
Open-Innovation
Open-Source Bewegung
Organisationen
README
Software Composition Analysis (SCA)
Support
- buymeacoffee
- ko-fi.com
- Noch andere?
Versionierung
Wikipedia