März 12, 2011

Das Hypergrid-Desaster

Eines der schönsten Features am Opensimulator ist die Technik namens Hypergrid. Diese ermöglicht dezentrale Assetstores, man kann überall sein Inventar hin mitnehmen wo Hypergrid ist und es ist eines der Killerfeatures, die viele an Opensimulator schätzen gelernt haben. Man bewegt sich nahtlos von Grid A nach C über B und hat überall sein liebgewonnenes Inventar mit dabei. Eine schöne, feine Sache im Prinzip.

Nun ist es so, dass die erste Implementierung, auch gerne Hypergrid Version 1.0 genannt, mehr ein „Proof of Concept“ gewesen ist als schon wirklich für den Produktiveinsatz gedacht. Das macht im Prinzip erst einmal nichts, Opensimulator ist ja offiziell immer noch vom Status her als Alpha eingestuft und damit ist dort sehr vieles im Fluss. Oft schneller, als manchem lieb sein kann. Hypergrid v. 1.0 hatte vor allem eine Schwäche: ein externer Server konnte dem lokalen Server mal eben einfach so sagen „Lösche dies und jenes“ und er hat es getan, oder aber – weil er das gesamte Inventar sah – alles zu sich kopieren. Es soll auch Fälle geben, wo dies geschah – entweder aus Böswilligkeit oder aber einfach aus Programmierfehlern.

Jedenfalls ist das eine Sache, die in Hypergrid v. 1.5 behoben wurde. Auf dem externen Grid sieht man fortan nur noch einen Ordner „My Suitcase“, und in dem landen erst einmal alle Objekte, umgekehrt sieht das externe Grid auch nur diesen Ordner. Es ist also ein erster Ansatz an Sicherheit für das eigene Inventar, der bei Version 2.0 noch stärker ausgebaut werden soll. Das Hypergrid ist eigentlich für Content Creators, die das bisherige Geschäftsmodell von Linden Lab gewohnt sind, sowieso der absolute Albtraum.

Nun ist es aber leider so, das Hypergrid 1.5 mit dem letzten, offiziellen Release von Opensimulator v. 0.7.0 eingeführt wurde, aktuell ist 0.7.0.2, herausgekommen vor knapp sechs Monaten im letzten September. Seitdem aber drehte sich die Welt weiter und es gab im Hypergrid v. 1.5 noch diverse Fehler, die dazu führten, dass man das Protokoll modifizierte und anpassen musste. Die notwendigen Änderungen aber wurden nicht – wie man es normal erwarten würde – in eine Version 0.7.0.3 von Opensimulator eingepflegt, sondern sind nur im Bleeding Edge verfügbar.

Das führte dazu, dass sich Hypergrid 1.5 fragmentierte. Die einen Grids lassen nun Hypergrid v. 1.5i6 laufen, die anderen 1.5i7 – und da alle diese Versionen untereinander inkompatibel sind, heißt es für den Simbetreiber nun entweder oder.

Die Inkompatibilität ist wohl notwendig, da der Fehler selber zum Teil sich im Protokoll wiederfand. Schlecht ist es aber, das es bisher keinen Backport der aktuellen Hypergrid-Version auf das letzte, aktuelle Release gegeben hat. Andere Projekte handhaben so etwas normal besser, andererseits ist es hier eine Alpha-Software mit sehr wenig wirklichen Entwicklern bei der Arbeit, so dass sie vermutlich einfach die Zeit dafür nicht haben.

Dennoch: es ist und bleibt unschön, und ausbaden darf diese unnötige Fragmentierung letzten Endes der Benutzer der Software.