PHP-Funktionen in DLL konvertieren
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
backup
beitrag
bsd
dll
formen
funktion
konverter
lizenz
parameter
produkt
programmiersprache
quellen
recht
rechtsfall
saugen
software
source
stecken
verfahren
weiterentwicklung
-
Ich habe einige Funktionen mit PHP geschrieben, die ich veröffentlichen will. Das soll aber nicht eine zu includierende riesiege PHP-Datei werden, sondern am Besten eine DLL-Programmbibliothek, die man einbinden könnte.
Weiß einer zufällig, wie das funktionert? Ich habe unter Google gesucht, aber nichts verwertbares gefunden.
Danke im Voraus!
Beitrag geaendert: 27.3.2007 12:30:12 von johny7 -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Zum Glück sind DLLs nicht groß und bestehen nicht aus Klassen...
-
samson schrieb:
Zum Glück sind DLLs nicht groß und bestehen nicht aus Klassen...
Wie funktioniert das dann mit der pdf_lib? Da wird auch eine dll in PHP als extension angegeben und - welch Wunder - auf einmal gibt es die Funktionen in PHP doch und es gibt keine Fehlermeldung, wie "undefined function...". So etwas möchte ich auch Produzieren. Alle meine Funktionen in einer DLL einbinden und unter PHP zur Verfügung stellen.
Das müsste doch so ungefähr funktionieren... -
Ich habe in C++ immer gelernt, dass eine DLL eine Sammlung von Klassen ist und auch ziemlich groß ist. Aber ich lasse mich gerne eines besseren belehren. Schieß los!
-
Wie funktioniert das dann mit der pdf_lib? Da wird auch eine dll in PHP als extension angegeben und - welch Wunder - auf einmal gibt es die Funktionen in PHP doch und es gibt keine Fehlermeldung, wie "undefined function...". So etwas möchte ich auch Produzieren. Alle meine Funktionen in einer DLL einbinden und unter PHP zur Verfügung stellen.
Das müsste doch so ungefähr funktionieren...
Der Unterschied ist: Die Funktionen / Klassen / Prozeduren / Variablen oder was sonst noch alles in einer DLL drin stecken kann, ist nicht mit PHP programmiert worden, sondern mit irgendeiner Programmiersprache, mit der man DLLs erstellen kann. -
trueweb schrieb:
Der Unterschied ist: Die Funktionen / Klassen / Prozeduren / Variablen oder was sonst noch alles in einer DLL drin stecken kann, ist nicht mit PHP programmiert worden, sondern mit irgendeiner Programmiersprache, mit der man DLLs erstellen kann.
Wie könnte ich dann trotdem meine in PHP geschriebenen Funktionen so veröffentlichen, dass der Quellcode nicht einsehbar ist? Oder gibt es mittlerweile Konverter, welche PHP in DLLs oder andere Programmiersprachen umwandeln können? -
Nein, das geht definitiv nicht. PHP wird nie kompiliert, sondern nur interpretiert. Jetzt raff ich auch was du meinst mit der pdf_lib. Das ist ein Modul, welches du in die php.ini einbinden kannst. Das ist nicht in PHP geschrieben. Sonst musst du deinen Code wie phpMyAdmin veröffentlichen.
-
Wie könnte ich dann trotdem meine in PHP geschriebenen Funktionen so veröffentlichen, dass der Quellcode nicht einsehbar ist? Oder gibt es mittlerweile Konverter, welche PHP in DLLs oder andere Programmiersprachen umwandeln können?
Das geht mit PHP eher schlecht, wie Samson schon richtig bemerkt hat ist PHP ein Interpreter und kein Compiler. Dll's vorkompilierte Pakete die jedoch nicht eigenständig lauffähig sind, sondern immer von anderen angesprochen werden müssen.
Du hast 2 Möglichkeiten. Entweder du machst dir die Mühe und transcodierst das ganze in eine CGI taugliche Sprache, dann kannst du einfach eine entsprechende kompilierte Datei herausgeben.
Alternativ kannst du auch dein Produkt unter eine entsprechende Lizenz stellen.
Gibt es einen bestimmten Grund warum du die Quellen nicht offen legen willst?
Oder einfach nur damit niemand deine Idee klauen kann.
Je nach dem eignet sich eine Lizenz à la "alle rechte liegen beim Autor" oder eine GPL ("auch weitere Produkte müssen Open Source sein") oder eine BSD Lizenz oder ähnliches.
Es gibt zwar sog. Obfuscatoren,
aber die bieten allesamt 1. keine Sicherheit vor jemandem der ernsthaft versucht an die Quellen zu kommen.
2. ist es für den Entsprechenden Webentwickler eher unpraktisch wenn er die quellen nicht einsehen kann, da er dann seine Schnittstellen zu deiner Bibliotek nicht optimal gestalten kann und kleine Anpassungen an die Umgebungsbedingungen auch nicht möglich sind. Es währe also schon in deinem eigenen Interesse die Bibliotek mit offenem Quellcode zu vertreiben. -
keiax schrieb:
Du hast 2 Möglichkeiten. Entweder du machst dir die Mühe und transcodierst das ganze in eine CGI taugliche Sprache, dann kannst du einfach eine entsprechende kompilierte Datei herausgeben.
Kann man CGIs denn compilieren? Das wusste ich ja noch gar nicht. Das muss ich mir mal näher anschauen... Danke für den Tipp!
Alternativ kannst du auch dein Produkt unter eine entsprechende Lizenz stellen.
Gibt es einen bestimmten Grund warum du die Quellen nicht offen legen willst?
Oder einfach nur damit niemand deine Idee klauen kann.
Je nach dem eignet sich eine Lizenz à la 'alle rechte liegen beim Autor' oder eine GPL ('auch weitere Produkte müssen Open Source sein') oder eine BSD Lizenz oder ähnliches.
Unter eine Lizenz stellen - was heißt das genau? Reicht es, wenn ich lediglich in meiner myfunctions.php ganz oben in Form eines Kommentars meine eigene Lizenzbedingungen in von mir bevorzugter Sprache verfasse? Gilt diese auch evtl sog. im Rechtsfall? Oder muss ich mir irgendwo eine Lizenz erwerben, bzw. registrieren?
GPL kenne ich, aber eine BSD-Lizenz? Sorry für die Fragen, ich kenne mich halt nur nicht so gut in der Sache aus...
Danke im Voraus. -
Unter eine Lizenz stellen - was heißt das genau?
Reicht es, wenn ich lediglich in meiner myfunctions.php ganz oben in Form eines Kommentars meine eigene Lizenzbedingungen in von mir bevorzugter Sprache verfasse? Gilt diese auch evtl sog. im Rechtsfall? Oder muss ich mir irgendwo eine Lizenz erwerben, bzw. registrieren?
Das heißt dass du die Nutzungsbedingungen Festschreibst.
Muss eine Lizenz erworben werden oder Nicht?
Darf der Quelltext verändert werden oder nicht?
Dürfen Fragmente des Quelltextes verwendet werden oder nicht?
Darf der Nutzer die Software weiterverkaufen?
Welche Rechte erwirbt der Nutzer mit dem Erwerben der Software?
etc.
Optimaler weise lässt du da einen Anwalt drüber schauen...
http://de.wikipedia.org/wiki/Lizenz
Eine Lizenz beschreibt die Nutzungsbedingungen deines Produkts Quasi wie eine AGB nur eben auf das Produkt bezogen.
Du kannst sie entweder direkt in den Kopf deiner Dateien reinschreiben, oder aber als Separate Datei ablegen und im Kopf jeder PHP Bibliotek darauf verweisen, und am besten noch drauf hinweisen dass die Software nicht ohne Lizenzfile weitergegeben werden darf ...
GPL kenne ich, aber eine BSD-Lizenz? Sorry für die Fragen, ich kenne mich halt nur nicht so gut in der Sache aus...
Die BSD Lizens ist relativ ähnlich der GPL oder LGPL Lizenz. Allerdings erlaubt sie im gegensatz zur GPL, die Weiterentwicklungen der Software auch unter GPL stellt, eine Komerzielle Nutzung des Codes, ohne dass die weiterentwicklung dann wieder unter die BSD Lizenz fällt.
http://de.wikipedia.org/wiki/BSD-Lizenz
http://de.wikipedia.org/wiki/MIT_Lizenz
http://de.wikipedia.org/wiki/GPL
PS: Wenn du die Art und Sitouation deiner Software etwas umschreibst kann ich dir eventuell auch noch etwas detailierter weiterhelfen. Das Richtige Lizenzmodell und die richtige Form aufgrund der bischerigen Beschreibung zu treffen ist eher schwierig.
Beitrag geaendert: 29.3.2007 14:48:58 von keiax -
keiax schrieb:
Das heißt dass du die Nutzungsbedingungen Festschreibst.
D.h. also wirklich, dass ich nicht wie beim Patentrecht (dort gilt ein Patent erst, wenn es angemeldet ist und nicht schon wenn irgend etwas in dieser Richtung auf dem Produkt geschrieben ist) meine Lizenz erst bei einer zuständigen Stelle anmelden muss, sondern z.B. einfach im Produkt ein Lizenz-File mitliefern kann. D.h. im Rechtsfall kann ich auch gegen Verstöße dieser von mir da erstellten Lizenz vorgehen. So habe ich dich zumindest verstanden
PS: Wenn du die Art und Situation deiner Software etwas umschreibst kann ich dir eventuell auch noch etwas detailierter weiterhelfen. Das Richtige Lizenzmodell und die richtige Form aufgrund der bischerigen Beschreibung zu treffen ist eher schwierig.
Es ist bei mir nicht etwas besonderes. Erst mal wollte ich sowieso allgemeine Informationen darüber. In meinem speziellen Fal habe ich im Laufe der Entwicklung eines Web-Projektes folgende Funktionen programmiert:
- Funktionen zum Auslesen, Verändern, Validieren und Zusammenfassen einer INI-File
- Funktionen zum Suchen nach Laufwerken (A,C,F usw.)
- Eine Funktion zum Aktualisieren eines ganzen Verzeichnisbaumes mit Unterverzeichnissen, Änderungsdatum, Backup-Verzeichnis, uva. Parametern
- Funktionen zum Korrigieren von Pfadangaben
u. einige andere. -
johny7 schrieb:
D.h. also wirklich, dass ich nicht wie beim Patentrecht ... meine Lizenz erst bei einer zuständigen Stelle anmelden muss, sondern z.B. einfach im Produkt ein Lizenz-File mitliefern kann. D.h. im Rechtsfall kann ich auch gegen Verstöße dieser von mir da erstellten Lizenz vorgehen. So habe ich dich zumindest verstanden
Das hast du richtig verstanden, eine Lizenz kannst du festlegen, im gegensatz zu einem Patent darf aber auch ein anderer unabhängig ein gleiches Verfahren entwickeln und unter seine Lizenz stellen, solange er glaubhaft machen kann, von deinem Verfahren nichts gewusst zu haben.
...
- Funktionen zum Auslesen, Verändern, Validieren und Zusammenfassen einer INI-File
- Funktionen zum Suchen nach Laufwerken (A,C,F usw.)
- Eine Funktion zum Aktualisieren eines ganzen Verzeichnisbaumes mit Unterverzeichnissen, Änderungsdatum, Backup-Verzeichnis, uva. Parametern
- Funktionen zum Korrigieren von Pfadangaben
u. einige andere.
Willst du die vermarkten?
Ansonsten würde ich dir empfehlen das ganze direkt unter die GPL zu stellen,
damit Zwingst du leute die deine Bibliotek weiter entwickeln das ganze wieder als Opn Source zu veröffentlichen und vermeidest so dass deine Verfahren in einem Komerziellen Programm landen. -
keiax schrieb:
Willst du die vermarkten?
Ansonsten würde ich dir empfehlen das ganze direkt unter die GPL zu stellen,
damit Zwingst du leute die deine Bibliotek weiter entwickeln das ganze wieder als Opn Source zu veröffentlichen und vermeidest so dass deine Verfahren in einem Komerziellen Programm landen.
Doch nicht vermarkten! Nur schützen, dass keiner meinen Code klaut und nachher sagt: Den hab ich mir ausgedacht bzw. auch noch gerade vermarktet! -
Dann stell ihn einfach unter GPL,
Die verbietet es eine Weiterentwicklung des Codes kommerziell zu nutzen.
Das ist dann denke ich die einfachste und beste Lößung. Und es hat den Vorteil, dass auch andere den Code weiterentwickeln können, wenn sie wollen.
Beitrag geaendert: 3.4.2007 13:04:38 von keiax -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage