Files
linux-on-android-without-root/CONTRIBUTING.md
T
StefanandClaude Opus 5 ad2c98443b Phase 0: Repo-Gerüst, Dokumentation und Machbarkeits-Spike
Vier Beweise, die das Projekt tragen, als eigenständig lauffähige Skripte:

  S1  Plasma Mobile in proot über genestetes kwin_wayland im X11-Backend.
      Fällt selbsttätig auf startplasmamobile und dann auf XFCE zurück, damit
      ein Fehlschlag eindeutig Plasma zuzuordnen ist und nicht der Umgebung.
  S2  Mikrofon über PulseAudio mit OpenSL-Quelle. Misst den Pegel statt nur die
      Dateigröße — der typische Fehlschlag ist eine formal korrekte WAV-Datei
      voller Stille.
  S3  Virtuelle PipeWire-Kamera per GStreamer-pipewiresink, ohne Kernel-Modul.
      Setzt die Firefox-Einstellung vorab, damit der Test nicht an einem
      vergessenen Häkchen scheitert.
  S4  Intent-Handoff mit lauffähiger Mini-Bridge: xdg-open-Handler für geo:,
      tel: und sms:, Token-Authentifizierung, feste Liste erlaubter Schemata.

provision/provision.sh setzt die Hintergrundbeschränkungen per ADB und benennt,
was ADB nicht kann und von Hand erledigt werden muss.

Dokumentiert sind auch die sieben verworfenen Wege — Waydroid, AVF, QEMU, SIP,
APK-Daten-Redirect, Fenster-Durchreichung und der Android-Server — mit Belegen,
damit sie nicht erneut durchdacht werden müssen.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-09 17:25:36 +02:00

43 lines
2.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Mitarbeiten
Das Projekt ist noch in **Phase 0** (Machbarkeits-Spike). Bis die vier Beweise S1S4
stehen, kann sich die Architektur noch grundlegend ändern — Beiträge sind trotzdem
willkommen, vor allem Geräte-Meldungen.
## Am hilfreichsten gerade jetzt
**Geräte-Meldungen.** Lauf die Skripte aus [`spike/`](spike/) auf deinem Gerät und
melde das Ergebnis, egal ob es funktioniert hat. Ein sauber dokumentierter Fehlschlag
ist genauso wertvoll wie ein Erfolg — beides geht in die Kompatibilitätsliste.
## Ehernes Gesetz
Zwei Regeln, die keine Ausnahme kennen. Ein Beitrag, der eine davon bricht, wird
abgelehnt, egal wie nützlich er sonst ist:
1. **Der Bridge-Layer auf der Android-Seite ist zustandslos.** Er speichert keine
Nutzdaten. Alles wird ins Linux durchgereicht und nur dort persistiert.
2. **Keine Serverabhängigkeit.** Das Telefon funktioniert vollständig ohne fremde
Infrastruktur. Ein externes Backup-Ziel ist optional und jederzeit abwählbar.
Dazu zwei Regeln, die den Alltag betreffen:
3. **Kein Root, kein entsperrter Bootloader.** Wenn etwas nur mit Root geht, geht es
in diesem Projekt nicht.
4. **Kein Privilegienkanal im Dauerbetrieb.** ADB ist ausschließlich für die einmalige
Ersteinrichtung vorgesehen. Alles Laufende kommt mit gewöhnlichen App-Berechtigungen aus.
## Bevor du etwas vorschlägst
Lies [`docs/verworfene-entscheidungen.md`](docs/verworfene-entscheidungen.md). Sieben
naheliegende Wege wurden bereits geprüft und begründet verworfen — Waydroid, AVF, SIP,
APK-Daten-Redirect und andere. Wenn du einen davon wiederbeleben willst: gern, aber mit
einem Argument, das dort noch nicht widerlegt ist.
## Stil
- Skripte: `bash`, `set -euo pipefail`, deutschsprachige Ausgaben, jeder Schritt protokolliert
- Kommentare erklären das *Warum*, nicht das *Was*
- Architekturentscheidungen kommen als ADR nach `docs/`, nicht in die Commit-Nachricht
- Keine Zugangsdaten, Tokens oder Zieladressen im Repo — auch nicht in Beispieldateien