Zum Inhalt

Vorschlag für eine neue Funktion

Wir sind immer offen für Vorschläge und Ideen für neue Funktionen oder Dokumentationen für BeeWare. Aber wie reichen Sie Ihre Idee ein, damit sie berücksichtigt wird?

Bevor Sie beginnen

Wir haben bereits eine sehr lange Liste von Funktionen, die wir gerne implementieren würden, und sehr begrenzte Ressourcen. Wenn Sie eine Idee haben, von der Sie glauben, dass sie BeeWare besser machen würde, würden wir uns freuen, von ihr zu hören. Wenn genügend Leute die gleiche Sache fordern, könnte das Kernteam diese Idee implementieren. Es ist jedoch unwahrscheinlich, dass eine Feature-Anfrage allein dazu führt, dass dieses Feature in naher Zukunft implementiert wird.

BeeWare ist eine Open Source Gemeinschaft. Der effektivste Weg, um sicherzustellen, dass eine Funktion implementiert wird, ist, sie selbst zu implementieren. Wir werden alles tun, was wir können, um Mitwirkenden bei der Implementierung von Funktionen zu helfen, die sie gerne hinzugefügt sehen möchten. Forderungen, dass das Kernteam eine Funktion für Sie kostenlos implementiert, werden wahrscheinlich nicht gut aufgenommen.

Wenn Sie nicht in der Lage sind, eine Funktion selbst zu implementieren, besteht die andere Möglichkeit, die Entwicklung Ihrer Funktion zu beschleunigen, indem Sie jemanden dafür bezahlen, sie für Sie zu implementieren. Wenn Sie darüber sprechen möchten, die Entwicklung einer bestimmten Funktion zu bezahlen, wenden Sie sich bitte an das BeeWare-Team.

Vorschläge für neue Funktionen

Am naheliegendsten ist der Vorschlag einer neuen API oder Fähigkeit. Wenn Sie einen Anwendungsfall haben, den BeeWare derzeit nicht unterstützt, oder wenn es eine plattformeigene Fähigkeit gibt, die BeeWare derzeit nicht nutzen kann, sollten Sie eine Änderung vorschlagen, um diese Lücke zu schließen.

Wenn Sie eine neue Funktion vorschlagen, denken Sie bitte daran, dass die BeeWare-Tools mehrere Plattformen unterstützen. Das heißt, jede neue Funktion muss:

  • auf allen Plattformen geeignet und implementierbar sein (z. B. hat jedes GUI-Toolkit das Konzept einer "Schaltfläche"); oder
  • für Plattformen desselben "Typs" geeignet sein und auf anderen Plattformen ignoriert werden können (z. B. haben alle Mobiltelefone Beschleunigungssensoren, aber nicht viele Desktops. Daher ist es sinnvoll, dass es eine Beschleunigungssensor-API für iOS und Android gibt, aber nicht für die Desktop- oder Web-Plattformen); oder
  • Ermöglichen Sie den Zugriff auf eine plattforminterne Funktion, ohne die öffentliche API zu ändern (z. B. können Sie keine Funktion hinzufügen, die eindeutig Android-spezifisch ist, aber Sie können es den Endbenutzern erleichtern, von ihrem eigenen Code aus auf eine Android-spezifische Funktion zuzugreifen).

Das bedeutet nicht, dass Sie für die Implementierung einer Funktion auf jeder Plattform verantwortlich sein müssen. Wenn Sie keinen Zugang zu Apple-Hardware haben, können wir nicht erwarten, dass Sie eine macOS- oder iOS-Implementierung einer Funktion bereitstellen. Als Teil des Entwurfsprozesses müssen wir jedoch feststellen, dass es möglich ist, eine Funktion auf die von Ihnen beschriebene Weise zu implementieren.

Vorschlagen neuer Dokumentation

Eine andere Sache, die Sie vielleicht vorschlagen möchten, ist eine Verbesserung der Dokumentation. Wenn Sie eine Idee zur Verbesserung der Dokumentation für BeeWare haben, sollten Sie diese berücksichtigen:

  • Überschneidet sich Ihr Vorschlag mit bestehenden Unterlagen? Schlagen Sie einen neuen Leitfaden oder eine Ergänzung zu einem bestehenden Leitfaden vor?
  • Wie passt es in das übrige BeeWare-Ökosystem? Ist dieses Projekt der richtige Ort, um die Idee zu dokumentieren? Oder sollten wir eine Funktion in einem anderen Projekt dokumentieren und auf diese Dokumentation verweisen?
  • Gibt es ein übergeordnetes Konzept, das erklärt werden muss, bevor spezifische Anweisungen sinnvoll sind?
  • Ist es für uns sinnvoll, das Thema zu erläutern, oder hat es jemand anders bereits irgendwo behandelt, auf den wir uns beziehen können?

Wenn Sie sich unsicher sind, machen Sie sich keine Sorgen! Reichen Sie Ihre Idee ein und lassen Sie uns in der ersten Diskussion wissen, worüber Sie sich unsicher sind. Wir können Ihnen dann helfen, Ihre Ideen in eine Form zu bringen, die zur BeeWare-Dokumentation passt.

Einen Funktionsvorschlag einreichen

Vorschlag für eine neue Funktion

Sie haben also eine Idee für eine Verbesserung für BeeWare - Wie können Sie diese Idee zur Prüfung einreichen?

