1 OSS 2019¶
Ort: W3.05, Zeit: Mittwoch, 14:00-15:30, 15:40-17:10
DEADLINE FUER STUDIENARBEITEN (MASTER): FREITAG, 28.6., 0 Uhr
Link zu früheren Veranstaltungen.
Gliederung: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung
Fragensammlung: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssFragen
Lesematerial: http://hhoegl.informatik.hs-augsburg.de/oss
Alte Klausuren: http://hhoegl.informatik.hs-augsburg.de/oss/Klausuren/
1.1 Grobe Gliederung¶
Motivation: Warum gibt man den Quelltext freiwillig her?
Vor- und Nachteile von offener und geschlossener Software
Definition der Begriffe „freie Software“ und „offene Software“
Geschichtliche Entwicklung (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
Die wichtigsten Lizenzen
Freie Programme, die man kennen muss (http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssProgramme)
Anwendungsbereiche der offenen Denkweise ausserhalb der Softwareentwicklung
Open-Innovation
Geschäftsmodelle mit freier Software
1.2 Termine¶
1. 27.3.
2. 3.4.
10.4. entfällt
3. 17.4.
4. 24.4.
5. 8.5.
6. 15.5.
7. 22.5.
29.5. Pyramid (frei)
8. 5.6. <=== Vorlesung (trotz Go-Out)
12.6.
19.6.
9. 26.6. <=== Projekttag!
10. 3.7.
8.7., 8:30 Klausur
1.3 Weiterführende Texte, Videos, Websites, etc.¶
(Material: http://hhoegl.informatik.hs-augsburg.de/oss)
Artikel aus der Zeitung
(Neu) Andreas Proschofsky, Linux statt Windows: Es ist Zeit für den Umstieg, November 2018, Der Standard. https://www.derstandard.de/story/2000090352691/linux-statt-windows-es-ist-zeit-fuer-den-umstieg?ref=article
Artikel in der SZ zum Thema Linux und Open-Source-Software statt Microsoft Windows (11.3.2018), behandelt Open-Xchange, gegruendet von Rafael Laguna.
Jonas Jansen, FAZ 20.3.2017, Mit offener Software gegen den globalen Überwachungsstaat (lokale Kopie), dreht sich auch um Open-Xchange.
Helmut Martin-Jung, Warum Open-Source-Software wichtig ist, sz 25.4.2017
Helmut Martin-Jung, SZ 7.4.2016, Open Source erobert die Welt.
Helmut Martin-Jung, SZ 6.8.2014, Das Netzwerk ist fuer alle da
Definition freie und offene Software
Markus Nüttgens, Open-Source-Software, Enzyklopaedie der Wirtschafsinformatik, 2014.
Volker Grassmuck, Freie Software. Zwischen Privat- und Gemeineigentum (siehe OssMaterial)
Probleme mit kommerzieller (geschlossener) Software
ARD Mediathek, Das Microsoft-Dilemma, 2018 (verfügbar bis 19.05.2018, Link zur Mediathek)
Freie Software
Sam Williams, Free as in Freedom. Richard Stallman’s Crusade for Free Software. 2002, http://www.oreilly.com/openbook/freedom
Linux
Linus Torvalds / David Diamond, Just for Fun: The Story of an Accidental Revolutionary, 2001.
Glyn Moody, Rebel Code: Linux and the Open Source Revolution, 2002.
Offene Innovation
C. Emde, Wie vermehren wir unser Wissen - früher und heute? (siehe OssMaterial)
Lizenzen
https://opensource.guide/legal (The Legal Side of Open Source, von github)
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
Git
Wie man freie Software macht
Karl Fogel, Producing Open-Source Software, https://producingoss.com
The Architecture of Open Source Applications
Gemeinschaften
Jono Bacon, The Art of Community, http://www.artofcommunityonline.org
Andere Kurse und Tutorials zum Thema „Freie und Open-Source Software“
Beginners in Open Source Week https://opensource.com/life/14/2/beginners-open-source-week
Verschiedenes
https://opensource.com (von Redhat)
Open-Source Yearbook 2017 und 2018 (siehe OssMaterial)
https://opensource.guide (github)
http://opensource.org (2018 ist der 20. Geburtstag!)
-
„OSS Watch provides unbiased advice and guidance on the use, development, and licensing of free software, open source software, and open source hardware.“
Vicky Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (Login/Passwort fuer Zugang ist Ihnen bekannt).
http://hhoegl.informatik.hs-augsburg.de/nonfree/Buecher/Pragprog-Opens-2018/
Andy Oram, Zaheda Bhorat, Open Source in the Enterprise, O’Reilly 2018 (26 Seiten).
http://hhoegl.informatik.hs-augsburg.de/nonfree/Buecher/Enterprise-OSS/enterprise-oss-book-2018.pdf
1.4 Hausaufgaben¶
1. Hausaufgabe
Maerz 2019
Schauen Sie sich nochmal ihre Vorlesungsnotizen an.
Was ist freie Software, was ist offene (engl. „open-source“) Software?
Achten Sie darauf welche Software Sie in einer Woche bei der taeglichen Arbeit verwenden. Welche Lizenz hat diese Software? Auf welchen Betriebssystemen läuft sie? Ist es geschlossene oder offene Software?
Schauen Sie sich den Film „Das Microsoft-Dilemma“ an und schreiben Sie sich die wesentlichen Aussagen auf.
Lesen Sie die SZ Artikel von Helmut Martin-Jung und notieren Sie in Stichpunkten den Inhalt.
Lesen Sie im Buch von Grassmuck den Abschnitt „Geschichte der freien Software“, Buch S. 177-232. Siehe http://hhoegl.informatik.hs-augsburg.de/oss/grassmuck.html.
Fragen dazu sind hier.
Machen Sie einen Zeitstrahl von 1960 bis jetzt und tragen Sie die Geschehnisse ein, über die wir in der ersten Vorlesung gesprochen haben.
Schaue Sie sich die Website https://irights.info an. Worum geht es dort?
Welche Lizenzen haben wir angesprochen? Was bedeutet das „gespiegelte“ C? Welchen Lizenzbaukasten kennen Sie?
Suchen Sie auf Youtube nach Videos von Richard M. Stallman über Free Software. Ein Beispiel wäre das Video1 (ca. 2 Min.) über die „four freedoms“. Ein anderes Video2 über „Free Software, Free Society“ (ca. 13 Min.).
2. Hausaufgabe
April 2019 (bis 17. April 2019)
In Moodle eintragen (https://moodle.hs-augsburg.de/course/view.php?id=2473)
3. Hausaufgabe
bis 24. April
Buch: http://hhoegl.informatik.hs-augsburg.de/nonfree/Buecher/Pragprog-Opens-2018
„Code Reading“
Interessantes (kleines) Projekt suchen. Ein paar Vorschlaege sind hier: http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssGliederung#code-reading
Quelltextverzeichnis untersuchen
Autoren
Lizenz
Was macht das Programm?
Wie lange existiert das Projekt?
Gibt es eine Homepage im WWW?
README, ChangeLog, Dokumentation, Doku-Format
Gibt es eine Manpage?
Welches Build-System wird verwendet?
Wie erzeugt man eine ausfuehrbare Datei?
Kann das Programm als Paket gepackt werden und in ein Repository gestellt werden? Wenn ja, welcher Pakettyp? (Beispiele: deb, rpm, wheel, snap, AppImage, etc.)
Wie gross ist das Projekt in etwa („lines of code“, https://dwheeler.com/sloccount)
Wie editiert man die Dateien? Ist eine IDE vorgesehen?
In welcher Programmiersprache (bzw. Sprachen) wurde das Projekt geschrieben?
Gibt es einen Coding-Style?
Ist Dokumentation im Quelltext enthalten?
Gibt es eine Autokonfiguration? Wenn ja, welche?
Gibt es eine Lokalisierung auf unterschiedliche Sprachen?
Fuer welche Betriebssysteme ist das Programm verwendbar?
Welches Versionskontrollsystem wird verwendet?
Welche Versionierungsschema wird verwendet?
Gibt es Forks des Projektes?
Wie ist der Workflow bei der Weiterentwicklung? Wie reicht man Aenderungen ein?
Gibt es eine Release-Planung?
Wird ein Test-Framework verwendet?
Gibt es einen Issue-Tracker ueber den man Kommentare und Fehlerbereichte einreichen kann?
Probieren Sie das Programm aus
Wie koennte man bei dem Projekt mitmachen?
Sonstige Anmerkungen
4. Hausaufgabe
April bis 8. Mai
Verbesserung der Hausaufgaben-Abgabe (Kopf, Formatierung, Inhalt)
„Code Reading“ von der letzten Hausaufgabe fortfuehren.
Vim Tutor. Vim installieren, dann auf der Shell das Kommand starten:
vimtutor
.Emacs Tutor. Emacs installieren, starten und dann das Tutorial aufrufen mit
C-h t
(das bedeutet die Tasten Strg und h druecken, dann Tasten loslassen und danach die Taste t druecken).Film „Codename Linux“
Film „Revolution OS“
VM Brasseur, Forge Your Future with Open Source, Pragmatic Programmers 2018 (Login/Passwort fuer Zugang ist Ihnen bekannt).
Sie sollten die ersten vier Kapitel lesen bis Seite 52.
http://hhoegl.informatik.hs-augsburg.de/nonfree/Buecher/Pragprog-Opens-2018/
Chemnitzer Linuxtag nach fuer unsere Veranstaltung verwertbaren Vortraegen absuchen
5. Hausaufgabe (ab. 8. Mai)
Film Software Rebellen - Die Macht des Teilens (u.a. mit Richard Stallman) https://www.arte.tv/de/videos/077346-000-A/software-rebellen/ von Philippe Borrel, Frankreich 2017
Verfügbar vom 02/05/2019 bis 05/06/2019
Dreiteiliges Tutorial ueber Git von Kedar Vijay Kulkarni (Redhat), 2018. Für Anfänger geeignet. Sie sollten statt dem im Text erwaehnten github Account unser Gitlab nutzen, das Sie unter https://r-n-d.informatik.hs-augsburg.de:8080 finden.
A step-by-step guide to Git
How to clone, modify, add, and delete files in Git
https://opensource.com/article/18/2/how-clone-modify-add-delete-git-files
A guide to git branching
Git Sitzungen nachvollziehen
http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssFragen#git-sitzung-1
http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssFragen#git-sitzung-2
http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssFragen#gitlab-beispiel-mit-workflow
Das Repository
https://r-n-d.informatik.hs-augsburg.de:8080/open-source/repo1
habe ich zum Experimentieren eingerichtet. Es ist bisher nur eine winzige Python Quelltextdatei und eine README.md drin. Ich bitte alle, irgendwelche Änderungen daran zu machen, die Sie entweder auf einem separaten Branch oder in einem Fork mir als Merge-Request zukommen lassen.
Im Buch von VM Brasseur, Forge Your Future with Open Source, das Kapitel 5 lesen (S. 53 bis 72). Das Thema ist „Make a Contribution“.
6. Hausaufgabe (ab. 15. Mai)
Software-Lizenzen: Zusammenfassen der wesentlichen Lizenzen in Ihrem Hausaufgabentext. Zu verwendende Quellen (beide sind von github):
http://choosealicense.com, https://choosealicense.com/appendix (alle Lizenzen in einer Tabelle)
„The Legal Side of Open Source“ https://opensource.guide/legal
Suchen Sie für jede Lizenz mindestens zwei Projekte, die unter dieser Lizenz stehen.
Finden Sie Gründe, warum die Apache 2.0 Lizenz besonders häufig bei freien Projekten verwendet wird, die auch in der kommerziellen Welt mitmischen, z.B. bei Android. Lesen Sie dazu den Text https://blog.chef.io/2009/08/11/why-we-chose-the-apache-license.
VM Brasseur, Forge Your Future with Open Source, Kapitel 6 (beitragen, ohne zu kodieren; Code Reviews schreiben; Software-Test; Sichten („triage“) und testen von Issues).
7. Hausaufgabe (ab. 31. Mai)
(Bitte das Gelesene auch grob in Ihrem Hausaufgabentext zusammenfassen)
Artikel von Stürmer und Myrach zum Thema „Community Building“ lesen (siehe Link Lesesmaterial oben)
Kapitel 2 („Der Einstieg“) im Buch von Fogel Producing OSS lesen
https://producingoss.com/de/getting-started.html
Wer mehr Zeit (freiwillig) investieren möchte, dem empfehle ich vor allem die folgenden, eher nicht-technischen Kapitel aus dem Buch:
Kapitel 4. Soziale und politische Infrastruktur https://producingoss.com/de/social-infrastructure.html
Kapitel 5. Geld https://producingoss.com/de/money.html
Kapitel 6. Communications https://producingoss.com/de/communications.html
Kapitel 8. Leitung von Freiwilligen https://producingoss.com/de/managing-volunteers.html
VM Brasseur, Forge Your Future with Open Source, Kapitel 7 und 8 (Interact with the community / It’s about the people)
Wenn ich noch ein dünnes Büchlein empfehlen sollte, das jeder Software-Entwickler kennen sollte, dann das hier (natürlich freiwillig):
Brian W. Fitzpatrick, Ben Collins-Sussman, Debugging Teams: Better Productivity Through Collaboration, O’Reilly 2015.
1.5 Studienarbeiten (nur bei Master)¶
Blender und 3D-Druck (MS)
JavaScript (IR)
Container-Virtualisierung (LM)
Open-Source und Microsoft (FT)
Usability in Open Source Software (KR)