Wie kann ich Entwickler daran hindern, meine erstellte statische Bibliothek zu verwenden?

8

Ich habe eine statische Bibliothek in iPhone SDK erstellt, und ich bin besorgt, dass, wenn ich Code an jemanden, in dem statische Bibliothek verwendet wird, bereitstellen, dann kann jeder statische Bibliothek verwenden. Gibt es eine Möglichkeit, sie zu beschränken, indem Sie die Bibliothek verwenden, bis sie eine Lizenz erhalten? Ich bin neu in der Lizenzierung einer Bibliothek.

    
iMOBDEV 02.08.2011, 12:40
quelle

5 Antworten

21

Dies ist ein Problem, das Sie mit rechtlichen Mitteln lösen müssen, nicht mit irgendeiner technischen Lösung.

Achten Sie darauf, die Bibliothek nur Personen zu geben, denen Sie vertrauen, und wenn nötig, unterschreiben Sie eine Vereinbarung, diese nicht zu verbreiten.

Fragen Sie sich auch, ob es sich lohnt. Ist Ihr Code so einzigartig, dass er ihn nicht anderswo finden kann, oder duplizieren Sie ihn in wenigen Tagen selbst, indem Sie Google und stackoverflow alleine verwenden?

    
PeyloW 02.08.2011, 13:18
quelle
2

Wie von @PeyloW gesagt,

  

Dies ist ein Problem, das Sie rechtlich lösen müssen   bedeutet, nicht durch irgendeine technische Lösung.

Aber gibt es einige einfache Möglichkeiten, um den Code zu blockieren: Sie können ein RAR- oder ZIP-Archiv erstellen, verschlüsselt mit Passwort, und nachdem sie eine Lizenz erhalten haben, können Sie ihnen das Passwort sagen / p>     

akashivskyy 19.08.2011 08:03
quelle
1

Wenn Sie die "Lizenz" an einen "Entwickler-Computer" binden wollen, brauchen Sie einfach etwas, das Sie binden können. Dies kann zum Beispiel die UDID des Emulators sein.

Sie können eine Lizenz für die UDID des Emulators generieren und nur die Emulatorentwicklung begrenzen, während Sie uneingeschränkten Zugriff für den ARM-Code (auf dem Gerät) erlauben

  • Sie können also im Prinzip nach der Emulator UDID
  • suchen
  • Lizenzdatei prüfen
  • Wenn die Lizenzdatei diese UDID zulässt, führen Sie
  • aus
  • Wenn nicht, dann zeige eine Nachricht usw.

Für Entwicklungszwecke braucht jeder Emulator, also schätze ich, es ist genug für dich.

    
Deniz Mert Edincik 22.08.2011 19:08
quelle
1

Ich persönlich würde eine neue statische Bibliothek erstellen, Ihre Codeabdeckung überprüfen und nur den Code kopieren, der von der App verwendet wird, die sie verbraucht. Oder mit anderen Worten, gib nicht mehr weg, als du brauchst.

Dann, wie jemand in den Kommentaren erwähnt, verschleiern die Anrufe. Ihre Bibliothek wird wertlos ohne Dokumentation, wenn Ihre Anrufe entschlüsselt werden müssen. Wahrscheinlichkeiten sind, dass jeder, der die Fähigkeit hat zu entziffern, was Ihre Anrufe bedeuten, wahrscheinlich 80% eines White-Room-Reverse-Engineering Ihres Codes bereits getan hat.

Sie können Ihrem Kunden in der letzten Stunde keine Lizenz auferlegen, es sei denn, er stimmt zu. Selbst wenn Sie versuchen würden, sie zu zwingen, Ihre Bibliothek zu lizenzieren, ist dies möglicherweise nicht einmal gültig, wenn die ursprüngliche Vereinbarung intakt ist. Ich würde Schadensbegrenzung in dem Maße vornehmen, wie es Ihre Zeit wert ist, und dies als Lernerfahrung beschreiben. In 5 Monaten werden Sie wahrscheinlich diese statische Bibliothek zu etwas Besserem umstrukturiert haben. Und das nächste Mal werden Sie das in Ihre Vereinbarung einarbeiten.

    
MutantNinjaCodeMonkey 26.08.2011 07:46
quelle
0

Wenn Sie die statische Bibliothek bereitstellen, kann niemand den Code zurückerhalten.

Haben Sie auch in anderen Reservierungen mit Ihrer statischen Bibliothek?

    
Ilanchezhian 02.08.2011 12:43
quelle

Tags und Links