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

1.1 Grobe Gliederung

  1. Motivation: Warum gibt man den Quelltext freiwillig her?

  2. Vor- und Nachteile von offener und geschlossener Software

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

  4. Geschichtliche Entwicklung (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?

  8. Typische Anwendungsbereiche

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

  10. Aufbauen von Gemeinschaften („community building“)

  11. Beispiele von erfolgreichen OSS-Projekten

  12. Ein wenig Urheberrecht

  13. Die wichtigsten Lizenzen

  14. Freie Programme, die man kennen muss (http://hhoegl.informatik.hs-augsburg.de/hhwiki/OssProgramme)

  15. Anwendungsbereiche der offenen Denkweise ausserhalb der Softwareentwicklung

  16. Open-Innovation

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

  1. Artikel in der SZ zum Thema Linux und Open-Source-Software statt Microsoft Windows (11.3.2018), behandelt Open-Xchange, gegruendet von Rafael Laguna.

  2. Jonas Jansen, FAZ 20.3.2017, Mit offener Software gegen den globalen Überwachungsstaat (lokale Kopie), dreht sich auch um Open-Xchange.

  3. Helmut Martin-Jung, Warum Open-Source-Software wichtig ist, sz 25.4.2017

  4. Helmut Martin-Jung, SZ 7.4.2016, Open Source erobert die Welt.

  5. Helmut Martin-Jung, SZ 6.8.2014, Das Netzwerk ist fuer alle da

Definition freie und offene Software

  1. https://de.wikipedia.org/wiki/Freie_Software

  2. Markus Nüttgens, Open-Source-Software, Enzyklopaedie der Wirtschafsinformatik, 2014.

  3. Volker Grassmuck, Freie Software. Zwischen Privat- und Gemeineigentum (siehe OssMaterial)

Probleme mit kommerzieller (geschlossener) Software

Freie Software

Linux

  1. Linus Torvalds / David Diamond, Just for Fun: The Story of an Accidental Revolutionary, 2001.

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

  1. https://opensource.guide/legal (The Legal Side of Open Source, von github)

  2. https://choosealicense.com (von github)

  3. https://de.creativecommons.org/index.php/was-ist-cc/

  4. http://www.ifross.org/lizenz-center

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

  1. https://guides.github.com

  2. https://tha.de/~hhoegl/home/GitSpicker

Wie man freie Software macht

  1. Karl Fogel, Producing Open-Source Software, https://producingoss.com

  2. The Architecture of Open Source Applications

    http://aosabook.org/en/index.html

Gemeinschaften

Andere Kurse und Tutorials zum Thema „Freie und Open-Source Software“

Verschiedenes

  1. https://opensource.com (von Redhat)

  2. Open-Source Yearbook 2017 und 2018 (siehe OssMaterial)

  3. https://opensource.guide (github)

  4. http://opensource.org (2018 ist der 20. Geburtstag!)

  5. http://oss-watch.ac.uk

    „OSS Watch provides unbiased advice and guidance on the use, development, and licensing of free software, open source software, and open source hardware.“

  6. 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/

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

  1. Maerz 2019

  1. Schauen Sie sich nochmal ihre Vorlesungsnotizen an.

  2. Was ist freie Software, was ist offene (engl. „open-source“) Software?

  3. 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?

  4. Schauen Sie sich den Film „Das Microsoft-Dilemma“ an und schreiben Sie sich die wesentlichen Aussagen auf.

  5. Lesen Sie die SZ Artikel von Helmut Martin-Jung und notieren Sie in Stichpunkten den Inhalt.

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

  7. Machen Sie einen Zeitstrahl von 1960 bis jetzt und tragen Sie die Geschehnisse ein, über die wir in der ersten Vorlesung gesprochen haben.

  8. Schaue Sie sich die Website https://irights.info an. Worum geht es dort?

  9. Welche Lizenzen haben wir angesprochen? Was bedeutet das „gespiegelte“ C? Welchen Lizenzbaukasten kennen Sie?

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

  1. April 2019 (bis 17. April 2019)

3. Hausaufgabe

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

  1. April bis 8. Mai

5. Hausaufgabe (ab. 8. Mai)

6. Hausaufgabe (ab. 15. Mai)

  • Software-Lizenzen: Zusammenfassen der wesentlichen Lizenzen in Ihrem Hausaufgabentext. Zu verwendende Quellen (beide sind von github):

    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)

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)