diff --git a/.prettierignore b/.prettierignore
deleted file mode 100644
index 5a0bf03..0000000
--- a/.prettierignore
+++ /dev/null
@@ -1 +0,0 @@
-/book
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 0079043..0000000
--- a/.prettierrc
+++ /dev/null
@@ -1,4 +0,0 @@
-{
- "printWidth": 88,
- "proseWrap": "always"
-}
diff --git a/.woodpecker.yml b/.woodpecker.yml
index d263bff..b819693 100644
--- a/.woodpecker.yml
+++ b/.woodpecker.yml
@@ -16,6 +16,5 @@ pipeline:
- talon_key
commands:
- apk add curl jq
- - curl -SsL -o upload.sh
- "https://code.thetadev.de/ThetaDev/Talon/raw/branch/main/scripts/upload.sh"
+ - curl -SsL -o upload.sh "https://code.thetadev.de/ThetaDev/Talon/raw/branch/main/scripts/upload.sh"
- sh upload.sh book
diff --git a/README.md b/README.md
index 89dba47..86fbe3c 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,5 @@
# WPF: Open Source Software
-Dies ist die
-
**Kursseite:** http://hhoegl.informatik.hs-augsburg.de/hhwiki/OSS23
## Build
@@ -12,17 +10,3 @@ Die Dokumentation wird mit mdBook (https://rust-lang.github.io/mdBook/) gebaut.
mdbook serve # Starte Server mit Live-Update
mdbook build # Webseite bauen
```
-
-## Markdown formatieren
-
-Das Projekt enthält eine Prettier-Konfiguration, um den Markdown-Text zu formatieren
-(automatische Zeilenumbrüche).
-
-```bash
-npx prettier -w .
-```
-
-## Lizenz
-
-Die Dokumentation ist unter der Creative Commons Attribution-ShareAlike 4.0-Lizenz
-veröffentlicht.
diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index aac5072..b003c15 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -4,4 +4,3 @@
- [Aufgabe 1](./aufgaben/aufgabe_1.md)
- [Aufgabe 2](./aufgaben/aufgabe_2.md)
-- [Aufgabe 3](./aufgaben/aufgabe_3.md)
diff --git a/src/aufgaben/aufgabe_1.md b/src/aufgaben/aufgabe_1.md
index e9ae84d..2872822 100644
--- a/src/aufgaben/aufgabe_1.md
+++ b/src/aufgaben/aufgabe_1.md
@@ -4,106 +4,101 @@ Hausaufgaben A1 bis 28.3.:
## Software
-Welche Programme verwenden Sie typischerweise für Ihre tägliche Arbeit auf Ihrem
-Rechner?
+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.
-| Kategorie | Name | Lizenz |
-| ------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Kategorie | Name | Lizenz |
+| ------------------- | ------------------- | ------------------------------------------------------------ |
| Betriebssystem | Debian | Kernel: GPLv2
Pakete: hauptsächlich freie Lizenzen
einige proprietäre Pakete im nonfree-Repository, bspw. `firmware-amd-graphics` (Lizenz: `binary-redist-AMD-restrictive`) |
-| Desktop Environment | KDE Plasma | GPL, LGPL |
-| Browser | Firefox | MPL (Mozilla Public License) |
-| IDE | VSCodium | MIT |
-| IDE | IntelliJ/PyCharm | Community-Version: Apache 2.0, Ultimate-Version: JetBrains User Agreement |
-| Markdown-Editor | Typora | Typora End User License Agreement |
-| Notizen | Joplin | AGPL 3.0 |
-| Git-Hosting | Gitea | MIT |
-| Git-Hosting | Gitlab | Community Edition: MIT, Enterprise Edition: GitLab Enterprise Edition (EE) license, source-available |
-| Bildbearbeitung | GIMP | GPLv3 |
-| 3D-Druck | PrusaSlicer | AGPL 3.0 |
-| Platinendesign | KiCad | GPLv3 |
-| 3D-Modellierung | Autodesk Fusion 360 | Autodesk License and Services Agreement |
-| Mediaplayer | VLC | GPLv2 |
-| Mediaserver | Jellyfin | GPLv2 |
-| Mediacenter | Kodi | GPLv2 |
-| Audiobook-Server | Audiobookshelf | GPLv3 |
-| YouTube-Client | NewPipe | GPLv3 |
-| Instant-Messaging | Signal | GPLv3 (Desktop-Version: AGPL 3.0) |
-| Online-Ausweis | AusweisApp | EUPL (Open Source Lizenz für die Europäische Union) |
+| Desktop Environment | KDE Plasma | GPL, LGPL |
+| Browser | Firefox | MPL (Mozilla Public License) |
+| IDE | VSCodium | MIT |
+| IDE | IntelliJ/PyCharm | Community-Version: Apache 2.0, Ultimate-Version: JetBrains User Agreement |
+| Markdown-Editor | Typora | Typora End User License Agreement |
+| Notizen | Joplin | AGPL 3.0 |
+| Git-Hosting | Gitea | MIT |
+| Git-Hosting | Gitlab | Community Edition: MIT, Enterprise Edition: GitLab Enterprise Edition (EE) license, source-available |
+| Bildbearbeitung | GIMP | GPLv3 |
+| 3D-Druck | PrusaSlicer | AGPL 3.0 |
+| Platinendesign | KiCad | GPLv3 |
+| 3D-Modellierung | Autodesk Fusion 360 | Autodesk License and Services Agreement |
+| Mediaplayer | VLC | GPLv2 |
+| Mediaserver | Jellyfin | GPLv2 |
+| Mediacenter | Kodi | GPLv2 |
+| Audiobook-Server | Audiobookshelf | GPLv3 |
+| YouTube-Client | NewPipe | GPLv3 |
+| Instant-Messaging | Signal | GPLv3 (Desktop-Version: AGPL 3.0) |
+| Online-Ausweis | AusweisApp | EUPL (Open Source Lizenz für die Europäische Union) |
+
+
## Geschichte freier Software
-Ergänzen Sie die Geschichte freier Software
-( siehe oben) ab 2000.
-Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren
-Open-Source Geschichte stattgefunden haben.
+Ergänzen Sie die Geschichte freier Software ( siehe oben) ab 2000. Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren Open-Source Geschichte stattgefunden haben.
-| Jahr | Ereignisse |
-| ---- | ---------------------------------------------------------------------- |
-| 2001 | Linux 2.4, VLC, BitTorrent |
-| 2002 | Kodi (damals Xbox Media Player, später XBMC), Arch Linux |
-| 2003 | Linux 2.6 |
-| 2004 | NGINX 0.1.0, Ubuntu 4.10 |
-| 2005 | Git |
-| 2006 | Linux Mint, qBittorrent |
-| 2007 | GPLv3 |
-| 2008 | GitHub |
-| 2009 | Golang |
-| 2010 | F-Droid |
-| 2011 | Linux 3.0, GitLab |
-| 2012 | OctoPrint |
-| 2013 | Docker |
-| 2014 | Signal, Kubernetes, Heartbleed |
-| 2015 | Linux 4.0, Rust 1.0, NewPipe, VS Code |
-| 2016 | Gitea (Gogs-Fork), Mastodon |
-| 2017 | WebAssembly |
+| Jahr | Ereignisse |
+| ---- | ------------------------------------------------------------ |
+| 2001 | Linux 2.4, VLC, BitTorrent |
+| 2002 | Kodi (damals Xbox Media Player, später XBMC), Arch Linux |
+| 2003 | Linux 2.6 |
+| 2004 | NGINX 0.1.0, Ubuntu 4.10 |
+| 2005 | Git |
+| 2006 | Linux Mint, qBittorrent |
+| 2007 | GPLv3 |
+| 2008 | GitHub |
+| 2009 | Golang |
+| 2010 | F-Droid |
+| 2011 | Linux 3.0, GitLab |
+| 2012 | OctoPrint |
+| 2013 | Docker |
+| 2014 | Signal, Kubernetes, Heartbleed |
+| 2015 | Linux 4.0, Rust 1.0, NewPipe, VS Code |
+| 2016 | Gitea (Gogs-Fork), Mastodon |
+| 2017 | WebAssembly |
| 2018 | GitHub von Microsoft übernommen, Jellyfin (Fork von Emby), ActivityPub |
-| 2019 | Linux 5.0 |
-| 2020 | Linux-Marktanteil > 3% |
-| 2021 | Log4j vulnerability, Audiobookshelf 1.0 |
-| 2022 | Linux 6.0, Forgejo (Gitea-Fork), Internet Explorer EOL |
+| 2019 | Linux 5.0 |
+| 2020 | Linux-Marktanteil > 3% |
+| 2021 | Log4j vulnerability, Audiobookshelf 1.0 |
+| 2022 | Linux 6.0, Forgejo (Gitea-Fork), Internet Explorer EOL |
## Videos
### 4 Freedoms
-http://www.youtube.com/watch?v=uJi2rkHiNqg
+ http://www.youtube.com/watch?v=uJi2rkHiNqg
Richard Stallman erklärt die 4 Freiheiten von Freier Software
0. Freiheit, das Programm beliebig auszuführen
1. Freiheit, den Code des Programms ansehen und zu verändern
-2. Freiheit, Kopien des Programms weiterzuverbreiten
+2. Freiheit, Kopien des Programms weiterzuverbreiten
3. Freiheit, Kopien des veränderten Programms weiterzuverbreiten
### What is Free Software
https://www.youtube.com/c/FreeSoftwareFoundationEurope
-Werbevideo der Free Software Foundation Europe, erklärt die oben genannten 4 Freiheiten
-und geht darauf ein, dass freie Software immer wichtiger wird, je mehr Lebensbereiche
-von Computern bestimmt werden.
+Werbevideo der Free Software Foundation Europe, erklärt die oben genannten 4 Freiheiten und geht darauf ein, dass freie Software immer wichtiger wird, je mehr Lebensbereiche von Computern bestimmt werden.
### Das Microsoft-Dilemma
https://hhoegl.informatik.hs-augsburg.de/oss/ss20/Das-Microsoft-Dilemma-2018.mp4
-Die Dokumentation beschreibt die Problematik der Verwendung proprietärer Software im
-öffentlichen Dienst.
+Die Dokumentation beschreibt die Problematik der Verwendung proprietärer Software im öffentlichen
+Dienst.
-Die großflächige Verwendung nicht auditierbarer Software schafft Sicherheitslücken und
-ermöglicht die Verbeitung von Viren wie der WannaCry-Ransomware. Zudem macht sich unser
-Staat so von ausländischen Konzernen abhängig.
+Die großflächige Verwendung nicht auditierbarer Software schafft Sicherheitslücken und ermöglicht
+die Verbeitung von Viren wie der WannaCry-Ransomware. Zudem macht sich unser Staat so von
+ausländischen Konzernen abhängig.
-Es wird kritisiert, dass es keine fairen Ausschreibungen zur Wahl des Softwarepakets für
-Behörden gibt, sondern die Verwendung von Microsoft-Produkten von Anfang an fest steht.
+Es wird kritisiert, dass es keine fairen Ausschreibungen zur Wahl des Softwarepakets für Behörden
+gibt, sondern die Verwendung von Microsoft-Produkten von Anfang an fest steht.
Es wird festgestellt, das die Verbeitung von Microsoft-Software viel mit Lobbyismus und
Parteipolitik und wenig mit technischen Vorteilen dieser Software zu tun hat.
-Als Beispiel wird die Münchener Stadtverwaltung genannt, die ihre IT auf Linux
-umgestellt hat. 2017 wurde diese Umstellung nach einem Wechsel des Oberbürgermeisters
-wieder rückgängig gemacht. Es gibt Spekulationen, dass dies mit dem Umzug der Zentrale
-von Microsoft Deutschland nach München und dem stärkeren Einfluss des Konzerns zu tun
-hat.
+Als Beispiel wird die Münchener Stadtverwaltung genannt, die ihre IT auf Linux umgestellt hat. 2017
+wurde diese Umstellung nach einem Wechsel des Oberbürgermeisters wieder rückgängig gemacht. Es gibt
+Spekulationen, dass dies mit dem Umzug der Zentrale von Microsoft Deutschland nach München und dem
+stärkeren Einfluss des Konzerns zu tun hat.
diff --git a/src/aufgaben/aufgabe_2.md b/src/aufgaben/aufgabe_2.md
index fb08113..55718d5 100644
--- a/src/aufgaben/aufgabe_2.md
+++ b/src/aufgaben/aufgabe_2.md
@@ -2,40 +2,4 @@
Hausaufgaben A2 bis 03.4.:
-## Unix-Geschichte
-Bell Labs entwickelt zusammen mit dem MIT und General Electric ein
-Mainframe-Betriebssystem namens Multics.
-
-**1969** Ken Thompson, der an Multics gearbeitet hatte, entschließt sich dazu, sein
-eigenes Betriebsssytem zu entwickeln. Das neue Betriebssystem wurde Unix genannt, da es
-deutlich kleiner und einfacher als Multics war. Entwickelt wurde es auf dem Minicomputer
-[PDP-7]([PDP-7 - Wikipedia](https://en.wikipedia.org/wiki/PDP-7)).
-
-**1974** Thompson und Ritchie veröfffentlichten einen Artikel über Unix und stellten den
-Quellcode der nun fünften Version frei zur Verfügung. Unix stieß bei Universitäten auf
-großes Interesse, sodass einige von ihnen an eigenen Versionen des Projekts arbeiteten.
-Beispielsweise veröffentlichte die University of California in Berkley 1979 die
-BSD-Version von Unix.
-
-**1978** Unix wird das erste Betriebssystem, das für 32bit-Rechnerarchitekturen
-verfügbar ist.
-
-**1983** AT&T veröffentlicht die kommerzielle Unix-Version SystemV, nach dem sie als
-Nachfolger der Bell Labs das Projekt übernommen hatten.
-
-**1984** Siemens veröffentlicht die Unix-Variante SINIX.
-
-**1986** Der POSIX (Portable Operating System based on UNIX) Standard wird etabliert.
-POSIX spezifiziert die Programmierschnittstelle zwichen Betriebssystem und Anwendungen
-und sorgt dafür, dass die verschiedenen Unix-Derivate miteinander kompatibel sind.
-
-**1992** GNU/Linux wird veröffentlicht.
-
-**2000** Apple veröffentlicht das Open Source-Betriebssystem Darwin, basierend auf
-NeXTSTEP, BSD und dem Mach Kernel. Das Betriebssystem wird zur Grundlage von Apple's
-proprietären Betriebssystemen macOS und iOS.
-
-### Quellen
-
-- Geschichte des Unix-Systems
diff --git a/src/aufgaben/aufgabe_3.md b/src/aufgaben/aufgabe_3.md
deleted file mode 100644
index 3bb8dee..0000000
--- a/src/aufgaben/aufgabe_3.md
+++ /dev/null
@@ -1,168 +0,0 @@
-# Aufgabe 3
-
-## Code-Reading: Jellyfin
-
-Was steht in der README.md?
-
-> - Kurze Bescheibung des Projekts
-> - Links zur Dokumentationsseite
-> - Übersetzungsstatus
-> - Anleitung zum Aufsetzen der Entwicklungsumgebung
-
-Projekt aktiv oder verwaist? Wie aktiv war es in letzter Zeit?
-
-> Jellyfin wird aktiv entwickelt, der letzte Commit ist unter 24 Stunden alt.
-
-Wer hat es sich ursprünglich ausgedacht?
-
-> Jellyfin ist ein Fork des Emby Media Servers unter der Leitung von Joshua Boniface.
-
-Wer ist der aktuelle Maintainer?
-
-> Joshua Boniface
-
-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?
-
-> Server: Linux, Windows, MacOS Client: Web, Linux, Windows, MacOS, Android, iOS, Roku
-
-Unter welcher Lizenz steht das Programm?
-
-> GPL 2.0
-
-Ist es ein Kommandozeilen- oder Grafikprogramm?
-
-> Jellyfin Server ist eine Webanwendung.
-
-Wie lange existiert es?
-
-> Emby existiert seit 2015, der Fork Jellyfin wurde 2018 als Reaktion auf die
-> Veröffentlichung von Emby 4 unter einer proprietären Lizenz erstellt.
-
-Wie viele haben in etwa daran gearbeitet?
-
-> 880 Beitragende für das Backend, 1300 Beitragende für die Web-UI
-
-Welche Programmiersprache(n) wird/werden verwendet? (Tipp:
-https://github.com/XAMPPRocky/tokei)
-
-> Backend: C#, Frontend: Javascript/Typescript
-
-Welches Konfigurations- bzw. Build-System wird verwendet?
-
-> Backend: dotnet SDK, Frontend: webpack
-
-Wird eine IDE zum Entwickeln verwendet?
-
-> Visual Studio Code, JetBrains ReSharper
-
-Gibt es eine Dokumentation, wenn ja, in welchem Textverarbeitungssystem wurde sie
-geschrieben?
-
-> Ja, die Dokumentationsseite () ist in Markdown geschrieben und
-> wird mit Docusaurus gebaut.
-
-Wie viele Anwender verwenden das Programm ungefähr? (schwer herauszubekommen)
-
-> Jellyfin beinhaltet keine Telemetrie, deswegen gibt es keine Nutzerzahlen. Stattdessen
-> habe ich andere andere Metriken zur Beliebtheit des Projekts aufgelistet:
->
-> - 22k Stars auf Github
-> - 200M Pulls auf Docker
-> - das Jellyfin-Subreddit hat 45k Mitglieder
-
-Gibt es Abspaltungen ("forks")?
-
-> Jellyfin stellt einen Fork des Emby Media Servers dar. Von Jellyfin selbst gibt es
-> keine nennenswerten Forks. Es gibt jedoch ein Pluginsystem, um fehlende Features
-> hinzuzufügen (bspw. weitere Datenquellen, LDAP-Authentifizierung, Vorspann von Serien
-> automatisch überspringen etc.)
-
-Wie kann man mitmachen bzw. Änderungen einreichen?
-
-> - Übersetzungen können auf einer projekteigenen Weblate-Instanz eingegeben werden
-> - Codeänderungen werden über Pull Requests auf GitHub entgegengenommen
-
-Wie werden Branches in Git verwendet? (git Workflow bei der Entwicklung)
-
-> - Änderungen von Teammitgliedern werden in eigenen Feature-Branches geführt und
-> anschließend in den Master-Branch gemerged.
-> - Für jedes Feature-Release wird ein eigener Branch angelegt (z.B. `release-10.8.z`).
-
-Wie kann man das Programm installieren? (selber kompilieren, binary, snap, appimage,
-container, ...)
-
-> - Selbst mit dotnet SDK und webpack kompilieren
-> - Binary (Download von der Webseite)
-> - deb/rpm-Package von Jellyfin's eigenem Repository
-> - Container: offizielle Version von Jellyfin (`jellyfin/jellyfin`),
-> linuxserver.io-Version (`linuxserver/jellyfin`)
-
-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)?
-
-> Jellyfin ist in 84 Sprachen übersetzt. Die Internationalisierung wurde mit
-> JSON-Dateien realisiert, auf eine spezielle Library wie gettext wurde verzichtet.
-> Übersetzungen können auf einer eigenen Weblate-Instanz vorgenommen werden und werden
-> automatisch in die Repositories eingepflegt.
-
-## Projekte und Organisationen mit Open- im Namen
-
-- OpenStreetMap (Durch Crowdsourcing erstellte Weltkarte unter der Open Database
- License)
-- Open Office (freie Office-Suite, aktuell als Fork _LibreOffice_ weitergeführt)
-- OpenGL (Plattformunabhängige Grafikbibliothek)
-- OpenSearch (von AWS entwickelter Fork von ElaticSearch nach deren Wechsel zur SSPL
- Lizenz)
-- OpenAI (bis auf wenige Ausnahmen wie Whisper ist deren Software proprietär, der Name
- deswegen irreführend)
-
-## Freemium
-
-Freemium ist ein Kofferwort aus den Begriffen "Free" und "Premium" und bezeichnet ein
-kostenfreies nutzbares Produkt, das mit kostenpflichtigen Angeboten aufgewertet werden
-kann.
-
-Dieses Geschäftsmodell ist bei Software sehr beliebt, da viele Nutzer nicht dazu bereit
-sind, initial für Software zu bezahlen. Hat der Nutzer die Software jedoch in seinen
-Workflow oder sein Leben integriert, ist er viel eher dazu bereit, für mehr Features zu
-bezahlen.
-
-Das Freemium-Konzept existiert auch bei einigen kommerziellen Open-Source-Projekten.
-Hierbei wird die kostenfreie Basisanwendung unter einer Open Source Lizenz
-veröffentlicht, während der Quellcode für die kostenpflichtige Premiumversion entweder
-geschlossen bleibt oder unter einer proprietären Lizent veröffentlicht wird
-(source-available).
-
-Zu den kostenpflichtigen Features gehörten oft solche Features, die vorwiegend von
-Unternehmen eingesetzt werden (bspw. Single Sign On oder eine erweiterte
-Benutzerrechteverwaltung).
-
-Beispiele für Freemium-Open-Source-Projekte sind JetBrains IntelliJ/PyCharm sowie
-Gitlab.
-
-## Artikel: Steuermillionen für Hobbyprojekte
-
-- Das Projekt "Sovereign Tech Fund" fördert ausgewählte Open-Source-Projekte
-- STF erhielt bis Ende 2023 13 Millionen Euro vom Wirtschaftsministerium
-- Webseite des Projekts:
-- Geförderte Projekte:
- - RubyGems (Paketmanager für Ruby)
- - OpenBGPd (offene Implementation des Border Gateway Protocol für Internetrouter)
- - OpenSSH (Tool zur Fernsteuerung und zum Datenaustausch mit anderen Rechnern im
- Netzwerk)
- - curl (HTTP-Client)
- - OpenMLS (Library für End2End-verschlüsselte Nachrichtenübertragung)
- - Sequoia PGP (Rust-Implementierung der PGP-Verschlüsselungssoftware)
- - OpenPGP.js (Javascript-Implementierung der PGP-Verschlüsselungssoftware)
- - Fortran Package Manager
- - WireGuard (VPN-Software)
-- Es wurden keine innovativen Prestigeprojekte gefördert, sondern Projekte, die wichtige
- Bestandteile von IT-Infrastruktur darstellen.
-- Mangelnde Pflege dieser Komponenten kann zu flächendeckender Verwundbarkeit von
- IT-Systemen führen, was durch die Log4Shell-Vulnerability deutlich wurde.