Hallo,
Zuerst mal etwas zu meiner Person, damit diese Idee nicht sofort zerrissen wird. Ich bin begeisterter Python Programmierer und programmiere seit 8 Jahren ein Opensource Project in Python, es ist eine Warenwirtschaft und hat ungefähr 30.000 Zeilen Quellcode. (www.cuon.org).
Nun also zu meinen Vorschlag. Ich möchte einen Server erstellen, der mit dem Secondlife Viewer bzw. dem Hippoviewer zusammenarbeitet. Ich kenne das Opensimulator Projekt, aber dieses Mono, .Net macht mir Bauchschmerzen. Ich meine, das Python wesentlich besser geignet ist.
Es geht ja in der Hauptsache um web, datenbank-anbindung, xmlrpc, scripting und da hat Python wirkliche Stärken:
twisted web module, sql anbindungen, hochproduktive Syntax, offen ohne Patentdrohungen.
Als Datenbank könnte Postgres zum Zuge kommen, mit seinem stored Procedures in Python oder plpgsql meiner Meinung nach die erste Wahl.
Als 3D Engine kommt eine vorhandene ( oder mehrere ) Engine in Frage.( die sind in C oder C++ geschrieben und bereits vorhanden)
Meiner Meinung nach könnte dieses 3d-Web wirklich mal eine Zukunft sein, einfaches Gestalten der "Webinhalte" durch intuitives Bauen, nicht durch html-Seiten schreiben.
Vielleicht haben ja ein paar von euch Interesse, es würde mich freuen.
Tschüss
Jürgen
3d Simulator Welt
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ich kann aus deinem Beitrag nicht ohne Weiteres heraus lesen, was das von dir angestrebte Software-Projekt denn nun genau können soll.
Du möchtest einen SecondLife Server in Python nach bauen?
Du möchtest einen SecondLife Server in Python nach bauen?
Bottle: Micro Web Framework + Development Blog
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo,Defnull hat geschrieben:Ich kann aus deinem Beitrag nicht ohne Weiteres heraus lesen, was das von dir angestrebte Software-Projekt denn nun genau können soll.
Du möchtest einen SecondLife Server in Python nach bauen?
Ja , richtig, der SecondLife Server besteht hauptsächlich aus Netzwerk- und Datenbankdiensten. Leider ist die mir einzig bekannte Alternative das opensimulator projekt in C#.
Deshalb meine ich, das wir versuchen sollten, eine GPL Alternative in Python zu schaffen. Das ist natürlich kein Project für 1 oder 2 Leute, ein paar mehr sollten es schon sein.
Es existiert ein freier 3D viewer von LindenLabs, so das "nur" der Server entsprechend programmiert werden muß.
Damit wären dann wirklich eine Menge an Möglichkeiten gegeben, es ist für Bildungszwecke, Konferenzen, Chat, Spaß usw. eine ideale Grundlage.
Tschüss
Jürgen
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Ich glaube, du unterschätzt den Aufwand. Und Python ist für einen MMO Server auch nicht die richtige Sprache.
Bottle: Micro Web Framework + Development Blog
Du könntest dir vielleicht mal Croquet anschauen, das ist zwar kein SecondLife oder Python aber immerhin kein C#. Defnull hat übrigens recht, unterschätze den Aufwand nicht, an Croquet programmieren Firmen mit, die damit Geld verdienen.
@Defnull: Python ist schon nicht verkehrt, CCP(EVE Online) benutzt das ja auch ausgiebig.
PS: Von 3D-Web halte ich mal so rein gar nichts.
@Defnull: Python ist schon nicht verkehrt, CCP(EVE Online) benutzt das ja auch ausgiebig.
PS: Von 3D-Web halte ich mal so rein gar nichts.
- Defnull
- User
- Beiträge: 778
- Registriert: Donnerstag 18. Juni 2009, 22:09
- Wohnort: Göttingen
- Kontaktdaten:
Spiele verwenden Python meistens Clientseitig oder für Spielmechanik, die sich häufig ändert (z.B. Quest-Steuerung in MMOs) aber niemals für Performance-kritische Serverkomponenten.
Bottle: Micro Web Framework + Development Blog
Wenn ich das schon schreibe, hättest du wenigstens mal nach CCP, Python und server googeln können. Ok, sie mögen die einzigen sein die das tun, aber sie sind immerhin auch die einzigen, die ich kenne, all ihre Spieler in einer „Welt“ versammelt haben.Defnull hat geschrieben:Spiele verwenden Python meistens Clientseitig oder für Spielmechanik, die sich häufig ändert (z.B. Quest-Steuerung in MMOs) aber niemals für Performance-kritische Serverkomponenten.
Zuletzt geändert von Darii am Montag 28. Dezember 2009, 20:49, insgesamt 1-mal geändert.
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo,
ok, vielleicht sehe ich das falsch, aber ich bin mir sicher, das Python eine der besten Sprachen für so ein Project ist.
Um es möglichst klar auszudrücken, es geht nicht um das berechnen von 3D Werten, Rendern und änlichen, das mach eine 3D Engine. Es geht darum, diese Werte und Datenbankwerte über einen Webserver bereit zustellen.
Zu dem Einwand, das es kein kleines Projekt ist, ok, das ist richtig, deshalb suche ich ja auch Unterstützung
Andererseits habe ich die Erfahrung mit Python gemacht, das es viel produktiver als andere Sprachen ist, so das ein Team von 5 -8 Programmierern dies vielleicht schaffen kann.
Tschüss
Jürgen
ok, vielleicht sehe ich das falsch, aber ich bin mir sicher, das Python eine der besten Sprachen für so ein Project ist.
Also, dies ist ein wirklich besonderer Fall. Und Python stellt gerade hierfür mit den twisted Tools eine hervorragende Lösung bereit. Diese Tools sind die Grundlage für den Web- und Application Server ZOPE und es geht in diesen Secondlife Server ebenfalls und das Bereitstellen von Webbasierten Informationen.Defnull hat geschrieben:Spiele verwenden Python meistens Clientseitig oder für Spielmechanik, die sich häufig ändert (z.B. Quest-Steuerung in MMOs) aber niemals für Performance-kritische Serverkomponenten.
Um es möglichst klar auszudrücken, es geht nicht um das berechnen von 3D Werten, Rendern und änlichen, das mach eine 3D Engine. Es geht darum, diese Werte und Datenbankwerte über einen Webserver bereit zustellen.
Zu dem Einwand, das es kein kleines Projekt ist, ok, das ist richtig, deshalb suche ich ja auch Unterstützung

