From efce3cfd4d362f8ed59a2519d7b652fb9f5f5f81 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Tue, 18 Apr 2023 15:34:55 +0200 Subject: [PATCH 1/4] aufgabe3: code reading --- src/SUMMARY.md | 1 + src/aufgaben/aufgabe_3.md | 81 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 82 insertions(+) create mode 100644 src/aufgaben/aufgabe_3.md diff --git a/src/SUMMARY.md b/src/SUMMARY.md index b003c15..aac5072 100644 --- a/src/SUMMARY.md +++ b/src/SUMMARY.md @@ -4,3 +4,4 @@ - [Aufgabe 1](./aufgaben/aufgabe_1.md) - [Aufgabe 2](./aufgaben/aufgabe_2.md) +- [Aufgabe 3](./aufgaben/aufgabe_3.md) diff --git a/src/aufgaben/aufgabe_3.md b/src/aufgaben/aufgabe_3.md new file mode 100644 index 0000000..0ff0c7d --- /dev/null +++ b/src/aufgaben/aufgabe_3.md @@ -0,0 +1,81 @@ +# 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. From 3c5c0d3ed0bf924c3c9b32ee8eb1f22442e77375 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Tue, 18 Apr 2023 16:21:44 +0200 Subject: [PATCH 2/4] aufgabe3: open, freemium --- src/aufgaben/aufgabe_3.md | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/aufgaben/aufgabe_3.md b/src/aufgaben/aufgabe_3.md index 0ff0c7d..34a0f1e 100644 --- a/src/aufgaben/aufgabe_3.md +++ b/src/aufgaben/aufgabe_3.md @@ -79,3 +79,25 @@ Wie kann man das Programm installieren? (selber kompilieren, binary, snap, appim 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. From 34e5ffc7bc4b9ee1aad89f055053826b839d7c53 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Mon, 24 Apr 2023 19:01:27 +0200 Subject: [PATCH 3/4] Markdown formatiert, Aufgabe 2 --- .prettierignore | 1 + .prettierrc | 4 ++ .woodpecker.yml | 3 +- README.md | 16 +++++ src/aufgaben/aufgabe_1.md | 129 ++++++++++++++++++++------------------ src/aufgaben/aufgabe_2.md | 36 +++++++++++ 6 files changed, 126 insertions(+), 63 deletions(-) create mode 100644 .prettierignore create mode 100644 .prettierrc diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..5a0bf03 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +/book diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..0079043 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,4 @@ +{ + "printWidth": 88, + "proseWrap": "always" +} diff --git a/.woodpecker.yml b/.woodpecker.yml index b819693..d263bff 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -16,5 +16,6 @@ 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 86fbe3c..89dba47 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # WPF: Open Source Software +Dies ist die + **Kursseite:** http://hhoegl.informatik.hs-augsburg.de/hhwiki/OSS23 ## Build @@ -10,3 +12,17 @@ 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/aufgaben/aufgabe_1.md b/src/aufgaben/aufgabe_1.md index 2872822..e9ae84d 100644 --- a/src/aufgaben/aufgabe_1.md +++ b/src/aufgaben/aufgabe_1.md @@ -4,101 +4,106 @@ 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 55718d5..fb08113 100644 --- a/src/aufgaben/aufgabe_2.md +++ b/src/aufgaben/aufgabe_2.md @@ -2,4 +2,40 @@ 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 From fdfde540c86be597291052fdd0a72fb898d32125 Mon Sep 17 00:00:00 2001 From: ThetaDev Date: Mon, 24 Apr 2023 19:52:48 +0200 Subject: [PATCH 4/4] Aufgabe 3 --- src/aufgaben/aufgabe_3.md | 125 +++++++++++++++++++++++++++++--------- 1 file changed, 95 insertions(+), 30 deletions(-) diff --git a/src/aufgaben/aufgabe_3.md b/src/aufgaben/aufgabe_3.md index 34a0f1e..3bb8dee 100644 --- a/src/aufgaben/aufgabe_3.md +++ b/src/aufgaben/aufgabe_3.md @@ -3,101 +3,166 @@ ## 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. + +> 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? - +Gibt es eine Homepage? Für welche Betriebssysteme ist es geeignet? -> Server: Linux, Windows, MacOS -> Client: Web, Linux, Windows, MacOS, Android, iOS, Roku + +> 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. + +> 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) +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. +> 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: + +> 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.) + +> 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. + +> - Ä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, ...) +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`) +> - 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. +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) +- 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) - +- 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. +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. +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). +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). +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. +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.