Compare commits
No commits in common. "fdfde540c86be597291052fdd0a72fb898d32125" and "d4fc37cd26a25da7068e42fbe92b9029d009c388" have entirely different histories.
fdfde540c8
...
d4fc37cd26
8 changed files with 63 additions and 295 deletions
|
@ -1 +0,0 @@
|
||||||
/book
|
|
|
@ -1,4 +0,0 @@
|
||||||
{
|
|
||||||
"printWidth": 88,
|
|
||||||
"proseWrap": "always"
|
|
||||||
}
|
|
|
@ -16,6 +16,5 @@ pipeline:
|
||||||
- talon_key
|
- talon_key
|
||||||
commands:
|
commands:
|
||||||
- apk add curl jq
|
- apk add curl jq
|
||||||
- curl -SsL -o upload.sh
|
- curl -SsL -o upload.sh "https://code.thetadev.de/ThetaDev/Talon/raw/branch/main/scripts/upload.sh"
|
||||||
"https://code.thetadev.de/ThetaDev/Talon/raw/branch/main/scripts/upload.sh"
|
|
||||||
- sh upload.sh book
|
- sh upload.sh book
|
||||||
|
|
16
README.md
16
README.md
|
@ -1,7 +1,5 @@
|
||||||
# WPF: Open Source Software
|
# WPF: Open Source Software
|
||||||
|
|
||||||
Dies ist die
|
|
||||||
|
|
||||||
**Kursseite:** http://hhoegl.informatik.hs-augsburg.de/hhwiki/OSS23
|
**Kursseite:** http://hhoegl.informatik.hs-augsburg.de/hhwiki/OSS23
|
||||||
|
|
||||||
## Build
|
## 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 serve # Starte Server mit Live-Update
|
||||||
mdbook build # Webseite bauen
|
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.
|
|
||||||
|
|
|
@ -4,4 +4,3 @@
|
||||||
|
|
||||||
- [Aufgabe 1](./aufgaben/aufgabe_1.md)
|
- [Aufgabe 1](./aufgaben/aufgabe_1.md)
|
||||||
- [Aufgabe 2](./aufgaben/aufgabe_2.md)
|
- [Aufgabe 2](./aufgaben/aufgabe_2.md)
|
||||||
- [Aufgabe 3](./aufgaben/aufgabe_3.md)
|
|
||||||
|
|
|
@ -4,13 +4,12 @@ Hausaufgaben A1 bis 28.3.:
|
||||||
|
|
||||||
## Software
|
## Software
|
||||||
|
|
||||||
Welche Programme verwenden Sie typischerweise für Ihre tägliche Arbeit auf Ihrem
|
Welche Programme verwenden Sie typischerweise für Ihre tägliche Arbeit auf Ihrem Rechner?
|
||||||
Rechner?
|
|
||||||
|
|
||||||
Stellen Sie die Programme mit ihrer Lizenz in einer Tabelle zusammen.
|
Stellen Sie die Programme mit ihrer Lizenz in einer Tabelle zusammen.
|
||||||
|
|
||||||
| Kategorie | Name | Lizenz |
|
| Kategorie | Name | Lizenz |
|
||||||
| ------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
| ------------------- | ------------------- | ------------------------------------------------------------ |
|
||||||
| Betriebssystem | Debian | Kernel: GPLv2<br />Pakete: hauptsächlich freie Lizenzen<br />einige proprietäre Pakete im nonfree-Repository, bspw. `firmware-amd-graphics` (Lizenz: `binary-redist-AMD-restrictive`) |
|
| Betriebssystem | Debian | Kernel: GPLv2<br />Pakete: hauptsächlich freie Lizenzen<br />einige proprietäre Pakete im nonfree-Repository, bspw. `firmware-amd-graphics` (Lizenz: `binary-redist-AMD-restrictive`) |
|
||||||
| Desktop Environment | KDE Plasma | GPL, LGPL |
|
| Desktop Environment | KDE Plasma | GPL, LGPL |
|
||||||
| Browser | Firefox | MPL (Mozilla Public License) |
|
| Browser | Firefox | MPL (Mozilla Public License) |
|
||||||
|
@ -32,15 +31,14 @@ Stellen Sie die Programme mit ihrer Lizenz in einer Tabelle zusammen.
|
||||||
| Instant-Messaging | Signal | GPLv3 (Desktop-Version: AGPL 3.0) |
|
| Instant-Messaging | Signal | GPLv3 (Desktop-Version: AGPL 3.0) |
|
||||||
| Online-Ausweis | AusweisApp | EUPL (Open Source Lizenz für die Europäische Union) |
|
| Online-Ausweis | AusweisApp | EUPL (Open Source Lizenz für die Europäische Union) |
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
## Geschichte freier Software
|
## Geschichte freier Software
|
||||||
|
|
||||||
Ergänzen Sie die Geschichte freier Software
|
Ergänzen Sie die Geschichte freier Software (<https://www.kritische-informatik.de/index.htm?fshistl.htm> siehe oben) ab 2000. Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren Open-Source Geschichte stattgefunden haben.
|
||||||
(<https://www.kritische-informatik.de/index.htm?fshistl.htm> siehe oben) ab 2000.
|
|
||||||
Recherchieren Sie selber, welche wichtigen Ereignisse in den letzten 20 Jahren
|
|
||||||
Open-Source Geschichte stattgefunden haben.
|
|
||||||
|
|
||||||
| Jahr | Ereignisse |
|
| Jahr | Ereignisse |
|
||||||
| ---- | ---------------------------------------------------------------------- |
|
| ---- | ------------------------------------------------------------ |
|
||||||
| 2001 | Linux 2.4, VLC, BitTorrent |
|
| 2001 | Linux 2.4, VLC, BitTorrent |
|
||||||
| 2002 | Kodi (damals Xbox Media Player, später XBMC), Arch Linux |
|
| 2002 | Kodi (damals Xbox Media Player, später XBMC), Arch Linux |
|
||||||
| 2003 | Linux 2.6 |
|
| 2003 | Linux 2.6 |
|
||||||
|
@ -81,29 +79,26 @@ Richard Stallman erklärt die 4 Freiheiten von Freier Software
|
||||||
|
|
||||||
https://www.youtube.com/c/FreeSoftwareFoundationEurope
|
https://www.youtube.com/c/FreeSoftwareFoundationEurope
|
||||||
|
|
||||||
Werbevideo der Free Software Foundation Europe, erklärt die oben genannten 4 Freiheiten
|
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.
|
||||||
und geht darauf ein, dass freie Software immer wichtiger wird, je mehr Lebensbereiche
|
|
||||||
von Computern bestimmt werden.
|
|
||||||
|
|
||||||
### Das Microsoft-Dilemma
|
### Das Microsoft-Dilemma
|
||||||
|
|
||||||
https://hhoegl.informatik.hs-augsburg.de/oss/ss20/Das-Microsoft-Dilemma-2018.mp4
|
https://hhoegl.informatik.hs-augsburg.de/oss/ss20/Das-Microsoft-Dilemma-2018.mp4
|
||||||
|
|
||||||
Die Dokumentation beschreibt die Problematik der Verwendung proprietärer Software im
|
Die Dokumentation beschreibt die Problematik der Verwendung proprietärer Software im öffentlichen
|
||||||
öffentlichen Dienst.
|
Dienst.
|
||||||
|
|
||||||
Die großflächige Verwendung nicht auditierbarer Software schafft Sicherheitslücken und
|
Die großflächige Verwendung nicht auditierbarer Software schafft Sicherheitslücken und ermöglicht
|
||||||
ermöglicht die Verbeitung von Viren wie der WannaCry-Ransomware. Zudem macht sich unser
|
die Verbeitung von Viren wie der WannaCry-Ransomware. Zudem macht sich unser Staat so von
|
||||||
Staat so von ausländischen Konzernen abhängig.
|
ausländischen Konzernen abhängig.
|
||||||
|
|
||||||
Es wird kritisiert, dass es keine fairen Ausschreibungen zur Wahl des Softwarepakets für
|
Es wird kritisiert, dass es keine fairen Ausschreibungen zur Wahl des Softwarepakets für Behörden
|
||||||
Behörden gibt, sondern die Verwendung von Microsoft-Produkten von Anfang an fest steht.
|
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
|
Es wird festgestellt, das die Verbeitung von Microsoft-Software viel mit Lobbyismus und
|
||||||
Parteipolitik und wenig mit technischen Vorteilen dieser Software zu tun hat.
|
Parteipolitik und wenig mit technischen Vorteilen dieser Software zu tun hat.
|
||||||
|
|
||||||
Als Beispiel wird die Münchener Stadtverwaltung genannt, die ihre IT auf Linux
|
Als Beispiel wird die Münchener Stadtverwaltung genannt, die ihre IT auf Linux umgestellt hat. 2017
|
||||||
umgestellt hat. 2017 wurde diese Umstellung nach einem Wechsel des Oberbürgermeisters
|
wurde diese Umstellung nach einem Wechsel des Oberbürgermeisters wieder rückgängig gemacht. Es gibt
|
||||||
wieder rückgängig gemacht. Es gibt Spekulationen, dass dies mit dem Umzug der Zentrale
|
Spekulationen, dass dies mit dem Umzug der Zentrale von Microsoft Deutschland nach München und dem
|
||||||
von Microsoft Deutschland nach München und dem stärkeren Einfluss des Konzerns zu tun
|
stärkeren Einfluss des Konzerns zu tun hat.
|
||||||
hat.
|
|
||||||
|
|
|
@ -2,40 +2,4 @@
|
||||||
|
|
||||||
Hausaufgaben A2 bis 03.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 <https://www.linux-praxis.de/geschichte-des-unix-systems>
|
|
||||||
|
|
|
@ -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)
|
|
||||||
<https://github.com/jellyfin/jellyfin>
|
|
||||||
|
|
||||||
Gibt es eine Homepage? <https://jellyfin.org/>
|
|
||||||
|
|
||||||
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 (<https://jellyfin.org>) 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: <https://sovereigntechfund.de>
|
|
||||||
- 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.
|
|
Loading…
Reference in a new issue