Seite 4 von 14

Verfasst: 04.07.2008 07:47
von Danilo
Fabio hat geschrieben:Ich meine auch, wenn ich mit PB einen Dll erzeuge, dann darf nur ich, bzw. ein anderer sie nutzen der auch PB hat.
Da funktionen von PB enthalten sind.
Wenn Du mit PB eine DLL erstellst und die enthaltenen Befehle selbst
programmiert hast, dann ist das doch kein Problem.
Du kannst alle PB-Befehle, von OpenWindow über alle Gadgets bis
hin zu Sprites usw., selbst mit APIs schreiben. Das ist dann Deine Arbeit,
also kannst Du damit auch machen was Du möchtest.

Verfasst: 04.07.2008 08:33
von X0r
Und man darf natürlich auch Funktionen von PB in DLLs verwenden. Man darf sie halt nicht "wrappen".

Verfasst: 04.07.2008 08:46
von ZeHa
Selbst WENN Du eine DLL machst, die ein paar der PB-Befehle nutzt, ist das überhaupt kein Problem. Wenn doch, dann wäre die PB-Lizenz so scheiße daß ich PB sofort von meiner Festplatte löschen würde ;)

In der Hilfe steht lediglich, daß man keine DLL bauen darf, die einen Wrapper auf die PB-Libs darstellt, sodaß jeder die umfangreiche PB-Lib auch in anderen Sprachen nutzen könnte, was auch verständlich ist. Denn die PB-Lib ist ein wesentlicher Bestandteil, und das Weiterkopieren eines solchen Wrappers wäre quasi vergleichbar mit einer Raubkopie von PB.

Aber wenn ich z.B. eine Physik-Engine als DLL mit PB programmiere, dann kann ich darin so oft Sin() und Cos() verwenden, wie ich lustig bin. Und wenn ich eine Netzwerk-Engine mache, dann darf ich da so oft ich will die Network-Befehle nutzen. Etc etc etc. Erst wenn ich die Befehle direkt wrappe, dann wird es heikel.



Was nun Paladium angeht: Hier sieht es wirklich etwas schwierig aus, denn es bietet tatsächlich quasi-"direkten" Zugriff auf die PB-Libs, es kann somit als eine PB-Alternative angesehen werden, die im Wesentlichen auf die Original-PB-Lib zurückgreift.

Meiner Meinung nach ist das aber auch erstmal kein Grund zur Verzweiflung. Ich würde mich einfach mit Fred in Verbindung setzen und ihm das Projekt vorstellen. Wenn Paladium eine solide Sache ist, dann findet er es vielleicht cool und bietet das als offizielles Zusatz-Tool an, denn eine Skripting-Möglichkeit für PB ist nicht gerade unpraktisch. Wenn das offiziell integriert wird wäre das sicherlich auch cool für Dich :)


PS: Hat Paladium eine bestimmte Bedeutung? Ich kannte das Wort bisher nur mit Doppel-L. Wenn das gemeint ist, würde ich's noch umbenennen, ansonsten sieht es etwas komisch aus.

Verfasst: 04.07.2008 11:43
von cxAlex
Kaeru Gaman hat geschrieben:ne du hast seine frage nicht verstanden...

er meint, wenn es quasi ein PB-Interpreter ist,
dann stellst du ja damit jemandem PB für umsonst zur Verfügung,
und damit verstößt du gegen die PB Lizenz.

so meinte er das, und die Frage sollte vielleicht noch geklärt werden...
Wenn ich einen Interpreter schreibe der PB-Syntax ausführen kann, stelle ich damit niemanden PB zur Verfügung. Erstens ist es PB nur (sehr) ähnlich, zweitens ist es mit der Geschwindigkeit von PB überhaupt nicht zu vergleichen.

Das andere Problem, das ZeHa angesprochen hat, ist das PaladiumX (übrigens bedeutet der Name nichts) wirklich einige Befehle aus PB 1:1 nutzt. Nun ist es aber so das ich keine Wrapper geschrieben habe, also DLL-Funktion ist 1:1 mit der PB-Funktion, sondern die DLL's nur eine Funktion haben,( loadlib() ), die dann einen String zurückgeben, der, wenn richtig interpretiert, erst Zugriff auf die Funktionen bietet. Sehr umständlich für einen Wrapper, oder ? :mrgreen:

