Frage

Zur Zeit ein Django-app Ich bin Hosting ich mich für meine Kunden entwickelt, aber ich bin jetzt bei Verkauf an Menschen zu suchen beginne für sie selbst zu hosten.

Meine Frage ist: Wie kann ich einen Django-app verpacken und verkaufen, während ihren Code von Produktpiraterie oder Diebstahl zu schützen? klingt nicht wie eine gute Idee, eine Reihe von Py-Dateien zu verteilen, wie die Leute, die ich es zu verkaufen nur Kopien von ihnen machen könnten und geben sie nicht an.

Ich denke, für die Zwecke dieses Problems wäre es sicher davon ausgehen, dass jeder, der diese das gleiche (LAMP) Setup ausführen würden kauft.

War es hilfreich?

Lösung

Versuchen Sie nicht und verschleiern oder den Code verschlüsseln - es wird nie funktionieren

.

Ich würde vorschlagen, die Django-Anwendung „als Service“ verkaufen - entweder Gastgeber es für sie, oder sich den Code verkaufen und Unterstützung . Aufzuschreiben einen Vertrag, der ihnen verbietet, es umzuverteilen.

Das heißt, wenn Sie bestimmt den Code in irgendeiner Weise zu verschleiern -. Sie Python verteilen können Anwendungen vollständig als .pyc (Python kompiliert Byte-Code) .. Es ist, wie py2app funktioniert

Es wird noch neu verteilbar sein, und wird es sehr schwierig sein, die Dateien zu bearbeiten - so dass Sie einige grundlegende Lizenzierung Sachen hinzufügen könnten, und hat es nicht durch ein paar #s vereitelt ..

Wie gesagt, ich glaube nicht, dass Sie in der Anti-Piraterie durch Verschlüsselung oder Verschleierung usw. gelingen wird .. Je nach Ihren Kunden einen einfachen Vertrag, und vielleicht ein paar wirklich grundlegende Überprüfungen wird eine lange viel weiter als einige gehen kompliziertes Entschlüsselungssystem (und macht die Erfahrung, um Ihre Anwendung mit besser , anstelle von hoffentlich nicht schlechter )

Andere Tipps

So wie ich darüber gehen würde, ist dies:

  1. Verschlüsseln der gesamten Code
  2. Schreiben Sie einen Installer, der Kontakt mit dem Server mit den Hostnamen und Lizenzdatei der Maschine und den Entschlüsselungsschlüssel erhält, entschlüsselt dann den Code und stellt es auf Python-Bytecode
  3. Fügen (im Installer) ein Modul, das die Maschine der Hostnamen und Lizenzdatei beim Import überprüft und stirbt, wenn sie nicht übereinstimmt

Auf diese Weise hat der Benutzer nur den Server zu kontaktieren, wenn die Host-Name ändert und auf dem ersten Installation, aber Sie eine kleine Schicht von Sicherheit zu bekommen. Sie könnten die Hostnamen etwas komplexer ändern, aber es gibt wirklich keine Notwendigkeit, -. Jemand, der dies Piraten will so tun wird, aber ein einfacher Mechanismus, wie das wird ehrlich Leute ehrlich hält

Sie können die ganze Sache als Amazon Machine Instanz (AMI) verpacken, und dann haben sie Ihre Anwendung laufen auf Amazon EC2 . Das Schöne an dieser Lösung ist, dass Amazon href="http://docs.amazonwebservices.com/AWSEC2/latest/DeveloperGuide/index.html?paidamis-intro.html" kümmern Abrechnung für Sie , und da Sie die gesamte Maschine Bild sind verteilen, können Sie sicher sein, dass alle Ihre Kunden den gleichen LAMP-Stack verwenden. Die AMI ist eine verschlüsselte Maschine Bild, das so konfiguriert ist, aber Sie es wollen.

