Wikimedia Labs/Tool Labs/Roadmap de

Zeitplan für die Entwicklung von Tool Labs und die Migration vom Toolserver

edit

The English version is available here: Tool_Labs/Roadmap_en

Erwartungen an eine Infrastruktur für Softwareentwicklung durch Freiwillige

edit

Der Toolserver ist eine Infrastruktur, die Software hostet, die Wikipedia und ihren Schwesterprojekten zugute kommt. Unsere Erwartungen an eine solche Infrastruktur sind folgende:

  • Jeder und jede Freiwillige kann einen Account beantragen, um Software zu entwickeln, die Wikimedia-Projekte unterstützt, verbessert oder analysiert.
  • Die Infrastruktur macht es so einfach wie möglich, Code und Wissen miteinander zu teilen.
  • Die Infrastruktur wird zuverlässig gewartet und ist verfügbar. Technische Ausfälle sollten die Ausnahme sein.
  • Die Software läuft dort in einer Umgebung, die dem Produktivbetrieb der Wikimedia-Projekte ähnlich ist. Die Daten aller Wikimedia-Projekte und des Projektes OpenStreetMap sind leicht abfragbar. Dies bezieht sich auf die Datenmenge, die für normale, unprivilegierte, registrierte Nutzerinnen und Nutzer sichtbar ist.
  • Die Infrastruktur bietet den Tool-Entwicklern eigene Datenbanken und gemeinsamen Speicherplatz für ihre Projekte an.
  • Die Community der Tool-Entwickler kann sich an der Definition benötigter Funktionalitäten und Software beteiligen.
  • Idealerweise bietet diese Infrastruktur einen Staging-Prozess an, um bestimmter Software den Übergang in den Produktivbetrieb zu erleichtern.
  • Mehrere Systemadministratoren oder -administratorinnen stehen zur Verfügung, optimalerweise in verschiedenen Zeitzonen, um zeitnah auf Anfragen zu reagieren. Sie sollten Tool-Entwicklern mit verschiedenen Wissensständen helfen können und Neulingen gegenüber aufgeschlossen sein.

Grundsätzliche Unterschiede zwischen dem Toolserver und Labs/Tool Labs

edit
  • Das technische Konzept: Der Toolserver wird hauptsächlich von individuellen Entwicklern und Entwicklerinnen genutzt. “Multi-Maintainer-Projekte” existieren zwar, sie sind aber nicht der Standard. In Labs stehen dagegen Kooperation im Team, Teilen von Software und das Angebot eines Staging-Prozesses im Mittelpunkt des Konzepts.
  • Verantwortung: Der Toolserver wurde über viele Jahre von sehr wenigen Menschen gewartet, die nur teilweise dafür bezahlt wurden. Der größte Teil der Arbeit wurde ehrenamtlich geleistet. Für diese Personen war nicht nur die Arbeitslast sehr hoch, sondern dadurch ist auch Vieles nicht dokumentiert worden. Das erschwert es, neue Admins ins Team zu holen, um die Verantwortung wieder besser zu verteilen. Labs/Tool Labs wurde von Anfang an von bezahltem WMF-Personal konzipiert und aufgebaut. Freiwillige Admins sind willkommen, aber die Verantwortung für das Gesamtprojekt liegt bei einer Institution, in der das Wissen auf mehr Personen verteilt ist und Arbeitszeit für Dokumentation aufgewendet werden kann. Wenn eine Person sich entscheidet, das Projekt zu verlassen, ist das Projekt als Ganzes nicht gefährdet.
  • Labs hat sich dem Einsatz von freier Software (nach der Open-Source-Definition der Open Source Initiative) verpflichtet. Dies passt gut zur Idee der Wikimedia-Projekte, Wissen zu befreien. Der Toolserver hostet auch proprietäre Software, sowohl was Teile der Infrastruktur selbst angeht als auch die Tools der Community.

Allgemeine Klarstellungen von Wikimedia Deutschland

edit

