- Manganin ist eine in Zig entwickelte Git-Forge, die kompromisslos modernes Source-Code-Management zum Ziel hat und nicht einfach das bestehende GitHub-Modell kopiert, sondern neue Formen der Zusammenarbeit erkundet
- Beitragende müssen von bestehenden Mitgliedern verbürgt werden, bevor sie Issues und PRs erstellen können; ein Vouch Tree verfolgt Verantwortungswege pro Nutzer und schützt Zeit und Aufmerksamkeit des Kernteams
- Ausgelegt auf Self-Hosting, vermeidet es proprietäre Datenformate und Anbieterbindung, speichert alle Daten als Plain-Text-Dateien in Git und benötigt nur minimale Hardware
- Es lässt sich so konfigurieren, dass auch das Klonen von Repositories eine Bürgschaft erfordert, um nicht autorisierte Bots und Scraper für Modelltraining ohne JavaScript, Weiterleitungen oder künstliche Verlangsamung zu blockieren
- Mit einem Local-First-Workflow, bei dem Issues offline im bevorzugten Editor erstellt und bearbeitet und per Git synchronisiert werden, soll die Reibung und Unbequemlichkeit des bisherigen GitHub-Modells verringert werden
Beitragsstruktur auf Vertrauensbasis
- Manganin ist eine in Zig geschriebene Git-Forge)
- Der Name stammt von einer Mangan-Kupfer-Legierung, deren elektrischer Widerstand bei Temperaturänderungen relativ konstant bleibt
- Die Anzahl der Codezeilen in einem PR steht nicht zwangsläufig im Verhältnis zur Qualität oder zum investierten Aufwand, und Zeit und Aufmerksamkeit von Open-Source-Maintainern werden durch Burnout noch knapper
- Die Aufmerksamkeit in sozialen Medien führt dazu, dass auch Menschen starke Meinungen zu Projekten haben, die sie tatsächlich nie ausprobiert haben
- Im Vouch Tree müssen neue Beitragende von bestehenden Beitragenden verbürgt werden
- Wer bürgt, verspricht, dass die von ihm verbürgte Person die Projektregeln einhalten wird
- Verbürgte Nutzer erhalten Berechtigungen, zum Projekt beizutragen, etwa Issues zu erstellen und PRs einzureichen
- Die Verantwortungsbeziehungen lassen sich von jedem Nutzer bis zur Spitze des Baums zurückverfolgen; auch für Personen, die jemanden verbürgt haben, der das Projekt absichtlich stört, kann das Konsequenzen haben
- Der Umfang, in dem jemand die Zeit des Kernteams verschwenden kann, soll an das Vertrauensniveau gekoppelt werden, um eine High-Trust-Umgebung zu schaffen
- Als Vergleich dient die Nutzerstruktur von lobste.rs, wo auch schwierige Themen meist respektvoll diskutiert werden und Sperrungen selten sind
Self-Hosting und Dateneigentum
- Eine auf Self-Hosting ausgerichtete Struktur vermeidet proprietäre Datenformate und Anbieterbindung und hält auch die Hardwareanforderungen minimal
- Betreiber besitzen ihre Deployment-Umgebung und Daten direkt; die Daten werden in Git als Plain-Text-Dateien gespeichert
- Es kann so eingerichtet werden, dass nur verbürgte Nutzer Repositories klonen dürfen, wodurch nicht autorisierte Bots und Scraper für Modelltraining blockiert werden können
Das bestehende Git-Forge-Modell neu gedacht
- Während die meisten bestehenden Git-Forges ähnliche Funktionen bieten, will Manganin dem Source-Control-Ökosystem mit einem neuen Kollaborationsmodell mehr Vielfalt geben
- Ziel ist es, mindestens ein eigenständiges Modell für die künftige Entwicklung bereitzustellen und im besten Fall ein Werkzeug zu werden, das die Entwicklung bestehender Open-Source-Projekte beschleunigt
- GitHub nimmt in der Softwareentwicklung eine so große Rolle ein, dass es fast als Synonym für Git gilt
- Forgejo und Codeberg wurden als Drop-in-Ersatz für GitHub entworfen, doch Manganin strebt Git-basiertes Source-Code-Hosting an, das nicht an Designentscheidungen von vor Jahrzehnten gebunden ist
- Angedacht ist ein Ablauf, bei dem Issues offline im bevorzugten Texteditor erstellt und bearbeitet und anschließend mit bewährten bestehenden Werkzeugen Git-nativ und local-first synchronisiert werden
- In allen Phasen von Design und Implementierung soll Sorgfalt gewahrt bleiben, um die vom GitHub-Modell erzeugte Reibung und Unbequemlichkeit zu verringern und bessere Lösungen für gängige Workflow-Probleme zu bieten
- Das endgültige Ziel ist nicht das Werkzeug selbst, sondern den Nutzern zu dienen
Noch keine Kommentare.