Sie können Amazon Rechnung haben der Kunde mit einer einmaligen Gebühr, nutzungsabhängige Gebühr oder monatliche Gebühr.

Natürlich ist diese Lösung erfordert, dass Ihre Kunden ihre App bei Amazon hosten, und die entsprechenden Gebühren zahlen.

„Verschlüsseln“ Python-Quellcode (oder Bytecode, oder wirklich Bytecode für jede Sprache, die es verwendet - nicht nur Python) ist wie die kleinen JavaScript Dinge einige Leute auf Webseiten setzen, um zu versuchen die rechte Maustaste deaktivieren und erklärte, „jetzt können Sie meine Bilder nicht stehlen!“

Die Abhilfen sind trivial und wird nicht eine bestimmte Person zu stoppen.

Wenn Sie wirklich ernsthaft über ein Stück Python-Software zu verkaufen, müssen Sie ernsthaft handeln. Zahlen einen Anwalt Lizenz / Vertragsbedingungen zu erstellen, haben die Menschen stimmen zum Zeitpunkt des Kaufes zu ihnen, und dann lassen Sie sie einfach die eigentliche Software. Das heißt, Sie müssen werden Menschen vor Gericht ziehen, wenn sie die Lizenz / Vertragsbedingungen verletzen, aber Sie würden das nicht tun müssen, ganz gleich, was (zum Beispiel, wenn jemand bricht Ihre „Verschlüsselung“ und startet die Software zu verteilen) und mit die tatsächliche richtige Form der Rechts Worte bereits auf dem Papier, mit ihrer Unterschrift niedergelegt, wird auf lange Sicht für Ihr Unternehmen weit besser sein.

Wenn Sie wirklich sind , die paranoid über Menschen „stehlen“ Ihre Software allerdings nur Stick mit einem gehosteten Modell und gibt ihnen nicht Zugriff auf den Server. Viele erfolgreiche Unternehmen sind auf Basis dieses Modells.

Sie werden nie den Quellcode von Menschen zu halten in der Lage, die es wirklich will. Es ist am besten mit dieser Tatsache in den Griff zu kommen, jetzt und später selbst die Kopfschmerzen speichern.

Darf ich offen reden, als Freund? Es sei denn, Ihre Anwendung ist wirklich erstaunlich, können Sie nicht viele Käufer bekommen. Warum verschwenden die Zeit auf Rechtsanwälte, Verschleierung, Lizenzierung und so weiter? Sie stehen einen besseren Ruf von Open-Sourcing-Code zu gewinnen ... und Aufrechterhaltung es.

Django kommt von dem Open-Source-Ende des Spektrums aus Lizenzierung (und Verschleierung). Zugegeben, die MIT-Lizenz häufiger als die GPL; sie sind immer noch sehr beide weit von so etwas wie Microsoft EULA entfernt. Viele Djangophiles bei Closed-Source-Code sträuben wird, einfach weil das ist, was Microsoft tut.

Auch werden die Leute dem Code mehr Vertrauen, da sie in der Lage sein werden, sie zu lesen und überprüfen, dass es keinen schädlichen Code enthält. Denken Sie daran, „Verschleiern“ bedeutet „Versteck“; und wer wirklich genau wissen, was Sie versteckt haben?

Zugegeben, es gibt keine einfache Möglichkeit, Open-Source-Code zu monetarisieren. Aber Sie könnten Ihre Dienste anbieten oder sogar eine Kampagne auf Pledgie.com veröffentlichen, für diejenigen, die für alle Ihre großartige Arbeit dankbar sind.

Eine Sache, die Sie wollen vielleicht prüfen ist, was FogBugz tut. Fügen Sie einfach eine kleine binäre (vielleicht ein C-Programm), die für die Zielplattformen kompiliert und enthält den Code, um die Lizenz zu überprüfen.

Auf diese Weise kann die ehrlichen Menschen ehrlich mit minimalen Kopfschmerzen auf Ihrer Seite halten.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top