2010-04-30 7 views
5

Ich bin gespannt, ob alle PHP-Produkte Open Source sein müssen, wenn es auf der anderen Website bereitgestellt werden soll. Da PHP-Code durch Interpretation ausgeführt wird, scheint es kein Grund zu sein, andere Benutzer daran zu hindern, den Quellcode anzuzeigen, wenn ich ein PHP-Produkt auf einem anderen Host bereitstellen möchte.Ist es möglich, Close Sourced PHP-Produkt?

Also, PHP-Produkt ist bestimmt, um Open Source zu sein, oder?

Um genauer zu sein, angenommen, ich mache ein PHP-Blog-System. Ich möchte dieses Produkt an einige Blog-Hosting-Unternehmen verkaufen. Stimmt es, dass ich nicht verhindern kann, dass sie meinen Quellcode sehen, wenn sie ihn kaufen?

Antwort

1

Ja, es ist möglich. Zend Guard kann Ihren Quellcode verschlüsseln. Der Server muss dann einfach die Zend Optimizer verwenden, um Ihre Anwendung ausführen zu können.

Ich habe es noch nie versucht, also habe ich keine Erfahrung.

7

Open source ist über die Lizenz den Quellcode zu erhalten und nicht über die Fähigkeit es zu sehen ... Selbst mit kompilierten Sprachen es möglich ist, Quellcode zu extrahieren - die den Code nicht machen automatisch Open Source - aber jede Open-Source-Lizenz kann diesen Binärcode sogar in Open Source umwandeln.

2

Das Einfügen von nicht kompiliertem oder nicht verschleiertem Code auf einen Server qualifiziert ihn nicht als "Open Source". Um Open Source zu sein, muss der Code unter bestimmten Richtlinien in einer bestimmten Weise verteilt werden. Einfach Code auf einen Server zu setzen macht es nicht zu Open Source.

Es gibt viele Projekte in kompilierten Sprachen, die Open Source sind.

0

Nr

Ja, es ist dazu bestimmt, „Open Source“ in dem Sinne, dass jeder, der Zugriff auf den Server in der Lage sein wird, es zu sehen.

Echte "Open Source" -Projekte haben den Quellcode verteilt. Wenn niemand Zugriff auf den Server hat, kann er den Quellcode sowieso nicht bekommen. Wenn Sie jedoch eine Anwendung für ein Unternehmen schreiben und den Code auf ihrem Server ablegen, haben sie Zugriff auf die Quelle und können sie prüfen/ändern. Dies sollte jedoch kein Problem sein, da sie technisch den Code besitzen (wenn sie dafür bezahlt haben).

+0

Warum ist es eine schlechte Idee? – rjh

+0

Bearbeitete Antwort, und siehe http://www.codinghorror.com/blog/2005/05/obfuscating-code.html –

+0

"... technisch besitzen sie den Code (wenn sie dafür bezahlt haben)." Das ist eine vertragliche Sache und ist absolut NICHT unbedingt wahr. Nehmen Sie Windows - Sie haben dafür bezahlt, aber Sie haben sicherlich nicht das Recht, es zu prüfen oder zu modifizieren. In der Frage des OP klingt es eher so, als verkaufe er ein Produkt, das lizenziert ist, und er kann sicherlich die Lizenzvereinbarung schreiben, um Codeänderungen zu verbieten. (Dies steht im Gegensatz zu einem Auftragsjob, bei dem das Urheberrecht wahrscheinlich beim einkaufenden Unternehmen verbleibt.) – josh3736

0

Ich habe gesehen, wie Menschen tun dies vor:

exec(base64_decode('')); 

Obwohl nicht „perfekt“ es es vor neugierigen lookers verstecken. Ich würde jedoch nicht empfehlen, den Code zu verstecken. Wenn Sie es in Open-Source-Produkten erstellen, sollte die Anwendung auch opensource sein. Gib einfach eine Lizenz drauf.