Verfasst: 04.07.2008 11:53
von edel
In der Hilfe steht doch das man keinen Wrapper erstellen darf,
deren Hauptziel es ist, die PB Befehle bereitzustellen. Da
hier aber die Scriptsprache im Vordergrund steht, seh ich da
ueberhaupt keinen "Verstoss", falls man das ueberhaupt so
nennen kann.

Verfasst: 04.07.2008 12:41
von Little John
edel hat geschrieben:In der Hilfe steht doch das man keinen Wrapper erstellen darf,
deren Hauptziel es ist, die PB Befehle bereitzustellen. Da
hier aber die Scriptsprache im Vordergrund steht,
Und was macht die Scriptsprache? Sie führt Befehle aus.
Was sind das für Befehle und wie werden sie letztlich ausgeführt? Ein kurzer Blick zeigt mir beispielsweise Sqr(), CRC32Fingerprint(). Wenn cxAlex derlei Dinge selbst programmiert hat, sehe ich auch kein Problem. Wenn aber z.B. die PaladiumX-Funktionen Sqr() oder CRC32Fingerprint() die entsprechenden PB-Funktionen aufrufen um zu ihrem Ergebnis zu gelangen, würde ich das schon als "Wrapper" bezeichnen. Letztlich würde dadurch die Funktionalität von PB den Nutzern anderer Programmiersprachen kostenlos zur Verfügung gestellt, was Fantaisie Software verständlicherweise nicht möchte. Das ist doch, denke ich, der Sinn des betreffenden Passus' in der Lizenz.
Da die Begriffe "Wrapper" und "Hauptziel" nicht allgemeingültig präzise definiert sind, würde ich als Autor einer solchen Scriptsprache auf jeden Fall bei Fantaisie Software nachfragen, ob's Probleme mit der PB-Lizenz gibt. Warum sollte man denn eigentlich nicht fragen?

Gruß, Little John

Verfasst: 04.07.2008 12:51
von ZeHa
Also wie gesagt, ich würde allein deshalb schon fragen, weil Fred evtl. sogar Interesse dran haben könnte. Das sollte man bei der Anfrage dann natürlich auch gleich berücksichtigen, also nicht fragen "ist das ok wenn ich so 'ne Skriptsprache anbiete die von manchen als PB-Wrapper angesehen wird" sondern eher "ich hab eine Skriptsprache entwickelt für PB, wäre das evtl. interessant als offizielle Erweiterung/Lib".

Verfasst: 04.07.2008 12:58
von Little John
2ZeHa: ACK.

Gruß, Little John

Verfasst: 04.07.2008 13:00
von cxAlex
Little John hat geschrieben:Letztlich würde dadurch die Funktionalität von PB den Nutzern anderer Programmiersprachen kostenlos zur Verfügung gestellt, was Fantaisie Software verständlicherweise nicht möchte. Das ist doch, denke ich, der Sinn des betreffenden Passus' in der Lizenz.
Die Funktionalität von PB würde den Benutzern aber nur innerhalb von PaladiumX zur Verfügung stehen, und wo ist der Unterschied ob ich Val() nutze um die Eingabe eines Benutzers umzuwandeln oder ob der Benutzer selbst enscheidet Val() oder was auch immer aufzurufen. Konkurrenz zu PB wird PX nie sein, alleine der Geschwindigkeit wegen.

Wenn du es allerdings so siehst das PB Funktionen in PX eingebunden sind und PX als DLL in andere Programmiersprachen eingebunden werden kann muss man aber schon um 2 Ecken denken um das als einen Wrapper zu bezeichnen.

Verfasst: 04.07.2008 13:06
von cxAlex
Ganz blöde Frage: würde Fred das verstehen wenn ich ihm auf Deutsch frage? Mein English ist eher :( .

(Sollte in einer HTL eigenlich nicht so sein aber naja... :lol: )