Recherchieren Sie

Der erste Schritt besteht darin, den BeeWare issue tracker nach bestehenden feature issues (issues tagged "enhancement"), [documentation issues (issues tagged "documentation")] (https://github.com/search?q=org%3Abeeware+is%3Aopen+is%3Aissue+label%3Adocumentation&type=issues), oder Discussion threads um zu sehen, ob die Idee schon einmal vorgeschlagen wurde. Wenn dies der Fall ist und Sie neue Zusammenhänge oder Ideen hinzufügen möchten, fügen Sie diese in das bestehende Thema ein. Wenn Sie Hilfe bei Ihrer Recherche benötigen, können Sie im #dev-Kanal im BeeWare Discord nachfragen. Wir können Ihnen vielleicht Hinweise auf bestehende Threads geben, Ihnen einen Kontext liefern, der Ihnen nicht bekannt ist, oder Ihre Idee mit einer anderen Idee in Verbindung bringen, die auf den ersten Blick nicht verwandt ist.

Diskutieren Sie die Idee

Wenn Sie keine Hinweise auf Ihre Idee finden, starten Sie einen Diskussionsfaden. Beschreiben Sie in groben Zügen den Zweck und den Anwendungsfall für Ihre Idee. Machen Sie sich Gedanken darüber, wie die Funktion aussehen würde, wenn sie implementiert würde, z.B. die allgemeine Form einer API, das visuelle Erscheinungsbild einer Fähigkeit oder das Dokument, das hinzugefügt würde. Falls zutreffend, sollten Sie auch Untersuchungen darüber anstellen, wie Ihre Idee auf verschiedenen Plattformen aussehen würde.

Sobald der Diskussionsstrang eröffnet ist, werden das BeeWare-Team und der Rest der Community darauf reagieren. Das Kernteam wird sich bemühen, innerhalb von zwei Werktagen zumindest einen ersten Eindruck von Ihrer Idee zu vermitteln. Wenn eine Idee besonders komplex ist, kann eine detailliertere Analyse bis zu einer Woche dauern. Aufgrund von Ereignissen wie Feiertagen und Konferenzen kann sich diese Zeitspanne etwas verlängern.

Dies ist Ihre Gelegenheit, an einem Gespräch über Ihre Idee teilzunehmen. Wir können Sie um weitere Details oder Zusammenhänge bitten. Andere Mitglieder der Gemeinschaft können sich ebenfalls an der Diskussion beteiligen und andere Perspektiven, Vorschläge oder Gegenvorschläge einbringen. Das Ergebnis dieser Diskussion wird über die nächsten Schritte entscheiden.

Es ist wichtig zu verstehen, dass nicht alle Ideen akzeptiert werden. Der Grund, warum dieser Prozess mit einem Vorschlag beginnt, ist, dass Sie nicht die ganze Arbeit investieren müssen, nur um dann herauszufinden, dass es einen Grund gibt, warum Ihre Änderung nicht angenommen wird.

Das heißt aber nicht, dass es keine gute Idee war! Es kann technische Gründe dafür geben, dass sie nicht umgesetzt werden kann. Zum Beispiel könnten wir eine Idee ablehnen, wenn:

  • Es wäre schwierig oder unmöglich, sie auf allen unterstützten Plattformen zuverlässig zu implementieren; oder
  • Es wäre schwierig zu warten, oder die Wartung würde den Zugang zu einer Technologie oder Software erfordern, die nicht allgemein verfügbar ist; oder
  • Sie dient einem Nischenpublikum, bedeutet aber für andere Nutzer einen erheblichen Mehraufwand.

Wenn wir feststellen, dass Ihre Idee nicht passt, bedeutet das nicht unbedingt, dass Sie sie aufgeben sollten. Auch wenn wir eine bestimmte Idee ablehnen, können wir viel eher bereit sein, eine Plugin-Schnittstelle oder einen anderen Erweiterungspunkt hinzuzufügen, der es Ihnen ermöglicht, die gleiche Funktion als externe Bibliothek zu pflegen. Auf diese Weise können Sie die Funktion haben, ohne dass die spezifischen Wartungsprobleme oder Einschränkungen der Funktion zu einer Einschränkung für das Projekt selbst werden.

Umwandlung in einen formellen Antrag auf eine neue Funktion

Sobald die Diskussion einen Konsens über die Form eines Features erreicht hat, können Sie einen neuen [Feature Request issue] (https://github.com/beeware/beeware/issues/new/choose) im BeeWare issue tracker erstellen, der die Diskussion zusammenfasst und für den Kontext auf die Diskussion verweist.

Sie müssen Ihren Vorschlag für eine neue Funktion nicht selbst umsetzen; Sie können ein Problem mit den Details Ihres Vorschlags eröffnen. Allerdings bedeutet das bloße Veröffentlichen des Themas nicht, dass es für Sie implementiert werden wird. Sie müssen abwarten, bis es möglicherweise von jemand anderem aufgegriffen wird, der an der gleichen Funktion interessiert ist, sei es ein anderes Community-Mitglied oder das Kernteam; dies ist jedoch nicht garantiert. Wenn Sie die garantierte Implementierung wünschen, müssen Sie sie selbst implementieren oder jemanden bezahlen, der sie für Sie implementiert.