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
|
||||
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
|
||||
|
|
16
README.md
16
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.
|
||||
|
|
|
@ -4,4 +4,3 @@
|
|||
|
||||
- [Aufgabe 1](./aufgaben/aufgabe_1.md)
|
||||
- [Aufgabe 2](./aufgaben/aufgabe_2.md)
|
||||
- [Aufgabe 3](./aufgaben/aufgabe_3.md)
|
||||
|
|
|
@ -4,13 +4,12 @@ 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 |
|
||||
| ------------------- | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
| ------------------- | ------------------- | ------------------------------------------------------------ |
|
||||
| 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 |
|
||||
| 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) |
|
||||
| Online-Ausweis | AusweisApp | EUPL (Open Source Lizenz für die Europäische Union) |
|
||||
|
||||
|
||||
|
||||
## 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.
|
||||
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.
|
||||
|
||||
| Jahr | Ereignisse |
|
||||
| ---- | ---------------------------------------------------------------------- |
|
||||
| ---- | ------------------------------------------------------------ |
|
||||
| 2001 | Linux 2.4, VLC, BitTorrent |
|
||||
| 2002 | Kodi (damals Xbox Media Player, später XBMC), Arch Linux |
|
||||
| 2003 | Linux 2.6 |
|
||||
|
@ -81,29 +79,26 @@ Richard Stallman erklärt die 4 Freiheiten von Freier 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.
|
||||
|
|
|
@ -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 <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