Christoph Zurnieden: JavaScript Obfuscater

Beitrag lesen

Hi,

Danke erstmal für Deine Antwort,

"erstmal"? Warum diese Einschränkung? ;-)

Und ich kann es schon verstehen,  wenn ein Kunde für die Entwicklung eines Features auf einer Webseite zahlt, dass er dann nicht will, dass es eine woche später in der gleichen Form bei der Konkurrenz auftaucht.

Und warum hast Du das dann erst getan?

Das ist arg zu bezweifeln. Einiges, was an Opensource so rumfliegt benötigte _erheblichen_ Aufwand seitens der Ersteller und trotzdem kam keiner auf die Idee, den Code zu verstecken.
Es gibt aber wenige Firmen, die wirklich mit der Entwicklung von OSS Geld verdienen und das nicht ohne Grund.

Das wäre ja auch das falsche Geschäftsmodell. Unter bestimmten Umständen klappt das zwar auch, ist aber wirklich selten.

Will man als Firma wirklich die Entwicklungsleistung  verkaufen (ich meine jetzt nicht Distribution o.ä., wo der Verkauf einer Dienstleistung oder Bereitstellung der Software im Vordergrund steht), ist es unter Umständen problematisch, wenn der Code ohne weiteres eingesehen und ggf. kopiert werden kann.

Unter welchen Umständen? Doch nur, wenn Du das gleiche Programm mehrmals verkaufen willst. Dieses Geschäftsmodell stirbt jedoch so langsam aus. Nur noch Firmen mit ausreichend großer Masse können noch Profite im Closed-Source Markt erwirtschaften, kleine und mittelständische Betriebe jedoch nicht mehr. Die Zeit der kleinen Shareware, wo man von den knapp 5% Rücklauf gut leben konnte sind lang' vorbei.

Bei Web-Seiten hast Du zusätzlich noch das Problem, dass durch die hohe Änderungsdynamik des Web Code relativ schnell ausgetauscht, aktualisiert, kopiert usw. werden kann, sodaß ein Nachweis von "Code-Klau" schwer bis umöglich ist.

Wenn ich Dich richtig verstanden habe, dann ist das ein Kundenauftrag. Hat der schon bezahlt? Wenn ja: warum kümmert es Dich dann noch? Weil Du das gleiche Programm -- mühsam generisch gehalten -- noch öfter verkaufen möchtest? Das ist Dein gutes Recht, das zu versuchen, aber das ist hier nur sehr schlecht möglich. Die einzige Möglichkeit hast Du vertan: den Code sehr speziell auf den Kunden auszurichten und dann bei anderen für die Anpassung zu kassieren.
Das wäre dann aber nicht nur moralisch-ethisch sondern auch technisch verwerflich.
Dehalb jetzt einen Obfuskator?

Wenn Du den Code vor unrechtmäßiger Nutzung schützen möchtest dann definiere "unrechtmäßige Nutzung" und wähle die entsprechende Lizenz.
Das ist auch leichter gesagt als getan.

Ein Fachanwalt für Vertragsrecht ist da sicherlich gerne behilflich. Es existieren aber auch schon viele Vordrucke im Netz.

Natürlich, rechtlich hast du völlig recht: JavaScript-Code ist afaik ohnehin schon, wie auch jede HTML-Seite geistiges Eigentum

Sowas wie "geistiges Eigentum" gibt es nicht, hat es nie gegeben, ist ein Erfindung der Mediaindustrie. Jeder Urheber eines Werkes bekommt ein zeitlich begrenztes Verfügungs-Monopol _zugesprochen_ und in D auch nur, wenn eine gewisse Schöpfunghöhe gegeben ist (eine schlichte HTML Seite gehört laut aktueller Rechtssprechung übrigens nicht dazu. Komplexeres JS dagegen schon, bevor Du Dich aufregst), mehr nicht.

des Erstellers und als solches bereits rechtlich geschützt, das Rippen eines solchen JavaScript-Codes ohne Zustimmung des Autors ist somit nicht rechtmäßig, fertig.

Aber selbstverständlich kann das Dingen jeder rippen und benutzen, nur die Weiterverbreitung unterliegt gewissen Regeln. Da die Benutzung auf einer öffentlich zugänglichen Webseite den Tatbestand der Weiterverbreitung erfüllt wäre eine Genehmigung erforderlich.

Und wer schert sich in der Praxis darum? Niemand.

Die unmittelbare Konkurenz ist normalerweise klein und bekannt und kann damit auch stichprobenartig kontrolliert werden.

Wenn es Dir unangenehm ist, das man das Programm trotzdem einfach kopieren kann, dann nutze kein clientseitig auszuführendes Programm.
Es gibt nunmal leider Dinge, die Clientseitig ausgeführt werden MÜSSEN.

Ja, die Auswahl/Eingabe der zu bearbeitenden Daten und das "Wie". Mehr aber auch nicht!

Natürlich hat man die möglichkeit, nicht-interpreter-basierte Client-side-Techniken (wie Flash oder Java) zu nutzen, aber auch die haben nicht immer Vorteile sondern sind für manche Zwecke eben ungeeignet.

Nein, ich habe mich aus gutem Grund nicht auf interpreterbasierte Sprachen beschränkt, ich meinte _alle_ auf dem Client auszuführenden Programme.

Noch was: wenn ich als Kunde jemandes Seite besuche und sehe zufällig (weil irgendetwas nicht geklappt hat o.ä.) das der Javascriptcode gescrambelt wurde frage ich mich was der Kerl denn noch so alles zu verbergen hat und bin nicht nur als Kunde verloren sondern erzähle es auch weiter.
Wieso dieses? Nimmst Du es jemandem übel, dass er einen Internet-Dienst als JavaApplett umsetzt?

Kommt drauf an, generell wahrscheinlich erstmal nicht bzw wenn, dann eher aus anderen Gründen.

Dort kannst Du auch nicht in den Quell-Code gucken.

Ich kann alle Programme analysieren, die bei mir laufen.
Java kann übrigens und sollte auch als Quelloffen angesehen werden, da es zu einfach ist an gut lesbaren Code zu kommen. Oder warum meinst Du gibt es Obfuskatoren für Java? ;-)

so short

Christoph Zurnieden