WMDE möchte vorab Folgendes klarstellen:

  • Der Toolserver ist ein Community-Projekt. WMDE ist in einer koordinierenden Rolle, um das Projekt zu unterstützen. Die Migration der Tools muss jedoch von der aktiven Community selbst durchgeführt werden.
  • Tool-Entwickler, die ihre Software umziehen möchten, sollen damit nicht allein gelassen werden. WMDE wird sie dabei so gut wie möglich unterstützen. Alle Tool-Entwickler/innen, die technische Unterstützung für den Umzug möchten, sind aufgerufen, uns bis Ende September 2013 mitzuteilen, was sie genau brauchen. (“Wir”, das sind in diesem Fall entweder die Ansprechpersonen für den Toolserver bei WMDE oder die WMF-Admins, die an Tool Labs arbeiten.) Nach Ablauf dieser Frist können wir keine Support-Anfragen mehr annehmen.
  • Die oben erwähnte Verpflichtung auf freie Software bedeutet, dass niemand Anspruch auf eine 1:1-Übernahme der eigenen Tools erheben kann. Möglicherweise werden einige Tools von den Entwicklern auf Open-Source-Alternativen portiert werden müssen. WMDE übernimmt keine Verantwortung für den Erhalt aller Tools. Der Verein kann sich nicht unmittelbar um den Erhalt der auf dem Toolserver existierenden proprietären Software kümmern. Die Rechtsabteilung der WMF hat signalisiert, dass es möglich ist, Ausnahmen zu diskutieren: Wenn besonders wichtige Tools unter diese Regel fallen, dann wird die WMF von Fall zu Fall entscheiden, ob sie Lizenzen für eine bestimmte Software kauft. Als diskutierbares Beispiel nennt die WMF Software, die einer Universität gehört, die bereit wäre, der WMF und ihren Freiwilligen (nicht aber einer Einzelperson) eine Lizenz zu geben, dann kann darüber gesprochen werden. Eine solche Lizenz müsste jedoch sehr breit sein und die WMF ist nicht gewillt, lange oder im Detail über sie zu verhandeln.
  • WMDE hat den Toolserver formal betrieben und koordiniert den Migrationsprozess. Der Verein ist für Tool Labs jedoch nicht verantwortlich - dies ist ein WMF-Projekt.

Migration vom Toolserver - was WMDE den Tool-Entwickler/innen anbietet

edit
  • Technischen Support bei der Migration: Unser Softwareentwickler Johannes Kroll kann um Hilfe gebeten werden, wenn Tools angepasst werden müssen, um in Tool Labs zu laufen. Er nimmt bis zum 30.09.2013 entsprechende Anfragen entgegen und hilft dabei, den Programmieraufwand abzuschätzen. Wenn gewünscht, kann er beim Umprogrammieren helfen. Dafür steht ein Teil seiner Stelle von Oktober bis Dezember 2013 zur Verfügung, deshalb wird er eine Priorisierung vornehmen, wenn viele Supportanfragen kommen. (Der Support bei der Einrichtung von Accounts und der Orientierung in Tool Labs liegt bei der WMF.)
  • Dokumentation des Migrationsprozesses

Status von Tool Labs (Stand: 22.05.2013)

edit

Tool Labs besteht aus zwei Projekten in den Wikimedia Labs: "Tools" und "Tools-beta".

"Tools" ist eine stabile Produktivumgebung für Tools. Dieses Projekt wird von drei Administratoren mit root-Rechten aufgebaut und gewartet. Zwei davon arbeiten für die WMF, einer ist ehrenamtlich dabei. Freiwillige können root-Rechte bekommen, wenn sie eine Verschwiegenheitserklärung der WMF unterzeichnen (wie beim Toolserver). Admin-Zugang wird hier recht restriktiv gehandhabt, damit die Umgebung möglichst stabil bleibt.

"Tools-beta" ist eine experimentellere Umgebung für Tools. Dieses Projekt wird von der Community gewartet und ist flexibler in seinem Aufbau, so dass Tool-Maintainer mit Veränderungen in ihrer Umgebung experimentieren können.

Überblick über die vorhandenen Features in Tool Labs

