24 Selbst Pakete erstellen
Das PEAR-Projekt lebt davon, dass viele engagierte Menschen Zeit, Tatkraft und Wissen investieren. PEAR kann nur dann erfolgreich bleiben, wenn sich auch weiterhin Helfer finden, die zum Erfolg des Projektes beitragen. Dieses Kapitel soll Ihnen helfen, einen Einstieg in die Entwicklung von PEAR-Komponenten zu finden, und Ihnen einen kurzen Überblick über Anforderungen und Ablauf geben.
Haben Sie eine gute Idee für eine Klasse oder vielleicht schon fertigen Code, so wäre es ein schöner Zug, ein entsprechendes Paket im PEAR-Projekt bereitzustellen.
Bevor Sie die Erstellung eines eigenen Pakets ins Auge fassen, sollten Sie genau darüber nachdenken, ob Sie die damit verbundenen Anforderungen erfüllen können. Neben einer sauberen Implementierung und einem ausreichenden Testing dürfen Sie nicht vergessen, dass der Zeitaufwand recht hoch sein kann. Zum einen sollte ein Paket natürlich immer weiterentwickelt oder zumindest an neue PHP-Versionen angepasst werden. Dazu kommt dann aber noch, dass Bug-Reports eingereicht werden oder Support-Anfragen an Sie gerichtet werden. Falls Sie feststellen, dass Sie nicht ausreichend Zeit zur Verfügung haben, wäre es keine gute Idee, allein ein Paket zu veröffentlichen. In einer solchen Situation kann es hilfreich sein, sich einen Mitstreiter zu suchen, der das Paket zusammen mit Ihnen umsetzt. Auf den PEAR-Mailinglisten, die in Kapitel 1 beschrieben sind, finden Sie in den meisten Fällen schnell eine helfende Hand.
Allerdings möchte ich nicht unerwähnt lassen, dass Sie das PEAR-Projekt auch auf andere Weise unterstützen können. So wäre es zum Beispiel möglich, das Dokumentations- oder das Qualitätssicherungsteam zu unterstützen.
Nachfolgend finden Sie eine kurze Einführung in die Vorgehensweise bei der Entwicklung und Veröffentlichung von PEAR-Paketen.
24.1 Vorschlag 

Möchten Sie ein neues Paket für PEAR vorschlagen, gilt grundsätzlich, dass Pakete, die in PEAR aufgenommen werden, nicht zu speziell sein und für die Entwicklung von PHP-Applikationen im Allgemeinen sinnvoll sein sollten. Das heißt, Pakete zur Verarbeitung von XML, HTML oder zum Zugriff auf andere Server machen Sinn. Sehr spezielle Lösungen, also vielleicht ein Paket, mit dem Sie Daten von einer sehr seltenen Telefonanlage auslesen können, oder ein Paket, mit dem Sie berechnen können, welche Menge Wasser durch Ihre Heizungsanlage fließt, sind im PEAR-Projekt nicht erwünscht. Allerdings sollte das nicht darüber hinwegtäuschen, dass Nischen-Lösungen wie die wissenschaftlichen oder die mathematischen Pakete durchaus Platz in PEAR haben.
Wenn Sie eine Idee für ein neues Paket, aber noch keinen Code geschrieben haben, sollten Sie das Paket zuerst auf der PEAR-Entwickler-Mailingliste vorschlagen, die Sie auch unter http://pear.php.net/support/lists.php abonnieren können. Damit können Sie einerseits klären, ob überhaupt Interesse an Ihrer Idee besteht, und andererseits, ob vielleicht eines der Listenmitglieder schon an einem solchen Paket arbeitet.
Sie werden feststellen, dass über die meisten Vorschläge recht intensiv diskutiert wird. Lassen Sie sich nicht dadurch irritieren, wenn auch über Ihren Vorschlag diskutiert wird und Nachfragen an Sie gerichtet werden. Zum einen möchte man Sie natürlich kennen lernen, wenn Sie den Listenmitgliedern noch nicht bekannt sind, und zum anderen soll auf diesem Weg auch sichergestellt werden, dass nur sinnvoller Code seinen Weg in das Projekt findet. Darüber hinaus ist es sicher sehr hilfreich, die Meinung erfahrener Entwickler zu hören.
Allerdings müssen Sie die Idee nicht erst auf der Mailingliste veröffentlichen. Sie können auch sofort einen Vorschlag mithilfe von PEPr, dem PEAR Proposal System, veröffentlichen. Da in den meisten Fällen eine der ersten Fragen ist, ob Sie bereits Code vorzeigen können, macht es normalerweise erst dann Sinn, einen Vorschlag zu veröffentlichen, wenn Sie zumindest erste Prototypen fertig haben.
PEPr finden Sie unter dieser URL: http://pear.php.net/pepr/pepr-over view.php. Auf der ersten Seite sehen Sie sofort eine Liste von Paketen, die vorgeschlagen wurden. Links in der Navigation finden Sie den Punkt New Proposal. Mit seiner Hilfe können Sie ein neues Paket vorschlagen. Klicken Sie den Punkt an, werden Sie feststellen, dass Sie einen User-Account benötigen. Sollten Sie noch keinen Zugang haben, müssen Sie diesen zunächst beantragen. Ein entsprechender Link ist auf der Seite zu finden.
Nachdem Sie einen Vorschlag in PEPr eingepflegt haben, hat dieser den Status Draft. In diesem Status ist der Vorschlag noch als Entwurf gedacht. Sie können ihn jederzeit überarbeiten.
Ist Ihr Vorschlag Ihrer Meinung nach fertig, können Sie den Status auf Proposal ändern. In diesem Status wird der Vorschlag von anderen Entwicklern gelesen und begutachtet. Sie werden das erste Feedback und die ersten Fragen erhalten. In diesem Status kann es auch wieder zu Diskussionen auf der Mailingliste kommen. Sind alle Fragen geklärt und haben Sie eventuelle Ergänzungen eingearbeitet, können Sie zu einer Abstimmung aufrufen. Die PEAR-Entwickler haben dann sieben Tage Zeit, für oder gegen Ihr Paket zu stimmen. Sie können mit +1 (Ich bin dafür), -1 (Ich bin dagegen) oder 0 (Neutral) stimmen. Ist die Summe der abgegebenen Werte der Stimmen größer oder gleich fünf, ist Ihr Vorschlag angenommen. Wurden insgesamt weniger als fünf Stimmen abgegeben, wird die Abstimmungszeit noch einmal um sieben Tage verlängert.
Wurde Ihr Vorschlag akzeptiert, können Sie unter der URL http://pear.php. net/package-new.php einen Antrag auf die Einrichtung eines neuen Pakets stellen. Das heißt, dass Ihr Paket dann in der Übersicht der Pakete genannt wird, und Sie können die fertigen Dateien dann bereitstellen. Bitte lassen Sie nicht zu viel Zeit zwischen dem Eintragen des Pakets und der Bereitstellung der Daten verstreichen.