#format rst #language de

http://hhoegl.informatik.hs-augsburg.de/oss/img/ossart.jpg

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

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!

  1. Definition der Begriffe „freie Software“ und „offene Software“

  2. 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“).

  3. Vor- und Nachteile von offener und geschlossener Software

  4. Ein paar Einblicke in die geschichtliche Entwicklung (auch die Voraussetzungen zur Entstehung von OSS)

  5. GNU Software und die Free Software Foundation (FSF)

  6. Die Open-Source Bewegung

  7. Wo wird freie und offene Software verwendet? (typische Anwendungsbereiche)

  8. Wie macht man freie und offene Software? Regeln, Werkzeuge, kollaboratives Arbeiten mit git

  9. Aufbauen von Gemeinschaften („community building“)

  10. Beispiele von erfolgreichen OSS-Projekten

  11. Ein wenig Urheberrecht und die wichtigsten Lizenzen

  12. 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“.

  13. Anwendungsbereiche der offenen Denkweise, die ausserhalb der Softwareentwicklung liegen, z:B. Open-Innovation

  14. 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.:

  1. 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.

  2. 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.

  3. In [1] Kapitel 1 lesen (13 Seiten).

  4. 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“

    https://www.idginsiderpro.com/article/3584911/how-microsoft-went-from-linux-is-a-cancer-to-microsoft-loves-linux.html

  • 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

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:

1.11 2.6.2021

1.12 9.6.2021

Prüfungsvorbereitung (Klausur am 6.7. (Di), 17:00 Uhr per Zoom und Moodle)

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

Nachricht über Änderung der Audacity Lizenz: https://www.golem.de/news/open-source-audacity-soll-neue-lizenz-und-cla-bekommen-2105-156873.html