edit
Thema Ziel / Meilenstein
Datenbank-Zugriff 6 von 7 Datenbank-Clustern werden in Labs repliziert. Private Nutzerdaten werden dabei herausgefiltert. Join-Anfragen (WP/Commons) sind über föderierte Tabellen (Links zu Tabellen auf einem anderen Cluster) möglich. Um Zugriff muss für jede Datenbank gebeten werden. (7. Cluster s.u.)
Dateisystem gemeinsamer Speicherplatz für Projekte und Home-Verzeichnisse (nfs)
Backup Ein automatisiertes Backup (für absolute Notfälle) ist in die allgemeine Backup-Infrastruktur für Labs integriert. Nutzer können selbst auf Backups der letzten 3 Stunden, der letzten 3 Tage und der letzten 2 Sonntage zurückgehen.
Webbasierte Dienste Unterstützung für Webservices funktioniert.
Jobsystem Ein Grid-Engine-Cluster mit Unterstützung für einmalig, regelmäßig und kontinuierlich auszuführende Jobs ist implementiert.
Support Zwei hauptamtliche und ein ehrenamtlicher Systemadministrator stehen für die Unterstützung zur Verfügung. Dazu kommen WMF-Admins, die auf der Ebene der Infrastruktur zusätzlichen Support geben können.
Bugtracker Der Bugzilla der WMF hat Komponenten für Tool Labs im “Produkt” Wikimedia Labs. Die Migration von Tickets aus Jira ist nicht unmöglich, aber jemand müsste ein Skript dafür schreiben.
Versionskontrolle In Gerrit können Git-Repositories für Labs angelegt werden. Die WMF hostet selbst kein SVN, aber Freiwillige können bei Bedarf ein SVN-Projekt in Labs anlegen.
Monitoring Nagios und Ganglia sind in Betrieb: http://nagios.wmflabs.org/icinga/, http://ganglia.wikimedia.org/latest/
Zugriff auf die Instanzen http- und sftp-Zugang stehen zur Verfügung. (Für Tool Labs gibt es einen direkt zugänglichen Proxy, der nicht pro Tool konfiguriert werden muss.)
Updates Alle Instanzen werden automatisch mit Aktualisierungen versorgt (unattended-upgrades), um Sicherheitsprobleme zu vermeiden.
Logs / Statistiken
  • Zugriff auf anonymisierte access logs, teilweise auch error logs. (Vollständige error logs werden erst mit Apache 2.4 zugänglich sein. Dieses Upgrade ist geplant.)
  • Webserver-Statistiken für Seitenaufrufe/Besuche: https://graphite.wikimedia.org/ (nur mit Labs-Account), https://gdash.wikimedia.org/ (offen zugänglich)
