Google is committed to advancing racial equity for Black communities. See how.
Diese Seite wurde von der Cloud Translation API übersetzt.
Switch to English

Der TensorFlow RFC-Prozess

Jede neue TensorFlow-Funktion beginnt als RFC (Request for Comment).

Ein RFC ist ein Dokument, das eine Anforderung und die vorgeschlagenen Änderungen beschreibt, mit denen sie gelöst werden kann. Insbesondere wird der RFC:

Der Zweck einer TensorFlow-Anfrage für Kommentare (RFC) besteht darin, die TensorFlow-Community in die Entwicklung einzubeziehen, indem Feedback von Stakeholdern und Experten eingeholt und Designänderungen umfassend kommuniziert werden.

So senden Sie einen RFC

  1. Besprechen Sie vor dem Einreichen eines RFC Ihre Ziele mit Projektmitarbeitern und Betreuern und erhalten Sie frühzeitig Feedback. Verwenden Sie die Entwickler-Mailingliste für das betreffende Projekt (developer@tensorflow.org oder die Liste für die entsprechende SIG).

  2. Erstellen Sie Ihren RFC.

    • Folgen Sie der RFC-Vorlage .
    • Benennen Sie Ihre RFC-Datei YYYYMMDD-descriptive-name.md , wobei YYYYMMDD das Datum der Übermittlung ist und sich descriptive-name auf den Titel Ihres RFC bezieht. (Wenn Ihr RFC beispielsweise den Titel Parallel Widgets API trägt , können Sie den Dateinamen 20180531-parallel-widgets.md .
    • Wenn Sie Bilder oder andere Zusatzdateien haben, erstellen Sie ein Verzeichnis in der Form YYYYMMDD-descriptive-name in dem diese Dateien gespeichert werden sollen.

    Holen Sie nach dem Schreiben des RFC-Entwurfs Feedback von Betreuern und Mitwirkenden ein, bevor Sie ihn einreichen.

    Das Schreiben von Implementierungscode ist keine Voraussetzung, kann jedoch beim Entwerfen von Diskussionen hilfreich sein.

  3. Rekrutieren Sie einen Sponsor.

    • Ein Sponsor muss ein Betreuer des Projekts sein.
    • Identifizieren Sie den Sponsor im RFC, bevor Sie die PR veröffentlichen.

    Sie können einen RFC ohne Sponsor veröffentlichen. Wenn jedoch innerhalb eines Monats nach Veröffentlichung der PR noch kein Sponsor vorhanden ist, wird dieser geschlossen.

  4. Senden Sie Ihren RFC als Pull-Anfrage an tensorflow / community / rfcs .

    Fügen Sie die Headertabelle und den Inhalt des Abschnitts " Ziel" mithilfe von Markdown in den Kommentar Ihrer Pull-Anforderung ein. Ein Beispiel finden Sie in diesem Beispiel RFC . Schließen Sie die GitHub-Handles von Co-Autoren, Rezensenten und Sponsoren ein.

    Geben Sie oben in der PR an, wie lange die Kommentierungsfrist dauern wird. Dies sollte mindestens zwei Wochen nach der Veröffentlichung der PR sein.

  5. E-Mail an die Entwickler-Mailingliste mit einer kurzen Beschreibung, einem Link zur PR und einer Bitte um Überprüfung. Befolgen Sie das Format früherer Mailings, wie Sie in diesem Beispiel sehen können .

  6. Der Sponsor wird frühestens zwei Wochen nach der Veröffentlichung der RFC-PR eine Sitzung des Überprüfungsausschusses beantragen. Wenn die Diskussion lebhaft ist, warten Sie, bis sie sich erledigt hat, bevor Sie mit der Überprüfung beginnen. Ziel des Überprüfungstreffens ist es, kleinere Probleme zu lösen. Vorab sollte ein Konsens über wichtige Fragen erzielt werden.

  7. Die Besprechung kann den RFC genehmigen, ablehnen oder Änderungen erfordern, bevor er erneut berücksichtigt werden kann. Genehmigte RFCs werden in Community / RFCs zusammengeführt , und abgelehnte RFCs haben ihre PRs geschlossen.

RFC-Teilnehmer

Viele Menschen sind am RFC-Prozess beteiligt:

  • RFC-Autor - ein oder mehrere Community-Mitglieder, die einen RFC schreiben und sich dazu verpflichten, diesen Prozess zu unterstützen

  • RFC-Sponsor - ein Betreuer, der den RFC sponsert und ihn durch den RFC-Überprüfungsprozess begleitet

  • Überprüfungsausschuss - eine Gruppe von Betreuern, die dafür verantwortlich sind, die Annahme des RFC zu empfehlen

  • Jedes Community-Mitglied kann helfen, indem es Feedback gibt, ob der RFC seine Anforderungen erfüllt.

RFC-Sponsoren

Ein Sponsor ist ein Projektbetreuer, der dafür verantwortlich ist, das bestmögliche Ergebnis des RFC-Prozesses sicherzustellen. Das beinhaltet:

  • Für das vorgeschlagene Design eintreten.
  • Anleitung des RFC zur Einhaltung bestehender Design- und Stilkonventionen.
  • Anleitung des Überprüfungsausschusses zu einem produktiven Konsens.
  • Wenn der Überprüfungsausschuss Änderungen anfordert, stellen Sie sicher, dass diese vorgenommen werden, und holen Sie die spätere Genehmigung durch die Ausschussmitglieder ein.
  • Wenn der RFC zur Implementierung übergeht:
    • Sicherstellen, dass die vorgeschlagene Implementierung dem Design entspricht.
    • Koordinieren Sie mit geeigneten Parteien, um die Umsetzung erfolgreich zu landen.

RFC-Überprüfungsausschüsse

Der Überprüfungsausschuss entscheidet auf Konsensbasis, ob Änderungen genehmigt, abgelehnt oder beantragt werden. Sie sind verantwortlich für:

  • Sicherstellen, dass wesentliche öffentliche Rückmeldungen berücksichtigt wurden.
  • Hinzufügen ihrer Besprechungsnotizen als Kommentare zur PR.
  • Begründung für ihre Entscheidungen.

Die Zusammensetzung eines Überprüfungsausschusses kann sich je nach Governance-Stil und Führung jedes Projekts ändern. Für den Kern von TensorFlow besteht das Komitee aus Mitarbeitern des TensorFlow-Projekts, die über Fachkenntnisse auf dem betreffenden Gebiet verfügen.

Community-Mitglieder und der RFC-Prozess

Der Zweck von RFCs besteht darin, sicherzustellen, dass die Community gut vertreten ist und durch neue Änderungen an TensorFlow bedient wird. Es liegt in der Verantwortung der Community-Mitglieder, sich an der Überprüfung von RFCs zu beteiligen, wenn sie ein Interesse am Ergebnis haben.

Community-Mitglieder, die an einem RFC interessiert sind, sollten:

  • Geben Sie so schnell wie möglich Feedback , damit ausreichend Zeit für Überlegungen bleibt.
  • Lesen Sie die RFCs sorgfältig durch, bevor Sie Feedback geben.
  • Sei höflich und konstruktiv .

Implementierung neuer Funktionen

Sobald ein RFC genehmigt wurde, kann die Implementierung beginnen.

Wenn Sie an neuem Code arbeiten, um einen RFC zu implementieren:

  • Stellen Sie sicher, dass Sie die im RFC genehmigte Funktion und das genehmigte Design verstehen. Stellen Sie Fragen und besprechen Sie den Ansatz, bevor Sie mit der Arbeit beginnen.
  • Zu den neuen Funktionen müssen neue Komponententests gehören, mit denen überprüft wird, ob die Funktion wie erwartet funktioniert. Es ist eine gute Idee, diese Tests zu schreiben, bevor Sie den Code schreiben.
  • Folgen Sie dem TensorFlow Code Style Guide
  • Fügen Sie relevante API-Dokumentation hinzu oder aktualisieren Sie sie. Verweisen Sie in der neuen Dokumentation auf den RFC.
  • Befolgen Sie alle anderen Richtlinien in der Datei CONTRIBUTING.md im Projekt-Repo, zu dem Sie beitragen.
  • Führen Sie Unit-Tests durch, bevor Sie Ihren Code senden.
  • Arbeiten Sie mit dem RFC-Sponsor zusammen, um den neuen Code erfolgreich zu landen.

Die Messlatte hoch halten

Während wir jeden Mitwirkenden ermutigen und feiern, wird die Messlatte für die RFC-Akzeptanz absichtlich hoch gehalten. Eine neue Funktion kann in einer dieser Phasen abgelehnt werden oder muss erheblich überarbeitet werden:

  • Erste Designgespräche auf der entsprechenden Mailingliste.
  • Keine Rekrutierung eines Sponsors.
  • Kritische Einwände während der Rückkopplungsphase.
  • Kein Konsens während der Entwurfsprüfung.
  • Während der Implementierung aufgeworfene Bedenken (z. B. Unfähigkeit, Abwärtskompatibilität zu erreichen, Bedenken hinsichtlich der Wartung).

Wenn dieser Prozess gut funktioniert, wird erwartet, dass RFCs eher in früheren als in späteren Phasen fehlschlagen. Ein genehmigter RFC ist keine Garantie für eine Verpflichtung zur Implementierung, und die Annahme einer vorgeschlagenen RFC-Implementierung unterliegt weiterhin dem üblichen Codeüberprüfungsprozess.

Wenn Sie Fragen zu diesem Prozess haben, können Sie diese gerne auf der Mailingliste der Entwickler stellen oder ein Problem in Tensorflow / Community einreichen .