Kristoffer Grönlund, der bei SUSE arbeitet, hat die Schaffung eines Forks des Code-Editors Zed unter dem Namen Gram bekanntgegeben. Der Grund für die Erstellung des Forks ist der Wunsch, einen Code-Editor zu schaffen, der als Alternative zu VS Code fungiert, keine KI-gestützten Funktionen verwendet, keine Benutzungsbedingungen (Terms of Use) auferlegt, die mit offenen Lizenzen unvereinbar sind, und keine Telemetrie an Unternehmen sendet. Die Entwicklung wird darauf ausgerichtet sein, ein Produkt zu schaffen, das für angehende Entwickler und Studenten, denen der Autor des Forks Unterricht erteilt, benutzerfreundlich ist. Der Code des Projekts wird unter den Lizenzen GPLv3 und AGPLv3 veröffentlicht.
Zu den Unterschieden zwischen Gram und Zed gehört die Einstellung der Bereitstellung von KI-Tools und Codes zur Übermittlung von Telemetrie, die Entfernung von Bindungen an proprietäre Server-Handler, Drittanbieterdiensten und Komponenten, die zur Zusammenarbeit im Code und zur automatischen Aktualisierung verwendet werden. Den Nutzern von Gram werden keine separaten Nutzungsbedingungen (Terms of Service) und kostenpflichtigen Abonnements auferlegt.
Die weitere Entwicklung des Forks wird in einem konservativen Stil und unabhängig von Zed und Konzernen durchgeführt, wobei der Schwerpunkt auf der Gewährleistung von Stabilität liegt. Änderungen in Gram werden ohne die Notwendigkeit einer Unterzeichnung einer Vereinbarung über die Übertragung von geistigen Eigentumsrechten (CCA, Contributor License Agreement) akzeptiert. Änderungen unter der Apache 2.0-Lizenz werden in Gram nicht angenommen; für neuen Code sind nur Lizenzen GPLv3 und AGPLv3 erlaubt (Zed wurde unter drei Lizenzen, Apache 2.0, GPLv3 und AGPLv3, bereitgestellt, was die Nutzung seines Codes in proprietären Produkten ohne Offenlegung der Änderungen ermöglichte).
Gleichzeitig wurde die erste Version von Gram veröffentlicht, in der der Code entfernt wurde, der mit KI, Telemetrie, dem Herunterladen und Installieren von Updates, der Zusammenarbeit an Code und der Kontoverknüpfung verbunden ist. Unter den neuen Funktionen umfasst der Editor nun Dokumentation, Unterstützung für die Programmiersprachen Gleam, Zig und Odin sowie ein Autocomplete-System im Vim Supertab-Stil. Installierbare Erweiterungen in Gram müssen aus dem Quellcode erstellt werden und erhalten keine automatischen Updates. Für das Herunterladen von LSP- (Language Server) und Node-Komponenten ist eine Bestätigung der Operation durch den Benutzer erforderlich. Fertige Builds sind für Linux und macOS vorbereitet.

Es ist bemerkenswert, dass dies nicht der erste Fork von Zed ist – das Projekt Zedless entwickelt einen Fork, der sich auf den Schutz der Privatsphäre und den isolierten lokalen Betrieb ohne die Nutzung von Drittanbieterservern konzentriert. Bei Zedless, ähnlich wie bei Gram, wurden die Bindungen an proprietäre Cloud-Services entfernt, der Code für die Übermittlung von Telemetrie und automatisch generierten Absturzberichten wurde gelöscht, und eine CLA-Vereinbarung ist nicht erforderlich. Dabei wurde die Funktionalität zur Zusammenarbeit nicht entfernt, sondern konzentriert sich auf die Implementierung einer eigenen Infrastruktur, wobei der Benutzer die Nutzung externer Dienste nach eigenem Ermessen zurückbringen kann.
Das Zed-Projekt wird von Nathan Sobo, dem Schöpfer des Atom-Editors (der Grundlage von VS Code), mit Unterstützung eines Teams ehemaliger Entwickler von Atom, der Electron-Plattform und der Syntaxanalysbibliothek Tree-sitter, geleitet. Bei der Entwicklung wurde die Erfahrung aus der Erstellung von Atom berücksichtigt, und es wurde versucht, einige Ideen zu verwirklichen, wie der ideale Editor für Programmierer aussehen sollte. Zed vereint in einem Produkt einen leichtgewichtigen Texteditor und die Funktionalität moderner integrierter Entwicklungsumgebungen. Großer Wert wird auf Leistung und Reaktionsfähigkeit der Benutzeroberfläche gelegt – die Projektentwickler haben angestrebt, dass alle Aktionen bei der Bearbeitung sofort stattfinden und Programmieraufgaben auf die effizienteste Weise gelöst werden. Die hohe Leistung von Zed wird durch die aktive Nutzung von Multithreading unter Einbeziehung aller verfügbaren CPU-Kerne und der GPU im Rendering-Prozess erreicht.
Quelle: opennet.ru