Andererseits habe ich die Erfahrung mit Python gemacht, das es viel produktiver als andere Sprachen ist, so das ein Team von 5 -8 Programmierern dies vielleicht schaffen kann.
Tschüss
Jürgen
- jens
- Python-Forum Veteran
- Beiträge: 8502
- Registriert: Dienstag 10. August 2004, 09:40
- Wohnort: duisburg
- Kontaktdaten:
Dzu könntest du vielleicht die Game Engine aus Blender nehmen. In Blender kann man schließlich auch in Python prima programmieren...jhamel hat geschrieben:Um es möglichst klar auszudrücken, es geht nicht um das berechnen von 3D Werten, Rendern und änlichen, das mach eine 3D Engine.
Wenn ich das richtig verstanden habe von jhamel gehts ihm ums Serverseitige, Blender wäre ja wieder Clientseitig und für den Client würde es LindenLabs schon gegeben, oder verstehe ich da was falsch?jens hat geschrieben:Dzu könntest du vielleicht die Game Engine aus Blender nehmen. In Blender kann man schließlich auch in Python prima programmieren...jhamel hat geschrieben:Um es möglichst klar auszudrücken, es geht nicht um das berechnen von 3D Werten, Rendern und änlichen, das mach eine 3D Engine.
the more they change the more they stay the same
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo, danke für den Tip, Blender wird zum Generieren von 3D Objekten genommen, die man in diese Welt einladen kann.jens hat geschrieben:Ich meinte natürlich Blender als Client Lösung
Es stehen mehrere sehr gute Clients, einige davon unter der GPL, zur Verfügung. (Hippo-Viewer, SL-client)
Das "Problem" ist für mich im Augenblick nur der Server, da existiert eine freie Implemetation unter MONO (.NET) und das gefällt mir nicht. Ich persönlich sehe einfach die Gefahr, das eine entscheidene Zukunftstechnologie evtl. mit Patenten bedroht ist. Also möchte ich eine wirklich freie Server-Version haben, und das am liebsten in Python programmiert.
Das Projekt sähe also so aus: 4-6 Server Module (User-Server, Grid-Server, Inventory-Server, Asset-Server,...) und ein SIM-Modul.
Ich habe mir gestern abend mal den user-Server angeschaut und eine kleine Test-Implematation aufgebaut. Dazu habe ich mir mit ngrep den Netzwerktraffic anzeigen lassen und gesehen, das der Client einen xmlrpc-Aufruf startet: login_to_simulator(value).
Diese Funktion habe ich nachgebaut und eine Dummy-Dic mit den Rückgabewerten zurückgegeben. Der Client konnte sich verbinden.
Es gibt sehr gute Seiten im Netz, so das dies alles recht gut dokumentiert ist.
Es ist natürlich kein kleines Projekt, aber ein machbares !
Tschüss
Jürgen Hamel
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Alles genau richtig, Es geht um die Server-Seitige Lösung, Clients sind als OpenSource Lösungen in bester Qualität für Linux, Windows und Mac vorhanden.Dav1d hat geschrieben:Wenn ich das richtig verstanden habe von jhamel gehts ihm ums Serverseitige, Blender wäre ja wieder Clientseitig und für den Client würde es LindenLabs schon gegeben, oder verstehe ich da was falsch?
Faktisch sind diese Clients 3D-Browser wie eben der firefox ein 2-D Browser ist.
Uns fehlt einfach ein guter Web-Server der speziell diese Art von Daten überträgt.
Tschüss
Jürgen
Hört sich interressant an
the more they change the more they stay the same
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo,
ich habe hier mal die Anmeldeseite für das derzeitige Grid,
http://sim-linuxmain.org:8081/CuonGrid/index.html
dort ist ein Grid mit 11 Sims am laufen, einfach anmelden, den Hippoviewer downloaden und dann sich das Grid anschauen.
Dort könnten dann z.B. Treffen der Projektmitglieder abgehalten werden
Hat einer von euch einen Namesvorschlag für das Projekt ? Ich möchte es in den nächsten Tagen bei berlios anmelden, außerdem möchte ich einen V-Server als Testserver zur Verfügung stellen.
Tschüss
Jürgen
ich habe hier mal die Anmeldeseite für das derzeitige Grid,
http://sim-linuxmain.org:8081/CuonGrid/index.html
dort ist ein Grid mit 11 Sims am laufen, einfach anmelden, den Hippoviewer downloaden und dann sich das Grid anschauen.
Dort könnten dann z.B. Treffen der Projektmitglieder abgehalten werden

