#format rst #language de
1 Open-Source Software 2021¶
Mi, 14:00 bis 15:30, 15:40 bis 17:10
Klausur am 6.7. (Di), 17:00 Uhr per Zoom und Moodle. Moodle Kurs zur Online-Prüfung https://moodle.hs-augsburg.de/course/view.php?id=4895
Zum Moodle Kurs: https://moodle.hs-augsburg.de/course/view.php?id=4639
Zoom Link: siehe Ankündigung in Moodle
Video-Aufnahmen: http://hhoegl.informatik.hs-augsburg.de/video/oss21/
Material: http://hhoegl.informatik.hs-augsburg.de/oss/ (Zeitungsartikel, Aufsätze, Buchkapitel, etc.)
Fragensammlung: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html
Frühere Veranstaltungen: OSS
1.1 News¶
Christos Zosimidis - 27. April 2021
Eine Forschergruppe der Universität Minnesota hat absichtlich versucht Bugs und Sicherheitslücken in den Linux-Kernel zu bauen, um zu erforschen wie groß das Risiko von solchen Arten von Angriffe an Open-Source Projekte ist.
https://github.com/QiushiWu/qiushiwu.github.io/blob/main/papers/OpenSourceInsecurity.pdf
Philipp Mirbaha - 4. Mai 2021
Lizenz https://en.wikipedia.org/wiki/WTFPL (im Projekt https://github.com/EnderQIU/vslc)
1.2 Grobe Gliederung¶
Es geht mir bei der Veranstaltung darum, dass Sie ein paar Grundlagen in folgenden Themengebieten im Laufe der Zeit gewinnen. Stellen Sie sich vor, sie müssen in einem zukünftigen Job zum ersten Mal ein freies Softwareprojekt managen, dann sollte der Kurs ihnen die passenden Grundlagen vermittelt haben. Gerne bin ich offen für Anregungen, was Sie für wichtig halten!
Definition der Begriffe „freie Software“ und „offene Software“
Warum gibt man den Quelltext überhaupt freiwillig her, wo doch die klassische kommerzielle Verhaltensweise immer genau das Gegenteil ist (weggesperrte Software im Safe sind fuer manche wie „Goldbarren“).
Vor- und Nachteile von offener und geschlossener Software
Ein paar Einblicke in die geschichtliche Entwicklung (auch die Voraussetzungen zur Entstehung von OSS)
GNU Software und die Free Software Foundation (FSF)
Die Open-Source Bewegung
Wo wird freie und offene Software verwendet? (typische Anwendungsbereiche)
Wie macht man freie und offene Software? Regeln, Werkzeuge, kollaboratives Arbeiten mit git
Aufbauen von Gemeinschaften („community building“)
Beispiele von erfolgreichen OSS-Projekten
Ein wenig Urheberrecht und die wichtigsten Lizenzen
Freie Programme, die man kennen muss (http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssProgramme) Siehe auch unten den Literatur-Link „Karl Beecher, Free Alternatives to Everyday Software“.
Anwendungsbereiche der offenen Denkweise, die ausserhalb der Softwareentwicklung liegen, z:B. Open-Innovation
Geschäftsmodelle mit freier Software (wie kann ich damit Geld verdienen?)
Eine etwas genauere Gliederung ist hier:
http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung
1.3 24.3.2021¶
Die wichtigsten Stichpunkte aus dem heutigen Treffen (es gibt keine Video-Aufnahme):
Kommerzielle bzw. „proprietäre“ Software <—> Open-Source und Free Software. „Free“ steht für Freiheit, nicht kostenlos. Es hätte besser „Libre“ heissen sollen.
Proprietäre Lizenzen (Verbote) <—> Offene Lizenzen (Freiheiten, aber auch Einschränkungen)
FLOSS = Free Libre Open Source Software
Free Software Gründer Richard Stallman https://en.wikipedia.org/wiki/Free_as_in_Freedom
„4 Freedoms“ http://www.youtube.com/watch?v=uJi2rkHiNqg
GNU Projekt (freies UNIX, Anfang mit GCC, GDB, Emacs)
GPL Lizenz (Trick, damit Software frei bleibt. Antwort auf zunehmende Kommerzialisierung der Softwareentwicklung Anfang der 80er Jahre).
IT Infrastruktur sehr oft Open-Source (weltweites Internet, aber auch an der Hochschule z.B. im Rechenzentrum)
Linux ist der Kern des GNU/Linux Betriebssystems. Er steht unter GPL Lizenz. Viele Programme aus dem User-Space kommen aus dem GNU Projekt („GNU is not UNIX“).
Die Rolle von Microsoft früher und jetzt
Kommerzielle Software in der Verwaltung und bei anderen staatlichen Einrichtungen. Problem der Abhängigmachung durch Produkte von kommerzielle Firmen („lock-in“). Siehe dazu bspw. eine Gegenbewegung am CERN, „MALT“ https://malt.web.cern.ch/malt/
Beispiel: Matlab (kommerziell) <—> Python Anaconda Distribution (Open-Source ist die „Individual Edition https://www.anaconda.com/products/individual)
Geschichte freier Software https://www.kritische-informatik.de/index.htm?fshistl.htm
Eine ausführlichere Behandlung der Geschichte freier Software finden Sie in unserer Materialsammlung, siehe http://hhoegl.informatik.hs-augsburg.de/oss/. Dort ist gleich am Anfang das freie Buch von Volker Grassmuck, klicken Sie auf „Lesetipps“.
Gerne die Veranstaltung nutzen zum Umsteigen von Windows auf Linux. Am einfachsten geht das mit einer „virtuellen“ Installation von Linux auf Windows 10 mit Hilfe von VirtualBox https://www.virtualbox.org.
Ablauf der Veranstaltung:
Hausaufgaben (keine Teams, keine Projekte)
Online-Klausur für BA und MA über Zoom im Juli, Multiple-Choice und einige Freitextaufgaben in Moodle.
MA (Master) zusätzlich eine Studienarbeit mit ca. 25 Seiten. Bearbeitung Mitte April bis Mitte Juli (3 Monate).
Wöchentliche Hausaufgaben auf RZ WWW Home legen, siehe https://www.hs-augsburg.de/Rechenzentrum/Eigene-Homepage.html
Mit Markdown oder Restructured Text schreiben (mkdocs.org, pandoc, asciidoc, sphinx)
Im ersten Block ab 14 Uhr meist Vorlesung, im zweiten Block Zeit für Gespräche.
Fragen und Kommentare bitte im Moodle Forum „Fragen und Kommentare“ stellen.
Wer in Zukunft nicht mehr teilnehmen möchte, meldet sich bitte aus der Teilnehmerliste in Moodle ab.
Hausaufgaben A1 bis 31.3.:
Welche Programme verwenden Sie typischerweise für Ihre tägliche Arbeit auf Ihrem Rechner? Stellen Sie die Programme mit ihrer Lizenz in einer Tabelle zusammen.
Ergänzen Sie die Geschichte freier Software (https://www.kritische-informatik.de/… siehe oben) ab 2000. Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren Open-Source Geschichte stattgefunden haben.
In [1] Kapitel 1 lesen (13 Seiten).
Auf einschlägige Nachrichten (Zeitung, Smartphone) aus dem FLOSS-Bereich achten. Ich lese z.B. regelmässig https://opensource.com, da steht zwar Redhat dahinter, ist aber trotzdem relativ neutral.
Diese Aufgaben beantworten Sie bereits in Ihrem fortlaufenden Hausaufgabentext, den Sie auf das RZ WWW-Home legen.
1.4 31.3.2021¶
14:00 bis 16:40
Es gibt leider nur von den ersten 30 Minuten eine Videoaufnahme, siehe http://hhoegl.informatik.hs-augsburg.de/video/oss21/. Durch einen Fehler in der Aufnahme ist der Grossteil der 2,5 stündigen Vorlesung leider unbrauchbar geworden. Falls jemand eine vollständige Aufzeichnung oder eine Mitschrift hat, dann bitte melden!
Worüber wir gesprochen haben:
Organisatorisches
Alle schicken mir den Link auf die Hausaufgabe über https://yopad.eu/p/Oss21Link (gueltig bis Ende April)
Probleme beim RZ WWW Upload (am besten den Upload automatisieren mit Script)
Gliederung OssGliederung, Abschnitte „Das GNU Projekt“ und „Die Open-Source Bewegung“
Unterschiede Freie Software / Open-Source-Software
Geschäftsmodelle am Beispiel Embedded Linux Dienstleister - einer zahlt, alle bekommen es (osadl.org)
Wie ist ihr Umfeld, eher OSS positiv oder negativ?
Microsoft Hetzreden auf GNU/Linux. Gerne selber informieren, Suchbegriffe „steve ballmer hate speech linux“
Richard Stallman’s Email 27-Sep-83 (z.B. hier: https://gnulinux.ch/37-jahre-gnu)
Emacs, Emacs LISP
Linux Distributionen unterscheiden sich im darin enthaltenen Anteil an proprietaerem Code. Suchen Sie nach Distributionen die keine proprietaeren Anteile haben. Weiterhin gibt es Distributionen die komplett „free software“ sind: https://www.gnu.org/distros/free-distros.de.html. Wo liegt der Unterschied zu der ersten Sorte von Distributionen?
Open-Source: ca. ab 1997, Open Source Definition, stammt von Debian Free Software Guidelines DFSG
Lern-Videos [2], [3], [4], [5] (waren als Hausaufgabe ueber Ostern gedacht)
Bei https://learning.oreilly.com muss man sich vorher ueber die Bibliothek anmelden: https://go.oreilly.com/fachhochschule-augsburg/
1.5 7.4.2021¶
Video: http://hhoegl.informatik.hs-augsburg.de/video/oss21/20210407.mp4
1.6 21.4.2021¶
Video: http://hhoegl.informatik.hs-augsburg.de/video/oss21/20210421.mp4
Code-Reading - Vorschlaege fuer Programme sind hier:
http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung#code-reading
Denken Sie bei der Analyse der Programme mindestens an folgende Punkte:
Projekt aktiv oder verwaist?
Wer steckt dahinter?
Wer ist der aktuelle Maintainer?
Wo wird das Projekt gehostet?
Fuer welche Betriebssysteme ist es geeignet?
Unter welcher Lizenz steht das Programm?
Ist es ein Kommandozeilen- oder Grafikprogramm?
Wie lange existiert es?
Wer hat daran gearbeitet?
Welche Programmiersprache(n) wird/werden verwendet?
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 ungefaehr? (schwer herauszubekommen)
Gibt es Abspaltungen („forks“)?
Wie kann man mitmachen, bzw. was einreichen?
Letztes Update
Wie werden Branches in Git verwendet (workflow)
und so weiter…
Eigenes kleines Spielprojekt auf gitlab anlegen. Es geht nicht um das Programm bzw. den Code an sich, sondern darum, wie man das Projekt als Open-Source Software kennzeichnet.
1.7 28.4.2021¶
Code-Reading, Teil 2
Beispiel lighttpd
autoconf
cmake (mit make oder ninja Backend)
scons
meson
GNU Autotools Demo: http://hhoegl.informatik.hs-augsburg.de/oss/aufgaben/autotools_novotnik/ Muesste mal modernisiert werden, so dass es mit den aktuellen Autotools arbeitet, als auch mit cmake, scons, meson und premake.
Buch von V. Brasseur: Kap. 2, 3, 4 lesen.
1.8 5.5.2021¶
Hausaufgabe: LGPL V3
https://www.qt.io/faq/tag/qt-open-source-licensing (LGPL V3 oder GPL V2 oder GPL V3)
1.9 19.5.2021¶
Erläuterungen und Fragen zum Thema Lizenzen: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/Lizenz-Fragen.html
20 Jahre Wikipedia: http://hhoegl.informatik.hs-augsburg.de/oss/Wikipedia/
Artikel von Tobias Haar zu Urheberrecht und Patenten: http://hhoegl.informatik.hs-augsburg.de/oss/Haar/
1.10 26.5.2021¶
Arbeitsaufträge:
Die Fragensammlung habe ich ein wenig umgebaut, sie ist nun hier zu finden:
http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html
Die Klausur ist am 6.7., sie können gerne schon mit der Vorbereitung beginnen. Ein paar Themen werde ich aber noch aus der Sammlung entfernen.
Lesen Sie den dreiseitigen Artikel zum Thema „Open Innovation“.
http://hhoegl.informatik.hs-augsburg.de/oss/Emde-Wissensvermehrung-2012.pdf
Lesen Sie den Übersichtsartikel von Stürmer und Myrach zum Thema „Community Building“.
http://hhoegl.informatik.hs-augsburg.de/oss/StuermerMyrach_OpenSourceCommunityBuilding.pdf
Jeder/Jede sollte Einträge in https://yopad.eu/p/OssProgramme machen können, so dass eine Liste entsteht, von der jeder was hat.
1.11 2.6.2021¶
Mal wieder einen Film ansehen: [6] (Software Rebellen)
Hervorragender Text zur Gemeinschaftsbildung: „The Open Source Way“
http://hhoegl.informatik.hs-augsburg.de/oss/the_open_source_way-guidebook-2.0.pdf
Geschäftsmodelle
Dominik Obermaier hat an der Hochschule Landshut studiert. Er hat HiveMQ mitentwickelt und ist nun CEO der gleichnamigen Firma. Wie kann er Geld verdienen, obwohl die Software offen ist? Im folgenden Interview erzählt er über die Entwicklung und was er von Open-Source Software hält: http://hhoegl.informatik.hs-augsburg.de/oss/ss20/HiveMQ-OSS.pdf Viele Automobilfirmen verwenden HiveMQ, es koopieren sogar mehrere Hersteller an Open-Source Bibliotheken. Früher wäre das unvorstellbar gewesen. Wo liegen hier die Vorteile von freier Software?
Siehe die c’t Artikel zu den Geschäftsmodellen unter http://hhoegl.informatik.hs-augsburg.de/oss.
1.12 9.6.2021¶
Prüfungsvorbereitung (Klausur am 6.7. (Di), 17:00 Uhr per Zoom und Moodle)
Alte Klausuren: http://hhoegl.informatik.hs-augsburg.de/oss/Klausuren/
Schauen sie sich oss-19.pdf und oss-18.pdf an.
Fragenkatalog: http://hhoegl.informatik.hs-augsburg.de/oss/Fragen/index.html
Einige Firmen sind in letzter Zeit auf die SSPL Lizenz gewechselt, vor allem um die Software kommerzialisieren zu können. Warum wurde die SSPL nicht als Open-Source Lizenz anerkannt?
Code Reading: Ein Projekt von den folgenden drei aussuchen und genauer untersuchen nach unseren bekannten Kriterien:
lighttpd https://www.lighttpd.net
libwebsockets https://libwebsockets.org
CO2 Ampel der HFT Stuttgart
Freie Programme in verschiedenen Bereichen
Basics zur Benutzung von git und gitlab
Einfaches „Github/Gitlab Flow“ branching Modell http://hhoegl.informatik.hs-augsburg.de/oss/
Basics zum Konfigurationsmanagement: Zumindest die Idee sollte bekannt sein, die hinter Werkzeugen wie automake, scons.org, cmake.org, mesonbuild.com steckt.
Firmen, die mit Open-Source Geld verdienen: Nicht nur Redhat, sondern auch mittelstaendische Unternehmen in Deutschland (Pengutronix, Linutronix, Denx.de, Sysmocom.de, Tuxedo, …)
Noch ein Buchtipp: Andy Oram, Zaheda Bhorat, Open-Source in the Enterprise, O’Reilly 2018 (frei zum Download): https://aws.amazon.com/de/opensource/enterprise-oss-book/
1.13 Weiterführende Informationen¶
1.13.1 Literatur/Videos¶
[1] Vicky Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (222 Seiten). http://hhoegl.informatik.hs-augsburg.de/oss/forge-your-future-with-open-source_P1.0.pdf
[2] Den 45-minütigen Film bitte anschauen und die Kernaussagen im Bericht festhalten. Nachdem der Film behandelt wurde lösche ich ihn wieder von meinem Server.
[3] Karl Beecher, A Beginner’s Guide to Open Source, Apress 2018 Video https://learning.oreilly.com/videos/a-beginners-guide/9781484243497/9781484243497-Beecher_Introduction
[4] Karl Beecher, Free Alternatives to Everyday Software (Apress 2018) Video https://learning.oreilly.com/videos/free-alternatives-to/9781484243770/
[5] Karl Beecher, Moving to an Open Source World (Apress 2019) Video https://learning.oreilly.com/videos/moving-to-an/9781484244418/
[6] Software Rebellen. Die Macht des Teilens. Arte 2017. https://devtube.dev-wiki.de/videos/watch/0c5f8a0f-8f44-499a-8f08-8f616027326e
1.13.2 Rechtliches¶
The Legal Side of Open Source. Everything you’ve ever wondered about the legal side of open source, and a few things you didn’t.
https://opensource.guide/legal
Teil der Open-Source Guides https://opensource.guide von Github:
How to contributes to OSS
Starting an Open-Source Project
Finding Users for your Project
Building Welcoming Communities
Best Practices for Maintainers
Leadership and Governance
Getting Paid for Open-Source Work
Your Code of Conduct
Open-Source Metrics
The Legal Side of Open Source
https://choosealicense.com (von github)
Falk Zscheile , Wissen sichern mit freien und offenen Lizenzen, CLT2017, https://chemnitzer.linux-tage.de/2017/de/programm/beitrag/260
Urheberrecht in der digitalen Welt http://irights.info
Nachricht über Änderung der Audacity Lizenz: https://www.golem.de/news/open-source-audacity-soll-neue-lizenz-und-cla-bekommen-2105-156873.html