Samstag, 23. Juli 2011

Python 3.3 wird Unterstützung für OS/2, Windows 2000 und VMS einstellen

Hin und wieder ist es an der Zeit die Liste der unterstützten Betriebssysteme so zurückzuschneiden, dass sie mit der tatsächlichen Benutzung übereinstimmt. Daneben ist auch die Menge der beisteuernden Entwickler auf einer Plattform wichtig, da jemand die Entwicklungsarbeit leisten muss, um beim Release die Qualität zu sichern. Andere Faktoren, wie das Alter eines Betriebssystems und sein Ballast für die zukünftige Entwicklung haben auch einen Einfluss auf diese Liste.

Victor Stinner hat kürzlich vorgeschlagen die Unterstützung von CPython für OS/2 und VMS einzustellen, ein Jahr nach seiner ursprünglichen Frage nach der OS/2-Unterstützung. Victors ursprüngliche Frage kam zur Zeit seiner unermüdlichen Unicode-Arbeit, genauer für ein Problem mit os.execvpe(), um Umgebungsvariablen über den PEP 383-"surrogateescape"-Handler zu unterstützen. OS/2 und VMS haben zur Zeit keine Repräsentation innerhalb des Entwicklerteams und erhalten damit keine Tests während dem Release-Prozess.

Das Schreiben dieses Eintrags brachte mich zum Nachdenken über eine vorherige Diskussion über das Entfernen von Windows 2000, das auf der Strecke zu bleiben schien. System, die COMSPEC auf command.com setzen, schienen damals auch auf dem Hackbrett zu liegen. Mittlerweile haben sich beide zu OS/2 und VMS gesellt. Windows 2000 wird entfernt, um die Entwicklungsarbeit einfacher zu machen, da es die Last nimmt, sich um die Legacy-API eines Betriebssystems zu kümmern, das 2010 sein "end-of-life" erreicht hat.

Um die Unterstützung für diese Systeme zu entfernen, haben Victor und ich uns daran gemacht PEP 11 zu aktualisieren.

PEP 11

Dieses PEP umreißt die Betriebssysteme, die nicht mehr unterstützt werden, und erklärt wie man ein System zu dieser Liste hinzufügt.

Sobald es entschieden ist, dass ein Betriebssystem entfernt werden kann, wird es formal als nicht-unterstützt angekündigt. Diese Ankündigung gilt traditionell für die Version, an der gerade entwickelt wird, also gilt der Wegfall der Unterstützung für OS/2, Windows 2000 und VMS ab Python 3.3.

Das erste Stadium läuft so ziemlich von selbst, es ist mehr das Heben einer weißen Flagge. Es ist ein Signal, dass es keinen mehr gibt, der den Code wartet und die Qualität eines Release sicherstellt. Es können Veränderungen am Kompilierungs- und Installationsprozess gemacht werden, um Nutzer zu informieren, dass ihre Plattform nicht unterstützt wird. Und dem "What's New"-Dokument wird eine Bemerkung hinzugefügt, die die neuen nicht mehr unterstützten Plattformen auflistet.

Nach einem Releasezyklus, in dem die Plattform nicht unterstützt ist, ist der Code in der nachfolgenden Version Freiwild und kann entfernt werden. In diesem Fall kann der Code in 3.4 entfernt werden. Der Code wird möglicherweise nicht komplett entfernt, aber Entwickler, die während ihrer normalen Arbeit daran vorbeikommen können jegliche #ifdef-Blöcke, configure-Abschnitte oder veralteten Code entfernen.

Was Du tun kannst

Wenn du ein OS/2- oder VMS-Nutzer bist, dann gibt es ein paar Möglichkeiten, die du ausschöpfen kannst, um deine Plattform zu retten.

Werde Maintainer

Nichts ist besser für die Unterstützung als ein aktiver Entwickler. Andrew MacIntyre war seit einiger Zeit der OS/2-Maintainer und sagte zu Victors erster Anfrage, dass OS/2 in der Unterstützung von Unicode hinterherhinkt, dies ist also sicherlich ein Gebiet auf das man sich konzentrieren muss. VMS scheint einen gewissen Grad von Unterstützung von Außen durch http://www.vmspython.org zu haben, aber wie schon in Issue 11918 diskutiert wurde, muss sich jemand bereiterklären um weiterhin VMS-Unterstützung Upstream (d.h. innerhalb von CPython) zu haben.

Wenn Du daran interessiert bist, eine der beiden Plattformen zu übernehmen, dann schau dir den Developer's Guide an, um die aktuellen Entwicklungsprozesse kennenzulernen.

Steuer einen Build-Slave bei

Mit einem aktiven Entwickler, hat eine Plattform bessere Chancen zu überleben. Mit einem Build-Slave, hat eine Plattform sogar noch bessere Chancen, nicht nur zu überleben, sondern auch um eine gewisse Qualität zu gewährleisten.

Python benutzt Buildbot für Continuous Integration und es gibt momentan Build-Slaves für Linux, Mac, Windows und Open Indiana (Solaris) für verschiedene Versionen, Architekturen und Konfigurationen. Wenn Du in der Lage bist eine Maschine für die Build-Flotte für OS/2 oder VMS zu spenden, könntest Du ermöglichen, dass diese Plattformen diesselbe Aufmerksamkeit bekommen, wie sie auch verbreitetere Plattformen bekommen.

Wenn Du entwender Zeit oder Hardware beisteuern kannst, um OS/2 und VMS zu retten, melde Dich auf der python-dev-Mailingliste, um die Bemühungen zu koordinieren.

Englische Version

Keine Kommentare:

Kommentar posten