Hat einer von euch einen Namesvorschlag für das Projekt ? Ich möchte es in den nächsten Tagen bei berlios anmelden, außerdem möchte ich einen V-Server als Testserver zur Verfügung stellen.
Tschüss
Jürgen
Zwei Anmerkungen von mir:
Das Patent-Argument ist keines. Patente drohen immer und überall und sind sprachunabhängig. Wenn du das selbe in Python schreibst, was in der C#-Bibliothek steht und patentiert ist, dann hast du das Patent auch verletzt. Und wenn du dich entschließt, die ganze Patentscheiße zu ignorieren, dann kannst du das auch in C# machen. Tatsächlich ist dort die Situation noch etwas besser, denn Microsoft hat öffentlich erklärt, dass sie Lizenzen für ihre Patente gewähren und hoffentlich so viele Patente halten, dass niemand wagt, sie anzugreifen. Außer natürlich Patenttrolle, die nichts haben, was sie verlieren könnten. Aber diese werden sich an Microsoft wenden, denn da ist mehr zu holen, als bei einem Entwickler. So hat Sun vor einigen Jahren ja mal die Java-Community vor einem (IMHO lächerlichen) RPC-Patent für die gar nicht lächerliche Summe von $90 Mio freigekauft. Wetten, dass das Patent auf auch Python-Programme zutrifft, die RPC machen?
Wo ich gerade XML-RPC las: http://www.patentstorm.us/patents/7028312.html - bis 2019 also bitte kein XML-RPC oder Merrick, Allen oder Lapp könnten rechtliche Schritte einreichen. Patentdrohungen sind überall!
Wenn man den SecondLife-Client benutzen will (ist das eigentlich gestattet, diesen für andere Server zu benutzen, theoretisch könnten die das ja untersagt haben - oder er ist patentiert ;), muss der eigene Server ja das selbe Protokoll wie der andere offene Server da (und die SecondLife-Server selbst) sprechen. Im wesentlichen würde man also eine Implementierungssprache durch eine andere austauschen. Ich sehe da noch keinen großen Vorteil. Zudem, wenn du eine weniger großzügige Lizenz einsetzen willst, als die aktuelle "mach was du willst" BSD-Lizenz.
Ich meine mal aufgeschnappt zu haben, dass Lindenlabs selbst Mono einsetzt und extra um Continuations erweitert hat, damit Prozesse angehalten und von einem Server auf einen anderen transportiert werden können und dort weiterlaufen können. So könnte es bei OpenSim dank Mono doch durchaus Vorteile im Codeaustausch mit Lindenlabs geben, sollten die noch mehr Server-Code freigeben. Zudem verstehe ich das so, dass man doch in SecondLife überall so kleine Programme schreibt, die dann auf dem Server laufen. Diese in einer beliebigen .NET-Sprache zu verfassen statt auf diese selbst gemachte Scriptsprache von Lindenlabs (die der Autor im selben Vortrag, in dem sie die etwas über Mono erzählt haben als nicht wirklich gelungen bezeichnet hat) angewiesen zu sein und dafür (in Python) einen eigenen Interpreter schreiben zu müssen.
Der Artikel auf Wikipedia freut sich zwar, dass OpenSim der Defacto-Standard werden könnte, doch ich vermute doch, dass er die selbe Architektur wie SecondLife hat und diese war AFAIK entscheidend dafür verantwortlich, dass das ganze Ding nicht skaliert.
Gibt es eigentlich mehr Informationen darüber, wie Eve Online serverseitig funktioniert? Die haben es doch wohl als eine der ganz wenigen geschafft, mehr als ein paar hundert (im Falls von SecondLife) oder paar Tausend (im Falle der meisten MMORPGs wie WoW) User auf einem Server(-Grid) zu versammeln. Oder sind Raumschiffe im Weltall einfacher zu verwalten (weil man ja quasi nur einen Vektor im Raum (6 Zahlen) braucht) als eine Welt am Boden?
Ich bin kein Experte auf dem Gebiet, aber obwohl ich Python mag, würde ich's nicht für so ein Projekt einsetzen. Meine Annahme wäre, dass man nebenläufige Prozesse in großer Zahl braucht. Da fällt mir natürlich sofort Erlang ein. Allerdings ist mir diese Programmiersprache zu archaisch, sodass ich vielleicht über Clojure nachdenken würde (Lisp-Syntax mag ich im Gegensatz zu Prolog-Syntax nämlich). Allerdings erfordert das (wie übrigens auch Twisted) eine reactive Programmierung und das Actor-Modell von Erlang ist IMHO einfacher zu benutzen. Wenn es ein Forschungsprojekt wäre und ich genügend Zeit hätte, würde ich vielleicht darüber nachdenken, die Semantik von Clojure oder Erlang und die Syntax von Python zu verschmelzen. Man müsste Python möglichst die Dictionaries austreiben, um es schnell zu bekommen. Oder man nimmt gleich JavaScript.
Es gibt übrigens auch von Sun so ein Virtuelle-Welten-Projekt. Darkstar und Deamland sind zwei Stichworte. Mehr weiß ich darüber auch nicht, musste aber bei Clojure als auf der JVM laufenden Sprache daran denken, dass man hier vielleicht Gigantenschultern hat, auf die man aufsteigen kann.
Stefan
Das Patent-Argument ist keines. Patente drohen immer und überall und sind sprachunabhängig. Wenn du das selbe in Python schreibst, was in der C#-Bibliothek steht und patentiert ist, dann hast du das Patent auch verletzt. Und wenn du dich entschließt, die ganze Patentscheiße zu ignorieren, dann kannst du das auch in C# machen. Tatsächlich ist dort die Situation noch etwas besser, denn Microsoft hat öffentlich erklärt, dass sie Lizenzen für ihre Patente gewähren und hoffentlich so viele Patente halten, dass niemand wagt, sie anzugreifen. Außer natürlich Patenttrolle, die nichts haben, was sie verlieren könnten. Aber diese werden sich an Microsoft wenden, denn da ist mehr zu holen, als bei einem Entwickler. So hat Sun vor einigen Jahren ja mal die Java-Community vor einem (IMHO lächerlichen) RPC-Patent für die gar nicht lächerliche Summe von $90 Mio freigekauft. Wetten, dass das Patent auf auch Python-Programme zutrifft, die RPC machen?
Wo ich gerade XML-RPC las: http://www.patentstorm.us/patents/7028312.html - bis 2019 also bitte kein XML-RPC oder Merrick, Allen oder Lapp könnten rechtliche Schritte einreichen. Patentdrohungen sind überall!
Wenn man den SecondLife-Client benutzen will (ist das eigentlich gestattet, diesen für andere Server zu benutzen, theoretisch könnten die das ja untersagt haben - oder er ist patentiert ;), muss der eigene Server ja das selbe Protokoll wie der andere offene Server da (und die SecondLife-Server selbst) sprechen. Im wesentlichen würde man also eine Implementierungssprache durch eine andere austauschen. Ich sehe da noch keinen großen Vorteil. Zudem, wenn du eine weniger großzügige Lizenz einsetzen willst, als die aktuelle "mach was du willst" BSD-Lizenz.
Ich meine mal aufgeschnappt zu haben, dass Lindenlabs selbst Mono einsetzt und extra um Continuations erweitert hat, damit Prozesse angehalten und von einem Server auf einen anderen transportiert werden können und dort weiterlaufen können. So könnte es bei OpenSim dank Mono doch durchaus Vorteile im Codeaustausch mit Lindenlabs geben, sollten die noch mehr Server-Code freigeben. Zudem verstehe ich das so, dass man doch in SecondLife überall so kleine Programme schreibt, die dann auf dem Server laufen. Diese in einer beliebigen .NET-Sprache zu verfassen statt auf diese selbst gemachte Scriptsprache von Lindenlabs (die der Autor im selben Vortrag, in dem sie die etwas über Mono erzählt haben als nicht wirklich gelungen bezeichnet hat) angewiesen zu sein und dafür (in Python) einen eigenen Interpreter schreiben zu müssen.
Der Artikel auf Wikipedia freut sich zwar, dass OpenSim der Defacto-Standard werden könnte, doch ich vermute doch, dass er die selbe Architektur wie SecondLife hat und diese war AFAIK entscheidend dafür verantwortlich, dass das ganze Ding nicht skaliert.
Gibt es eigentlich mehr Informationen darüber, wie Eve Online serverseitig funktioniert? Die haben es doch wohl als eine der ganz wenigen geschafft, mehr als ein paar hundert (im Falls von SecondLife) oder paar Tausend (im Falle der meisten MMORPGs wie WoW) User auf einem Server(-Grid) zu versammeln. Oder sind Raumschiffe im Weltall einfacher zu verwalten (weil man ja quasi nur einen Vektor im Raum (6 Zahlen) braucht) als eine Welt am Boden?
Ich bin kein Experte auf dem Gebiet, aber obwohl ich Python mag, würde ich's nicht für so ein Projekt einsetzen. Meine Annahme wäre, dass man nebenläufige Prozesse in großer Zahl braucht. Da fällt mir natürlich sofort Erlang ein. Allerdings ist mir diese Programmiersprache zu archaisch, sodass ich vielleicht über Clojure nachdenken würde (Lisp-Syntax mag ich im Gegensatz zu Prolog-Syntax nämlich). Allerdings erfordert das (wie übrigens auch Twisted) eine reactive Programmierung und das Actor-Modell von Erlang ist IMHO einfacher zu benutzen. Wenn es ein Forschungsprojekt wäre und ich genügend Zeit hätte, würde ich vielleicht darüber nachdenken, die Semantik von Clojure oder Erlang und die Syntax von Python zu verschmelzen. Man müsste Python möglichst die Dictionaries austreiben, um es schnell zu bekommen. Oder man nimmt gleich JavaScript.
Es gibt übrigens auch von Sun so ein Virtuelle-Welten-Projekt. Darkstar und Deamland sind zwei Stichworte. Mehr weiß ich darüber auch nicht, musste aber bei Clojure als auf der JVM laufenden Sprache daran denken, dass man hier vielleicht Gigantenschultern hat, auf die man aufsteigen kann.
Stefan
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo,
Zu MONO und Patente gibt es sehr viele Threads in Netz, ich denke, so eine Diskussion sprengt den Rahmen hier.
Der Secondlife Client steht unter der GPL, es gibt auch andere Clients. Und ich halte die GPL(Linux) für interessanter als die BSD Lizenz.
Also, Ich habe seit 1 1/2 Jahren ein Grid laufen, auf 3 Servern in Netz( 2 root-Server 4GB, dual-core) und eine VM. Und es gab und gibt erhebliche Probleme mit MONO, die Linux-Version von MONO hinkt gewaltig hinter der .Net hinterher, Pakete für Debian, Ubuntu,... sind teilweise nur im Experimentellen Zweig zu erhalten, crashs oder 100% CPU Last sind häufig ! Seit 3 Monaten bekomme ich neue Versionen gar nicht mehr zum Laufen, die Lösung wäre alles löschen und neu installieren. Also habe ich diesen Vorschlag in den Raum gestellt.
Ich stelle mir es so vor, das erstmal die Datenserver durch Python Module ersetzt werden, danach dann der Sim-Server. Ja, ich weiss, dass es erhebliche Probleme gibt, aber ich würde es gerne probieren.
Tschüss
Jürgen
Zu MONO und Patente gibt es sehr viele Threads in Netz, ich denke, so eine Diskussion sprengt den Rahmen hier.
sma hat geschrieben: Wenn man den SecondLife-Client benutzen will (ist das eigentlich gestattet, diesen für andere Server zu benutzen, theoretisch könnten die das ja untersagt haben - oder er ist patentiert, muss der eigene Server ja das selbe Protokoll wie der andere offene Server da (und die SecondLife-Server selbst) sprechen. Im wesentlichen würde man also eine Implementierungssprache durch eine andere austauschen. Ich sehe da noch keinen großen Vorteil. Zudem, wenn du eine weniger großzügige Lizenz einsetzen willst, als die aktuelle "mach was du willst" BSD-Lizenz.
Der Secondlife Client steht unter der GPL, es gibt auch andere Clients. Und ich halte die GPL(Linux) für interessanter als die BSD Lizenz.
Also, Ich habe seit 1 1/2 Jahren ein Grid laufen, auf 3 Servern in Netz( 2 root-Server 4GB, dual-core) und eine VM. Und es gab und gibt erhebliche Probleme mit MONO, die Linux-Version von MONO hinkt gewaltig hinter der .Net hinterher, Pakete für Debian, Ubuntu,... sind teilweise nur im Experimentellen Zweig zu erhalten, crashs oder 100% CPU Last sind häufig ! Seit 3 Monaten bekomme ich neue Versionen gar nicht mehr zum Laufen, die Lösung wäre alles löschen und neu installieren. Also habe ich diesen Vorschlag in den Raum gestellt.
Die Server von LindenLabs sind in C++ programmiert, MONO wird neben den LSL als Scriptsprache inWorld eingesetzt.Ich meine mal aufgeschnappt zu haben, dass Lindenlabs selbst Mono einsetzt und extra um Continuations erweitert hat, damit Prozesse angehalten und von einem Server auf einen anderen transportiert werden können und dort weiterlaufen können. So könnte es bei OpenSim dank Mono doch durchaus Vorteile im Codeaustausch mit Lindenlabs geben, sollten die noch mehr Server-Code freigeben.
Ich stelle mir es so vor, das erstmal die Datenserver durch Python Module ersetzt werden, danach dann der Sim-Server. Ja, ich weiss, dass es erhebliche Probleme gibt, aber ich würde es gerne probieren.
Tschüss
Jürgen
Da hast du sicherlich recht. Mich stört nur, dass 90% der ganzen Diskussion FUD ist. Nicht das ich Microsoft verteidigen möchte, aber so schlecht wie sein Ruf ist Mono nun auch nicht.Zu MONO und Patente gibt es sehr viele Threads in Netz, ich denke, so eine Diskussion sprengt den Rahmen hier.
Bei der Lizenzfrage gab ich nur zu bedenken, dass aufgrund der Einschränkungen der GPL das andere Projekt als interessanter angesehen werden könnte. Welche Lizenz der Client hat, ist ja egal.
Wenn Mono in der Entwicklung und Stabilität Microsofts Implementierung nicht hinterherhinkt, laufen dann die meisten dieser Systeme unter Windows? Wird das vielleicht auch unter Windows implementiert? Wenn es dir um den Betrieb einer virtuellen Welt geht, warum wählst du dann nicht selbst ebenfalls Windows als Server?
Ich verstehe jetzt aber den Vorschlag, warum es Sinn machen könnte, das existierende System in einer Sprache, die Linux-näher ist, nochmals neu zu entwickeln. Aber wäre es nicht sinnvoller, darauf zu warten bzw. mitzuhelfen, dass Mono besser wird? Ich verfolge nur die Ankündigungen in Miguel de Icazas Blog, doch da freuen sie sich immer, wie toll und noch besser Mono geworden ist.
Andererseits ist sinnvoll nicht gleichbedeutend mit dem, was auch Spass macht :) Wenn schon neu schreiben, dann würde ich's wohl in Java versuchen, wissend, dass man dadurch die beste (schnellste) plattformunabhängige Implementierung bekäme. Zudem könnte man wahrscheinlich den Quelltext halbautomatisch umwandeln - vielleicht sogar mit einem Python-Programm ;)
Ich weiß nicht, was Daten-Server und Sim-Server sind - offenbar zwei getrennte Systeme - doch wenn sie klein genug sind und hauptsächlich "IO bound", dann sollte das auch in Python gehen. Und ein spannendes Projekt ist das bestimmt. Außerdem lernt man wohl zwangsläufig jede Menge C#
Stefan
-
- User
- Beiträge: 37
- Registriert: Sonntag 2. Juli 2006, 16:03
- Wohnort: Ostwestfalen
- Kontaktdaten:
Hallo,sma hat geschrieben:Wenn Mono in der Entwicklung und Stabilität Microsofts Implementierung nicht hinterherhinkt, laufen dann die meisten dieser Systeme unter Windows? Wird das vielleicht auch unter Windows implementiert? Wenn es dir um den Betrieb einer virtuellen Welt geht, warum wählst du dann nicht selbst ebenfalls Windows als Server?
Stefan
Es hinkt aber beachtlich hinterher, hier nur kurz aus der wikipedia:
Also erst geplant, und noch weit entfernt, so das es meiner Ansicht nach noch 2-4 Jahre hinterherhinkt.Mit der am 6. Oktober 2008 veröffentlichten Version 2.0 wurden die wichtigsten Eigenschaften von .NET 2.0 in Mono hinzugefügt und es gibt mit dem Projekt Olive auch eine Initiative, die neueren Technologien von .NET 3.0 und .NET 3.5 zu implementieren
Auch aus der Wikipedia:
Also müßte ich Windows benutzen. Damit hätte ich praktisch gesehen nicht mehr die freie Wahl des Betriebssystems und müßte auch noch Lizenzgebühren bezahlen. Dies wäre für mich bei einem bedeutenden Projekt nicht tragbar, deshalb will ich ja eine freie Alternative haben, die dann, so meine Hoffnung, wesentlich stabiler läuft.Die grundlegenden Technologien sind teilweise durch Microsoft bei Ecma International und der ISO standardisiert worden. Microsoft garantiert eine Lizenzierung der ECMA-Teile auf RAND-Basis. Andere Teile, wie zum Beispiel Windows Forms, ADO.NET, und ASP.NET sind hiervon jedoch ausgeschlossen.
Mein persönlicher Eindruck ist eben, das MONO sehr schwer zu händeln ist, unheimlich Resourcen hungrig ist und sehr instabil.
Da würde ich eine schnelle, leichte, stabile Python-Variante vorziehen.
Es hängt natürlich hauptsächlich davon ab, ob überhaupt ein paar Entwickler die Zeit für eine Initative investieren wollen. Das Python für größere Projekte geeignet ist, steht für mich außer Frage.
Tschüss
Jürgen
Eine Neuentwicklung kostet aber auch erheblich Zeit und wird gerade in der Anfangsphase dem Vorbild in punkto Stabilität hinterherhinken. Bzw. im Funktionsumfang. Ob es da nicht schneller ist, auf eine stabilere Umgebung zu warten oder gar daran mitzuwirken?