Aufgabe 1 #
Verwendete Software und ihre Lizenzen #
Programm | Lizenz |
---|---|
Linux | GPLv2 |
Android | Apache 2.0, GPLv2 |
Docker | Apache 2.0 |
Incus | Apache 2.0 |
nix | GPLv2 |
Python | The Python Software Foundation License (PSFL) |
Moodle | GPL |
Rust | Apache 2.0, MIT License |
Nushell | MIT License |
Firefox | Mozilla Public License |
Chromium | BSD-Lizenz |
ReadYou | GPLv3 |
proprietäre Lizenz | |
Signal | GPLv3 |
Synapse | Apache 2.0 |
FluffyChat | GPLv3 |
hugo | Apache 2.0 |
OpenSSH | BSD-Lizenz |
helix | Mozilla Public License 2.0 |
Kapitel 1 (Foundations) #
Kapitel 2 (What Free and Open Source can do for You) #
Kapitel 3 (Prepare to contribute) #
Kapitel 4 (Find a project) #
4 Freedoms #
What is Free Software (Open Source)? #
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 nutztpatches
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