"tools-beta"-Projekt Zur Verfügung stehende Funktionalitäten: öffentlicher Webserver für Logs, CGI (perl, python) für Helfertools, eine Auswahl an Shells, php java, libtcl, imagemagick, optionale mysql-Projektdatenbanken (Alle Datenbanken werden von allen Instanzen aus zugänglich sein. Ihre Verwaltung liegt bei den jeweiligen Admins des Projekts, dem die Datenbank gehört.) Es steht eine kompatible python-Version für PyWikipediaBot bereit.
"tools-beta"-Projekt Softwarepakete: Tool-Entwickler werden nur lokal Software installieren können. Administratoren können alle Pakete aus Ubuntu Precise installieren und - wenn angemessen - aus den Raring-Backports. Wenn es sein muss, dann können sie selbst Pakete bauen und sie zum Repository der WMF hinzufügen.
Nutzung Etwa zwei Dutzend Tools sind in den letzten ca. sechs Wochen vom Toolserver migriert (http://tools.wmflabs.org/). Das Feedback ist insgesamt positiv. Die Migration für einfache Tools geht schnell und einfach.

Zeitplan

edit

Dieser Zeitplan klärt,

  • wann Tool Labs technisch soweit ist, dass es den Toolserver ersetzen kann,
  • welche Schritte im Rahmen einer Migration unternommen werden müssen.
Frist Thema Ziel / Meilenstein Verantwortung
ab dem 24.05.2013 Datenbank-Zugriff Tool Labs bietet die Datenbank-Replikation den ersten Testern an. Dafür haben sich schon Interessierte gemeldet.   Done WMF
ab dem 24.05.2013 Datenbank-Zugriff Herausfinden, bei welchen Tools die Lösung mit förderierten Tabellen nicht schnell genug ist. Für diese Tools bieten die WMF-Admins an, gemeinsam eine bessere Lösung zu suchen. {{done}} Für alle untersuchten Fälle für okay befunden. WMF, Community
24./25.05.2013 Amsterdam Hackathon Workshop zur Migration von Tools nach Tool Labs, direkte Hilfe   Done WMF, WMDE, Community
ab dem 24./25.05.2013 Migration von Tools RENDER beginnt mit Vorbereitungen für die Migration.   Done WMDE
31.05.2013 (abhängig von Datenbank-Replikation) Migration von Tools E-Mail an Tool-Maintainer, um Freiwillige zu finden, die migrieren und den Prozess dokumentieren. WMDE, Community
12.06.2013 Datenbank-Zugriff Datenbank-Cluster s7 (mit CentralAuth) wird repliziert.   Done WMF
15.06.2013 - 31.07.2013 Migration von Tools Ein paar Tool-Maintainer ziehen ihre Software um und dienen als Beispiele (kleine/leichte und ein größeres komplexeres Projekt). Begleitung durch Dokumentation des Prozesses.   Done Community (unterstützt von WMDE und WMF-Admins)
30.06.2013 Logs Verfahren zur Anonymisierung der Logs sind von der WMF-Rechtsabteilung gebilligt. WMF (Admins und Rechtsabteilung)
30.06.2013 E-Mail E-Mail-Funktion: Adressen für Tool-Maintainer und Tools WMF (Admins und Rechtsabteilung)
30.06.2013? (abhängig von OSM und evtl. auch RENDER) Status von Tool Labs Tool Labs stellt alle nötigen Funktionalitäten zur Verfügung, die es braucht, um den Toolserver zu ersetzen. Alle: WMF, WMDE, Community
30.09.2013 Migration von Tools Deadline für die Anmeldung von Supportbedarf: Bis jetzt haben sich alle gemeldet, die für die Migration Unterstützung brauchen. Community
30.09.2013 Migration von Tools RENDER ist nach Tool Labs umgezogen.   Done WMDE
30.09.2013 Accounts Neue am Toolserver Interessierte werden an Tool Labs verwiesen.   Done im TS Wiki WMDE
1. Oktoberhälfte 2013 Aufräumen Mail an alle inaktiven Accounts: Download der Daten bis 31.12.2013. Aufräumskript wird von TS-Admins zur Verfügung gestellt.   Done WMDE
1. Oktoberhälfte 2013 Accounts Alle (Einzel- und MMP-)Accounts erhalten ein Ablaufdatum Anfang 2014. Erste Verlängerung bis 01.06.2014, zweite Verlängerung bis 30.06.2014.   Done Ca. 300 Accounts wurden reaktiviert, Stand Ende März: noch ca. 200 aktive Accounts. WMDE
Okt. 2013 - März 2014 Migration von Tools Monatliche Erinnerungen mit Info-Links gehen an alle Tool-Maintainer, damit sie migrieren oder ihre Daten anderweitig sichern. WMDE
1. Januarhälfte 2014 Aufräumen Erneute Mail an alle jetzt inaktiven Accounts: Download der Daten bis 31.03.2013. Aufräumskript wird von TS-Admins zur Verfügung gestellt. WMDE
genauer Termin unbekannt OSM Die technischen Anforderungen für OSM sind definiert und vorhanden.   In progress Migration läuft. OSM, WMF
genauer Termin unbekannt OSM Datenbank-Zugriff auf OSM ist von Tool Labs aus möglich.   Done OSM, WMF
genauer Termin unbekannt OSM Postgresql/postgis läuft auf dedizierter Hardware   Done WMF
Termin unbekannt OSM Version 1 des Tileservers läuft als eigenes Projekt in den Wikimedia Labs   Done OSM-Freiwillige vom Toolserver
Mitte März 2014 Verbesserung der Infrastruktur Die Wikimedia Labs sind ins Rechenzentrum "eqiad" umgezogen.   Done WMF
Nach eqiad-Umzug Datenbank-Zugriff Auf allen Clustern gibt es Zugriff auf wikidatawiki und commonswiki für federated tables. WMF
Ende März 2014 / nach eqiad-Umzug Eingehende E-Mails Es gibt eingehende E-Mails für Tool-Entwicklerinnen und -Entwickler sowie für die Tools selbst. (Ausgehende E-Mails laufen.)   Done WMF (Admins und Rechtsabt.)
30.06.2014 Migration von Tools Alle Tools, die umziehen sollen/können sind umgezogen. Was noch auf dem Toolserver ist, wird vorerst als Backup vorgehalten, vor endgültigem Abbau des Toolservers gelöscht. Community (mit Unterstützung von WMF und WMDE)
30.07.2014 Stilllegung des Toolservers Wir haben einen Plan für den Verbleib der noch zu gebrauchenden Hardware. Community, WMDE
30.07.2014 Stilllegung des Toolservers Wir haben einen vereinbarten Termin für den Abbau der Hardware in Haarlem. WMDE, WMF
31.08.2014 Stilllegung des Toolservers Frist für das Anfordern von Backups endet, Achtung, Datenlöschung steht bevor! WMDE
unklar / abh. von OSM-Migration Stilllegung des Toolservers Alle Daten sind vom Toolserver gelöscht. WMDE, TS-Admins
unklar / abh. von OSM-Migration Stilllegung des Toolservers Der Toolserver ist stillgelegt, die brauchbaren Dinge wurden an ihre neuen Orte versandt. WMF, WMDE, TS-Admins
31.12.2014 Puffer: Vier Monate Reserve für Unvorhersehbares Jetzt ist wirklich alles erledigt. Alle: WMF, WMDE, Community
edit