Beiträge an das Projekt
Diese Seite richtet sich an Ingenieure, die eine Korrektur oder eine Funktion in Exponential selbst haben möchten, statt
sie im eigenen Code mitzuführen. Maßgeblich ist der Text CONTRIBUTING.md im Hauptverzeichnis des Repositorys; diese
Seite ordnet ihn und ergänzt die technischen Prüfungen.
Inhalt
- Kernel oder Erweiterung
- Die Übertragung des Urheberrechts (CLA)
- Die Änderung vorbereiten
- Der Pull-Request
- Review
- Lizenzierung
- Issues und Sicherheitsmeldungen
Kernel oder Erweiterung
| Ziel | Repository | Hinweise |
|---|---|---|
| Der Kernel | se7enxweb/exponential: kernel/, lib/, bin/, design/, settings/, doc/, die darin mitgelieferten Erweiterungen | die CLA ist vor einem Merge erforderlich |
| Eine Erweiterung | ihr eigenes Repository se7enxweb/<name> | siehe Mit Pull-Requests zurückgeben |
| Dokumentation | die Dateien in doc/ des Kernels | derselbe Ablauf (Dokumentation als Code) |
Die Übertragung des Urheberrechts (CLA)
7x und die Exponential Foundation verlangen für jeden Code-Beitrag zum Kern-Kernel ein unterschriebenes Contributor
Licensing Agreement, bevor er zusammengeführt werden kann, gleich in welcher Form er ankommt (Pull-Request, Patch, Code in
einem Issue, E-Mail). CONTRIBUTING.md sagt es deutlich: Indem Sie die CLA unterschreiben und einen Beitrag zum
Kern-Kernel einreichen, übertragen Sie das Urheberrecht an diesem Beitrag an die Exponential Foundation und 7x, die ihn ohne Rückfrage oder Bezahlung
verwenden, ändern, neu lizenzieren und verbreiten dürfen; Sie können ihn nicht zurückziehen oder an Bedingungen knüpfen. Sie
wird einmal für alle künftigen Beiträge unterschrieben. Ihre eigenen Erweiterungen sind nicht betroffen. Lesen Sie die
Vereinbarung selbst, bevor Sie unterschreiben; die Zusammenfassung ist keine Rechtsberatung. Hat Ihr Arbeitgeber Rechte an
dem, was Sie schreiben, brauchen Sie seine Erlaubnis.
Die Änderung vorbereiten
composer install
make hooks
make devtoolsDann, auf einem Branch:
- folgen Sie den Programmierstandards und dem Stil der Dateien rund um Ihre Änderung;
- benennen Sie neuen Code mit dem Präfix
exp(Die Präfixregel); - fügen Sie einen Test hinzu, der ohne Ihre Änderung scheitert und mit ihr besteht;
- aktualisieren Sie, wo nötig, die Dokumentation und das Changelog;
- erneuern Sie das Dateimanifest:
make manifest-fix, und committen Sieshare/filelist.md5mit der Änderung; - führen Sie
make checkund die Tests Ihrer Änderung aus (CI-Gates).
Wenden Sie die Checkliste für Code-Reviews auf Ihre eigene Änderung an, bevor es jemand anderes tut.
Der Pull-Request
- Eine Änderung je Pull-Request; eine Korrektur und ein Refactoring sind zwei.
- Beschreiben Sie, was sich geändert hat, warum und wie Sie es getestet haben.
- Kreuzen Sie das CLA-Kästchen der Pull-Request-Vorlage an, sobald Ihre CLA vorliegt.
- Halten Sie den Branch mit
mainaktuell; ein Pull-Request, der mitmainin Konflikt steht, erhält überhaupt keine CI-Prüfungen.
Review
CONTRIBUTING.md warnt: 7x führt eine weit überdurchschnittliche Zahl von Review-Runden durch, manchmal Hunderte von
Überarbeitungen, bevor eine Änderung angenommen wird. So bleibt der Kernel wartbar; es ist kein Urteil über den Autor.
Schneller geht es so: Halten Sie die Änderung klein, beantworten Sie jeden Review-Kommentar im Pull-Request, setzen Sie neu
auf, wenn sich main bewegt, und fassen Sie die Korrekturen jeder Runde zu logischen Commits zusammen.
Lizenzierung
Exponential steht unter der GNU GPL, Version 2 oder später; Beiträge werden genauso lizenziert. Die Klausel "oder später"
erlaubt dem Projekt, zu späteren GPL-Versionen zu wechseln. Prüfen Sie, ob Code, den Sie einbringen, damit vereinbar ist
(Lizenzen und Vereinbarkeit).
Der Verhaltenskodex des Projekts ist der Contributor Covenant 2.1 mit Ergänzungen für Exponential (CODE_OF_CONDUCT.md).
Issues und Sicherheitsmeldungen
- Fehler, Funktionswünsche und Diskussionen gehören in den Issue-Tracker, mit seinen Vorlagen; die Seite Fehler melden der Hilfe bereitet eine sichere Zusammenfassung der Installation vor (Wenn etwas schiefgeht).
- Manche gemeldeten Fehler sind negative Funktionen: bewusstes oder auslegungsfähiges Verhalten, auf das andere Websites angewiesen sind. Eines davon zu ändern braucht eine klare Begründung, wird am besten als Option statt als neuer Standard vorgeschlagen und kann mehrere Review-Runden dauern, bevor es zusammengeführt wird.
- Ein Sicherheitsproblem geht vertraulich an die Adresse in
SECURITY.md, nie in ein öffentliches Issue oder einen Pull-Request.
Verwandte Seiten
- Git-Arbeitsablauf
- Erweiterungen zurückgeben
- Der Weg zum Maintainer
- Freie Dokumentation: Diese Seite darf unter der GNU FDL 1.3 frei kopiert, übersetzt und verbessert werden.
Werden Sie Exponential-Partner
Partner teilen ihre Informationen, stellen Mittel bereit, geben Beiträge zurück und entwickeln die Produkte mit uns, und so wächst Exponential. Eine Partner-Website und ein Dashboard sind für Mitte 2027 geplant: Werden Sie noch heute Partner, damit wir schneller wachsen und neue Funktionen früher liefern.