Aufgabe 1

Aufgabe 1 #

Verwendete Software und ihre Lizenzen #

ProgrammLizenz
LinuxGPLv2
AndroidApache 2.0, GPLv2
DockerApache 2.0
IncusApache 2.0
nixGPLv2
PythonThe Python Software Foundation License (PSFL)
MoodleGPL
RustApache 2.0, MIT License
NushellMIT License
FirefoxMozilla Public License
ChromiumBSD-Lizenz
ReadYouGPLv3
WhatsAppproprietäre Lizenz
SignalGPLv3
SynapseApache 2.0
FluffyChatGPLv3
hugoApache 2.0
OpenSSHBSD-Lizenz
helixMozilla Public License 2.0

Kapitel 1 (Foundations) #

Grundlagen

Kapitel 2 (What Free and Open Source can do for You) #

Nutzen

Kapitel 3 (Prepare to contribute) #

Teilnehmen

Kapitel 4 (Find a project) #

Ein Projekt finden

4 Freedoms #

Video

Vier Freiheiten

What is Free Software (Open Source)? #

Video

Diff und Patch #

diff erstellt eine Patch-Datei, die die Unterschiede zwischen zwei Dateien beschreibt. patch liest die Patch-Datei und wendet die Änderungen auf eine andere Datei an.

  • Erstellen eines diffs: diff -aru main.c new_main.c > patch.diff.
  • Patch anwenden: patch -i dwm-center-6.2.diff

Beispiel:

  • Das Programm dwm von suckless nutzt patches als Plugin System
  • Man laedt zuerst eine .diff-Datei herunter
  • Mit dem Befehl patch -i <file>.diff wendet man den Patch an
  • Es kann auch zu Konflikten kommen, diese muessen dann haendisch geloest werden
  • Konflikte kann man in den Dateien .diff.rej sehen und dann auf die tatsaechliche Datei anwenden
# dwm Repository clonen
git clone https://git.suckless.org/dwm
cd dwm
# Patch herunterladen
curl -O https://dwm.suckless.org/patches/center/dwm-center-6.2.diff
# Patch anwenden
patch -i dwm-center-6.2.diff
# dwm mit patch kompilieren, output ist ./dwm
make