Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Absichern von Quelltext gegen unerlaubtes kopieren (https://www.delphipraxis.net/156068-absichern-von-quelltext-gegen-unerlaubtes-kopieren.html)

Sinspin 18. Nov 2010 14:51

Absichern von Quelltext gegen unerlaubtes kopieren
 
Hallo,

wir wollen Teile unserer Projekte von einem externen Entwicklerteam, bzw. externen Entwicklern erweitern lassen.
Dabei möchten wir sicherstellen das die Entwickler unsere bereitgestellten Quelltexte, also unser Framework auf dem sie aufbauen müssen, zwar verwenden können aber nicht in der Lage sind die Quelltexte einfach zu kopieren und zu verkaufen oder damit eine eigene Firma aufzumachen.

Bisher sieht die Planung dafür so aus das die Entwickler von uns einen Remotezugang zu einer VM auf unserem Server bereitgestellt bekommen in der die IDE läuft und alle Komponenten und deren Hilfen, etc. installiert sind die benötigt werden. Zum Testen stellen wir entsprechende Verzeichnisse innerhalb der VM bereit.
Den Zugriff aufs Internet können wir leider nicht vollständig verhindern da zum Testen auf Webserver zugegriffen werden muss.

Was für Möglichkeiten kennt ihr um an den Quelltext zu kommen und wie könnte man den Zugriff verhindern? Zu 100% sicher geht es nicht, das ist klar. Und wenn dann die letzte Möglichkeit ranzukommen nur darin besteht den Quelltext abzufotografieren bin ich eigentlich schon ganz zufrieden.

Crosspost

@Mods: Ich weis nicht recht ob das hier passt, verschiebt es wenn sinnvoll.

hoika 18. Nov 2010 14:57

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Hallo,

nur die DCU's ausliefern ?
Die DCU's natürlich ohne Debug-Infos.


Heiko

RWarnecke 18. Nov 2010 14:58

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Wenn es in einer VM ist, dann könnt Ihr bei VMWare das Kopieren über den Zwischenspeicher blockieren. Dabei ist aber auch die Frage, wie soll der externe Entwickler über das Internet auf die VM zugreifen ?

himitsu 18. Nov 2010 15:08

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Sobald du die PAS auslieferst, kann jeder es kopieren, da man den Zugriff nicht verhindern kann und der Code halt im Klartext darin drinsteht.

Lösung sind die schongenannten DCUs (möglichts ohne große Debuginfos)


Ansonsten macht man das über entsprechende Verträge, worin man solche Handlungen unter Strafe stellt.
> also wenn die was klauen, dann könnt ihr da Rechtlich vorgehn
(so bekommt man zwar den Code nicht zurück, aber wenigstens etwas Geld und wenn die Firma nicht grad groß ist und genug finanzielle Mittel besitzt, dann müßte sie bei Vertragsbruch mit ihrer Existenz rechnen)

@RWarnecke: Alles was man sieht, das kann man kopieren ... und wenn man es dazu abschreiben muß (oder nur'n bissl was abguckt)


Es gab hier auch schonmal in irgendeinem Thread eine Diskusion zu sowas, also wo es darum ging Software z.B. bei den Chinesen entwickeln zu lassen.
Bei sowas wird eben meist auf die entsprechenden rechtlichen Möglichkeiten gebaut.

shmia 18. Nov 2010 16:27

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Eine technisch saubere Lösung wäre zuerst eine Schnittstelle zu definieren.
Fachbegriff: Bei Google suchencontract first design
In der Praxis sind es dann meist mehrere unterschiedliche Schnittstellen, weil die Hauptanwendung über eine Schnittstellen die externe Software benützt aber auch die externe Software über weitere Schnittstelle(n) Teile der Hauptanwendung benützt.

Das externe Entwicklerteam bekommt dann nur die Schnittstellen und die Anwendung (als Exe).

Man müsste auch mal prüfen, ob das externe Team euer Framework wirklich braucht
oder ob es nicht möglich wäre der ext. Software von Aussen alle notwendigen Daten zu übergeben.
Stichwort: Bei Google suchenDependency Injection

mschaefer 18. Nov 2010 18:36

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Die DCU´s mit einer intern eingebauter Registierungsnummer und eventuell Zeitstemple und eine Dokumentation der Aufrufe sollte es tun. Allerdings muß die Doku schon anständig sein,
sonst kostet das viel Zeit.

Grüße

Sinspin 19. Nov 2010 11:32

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Danke für eure Antworten!

Ums Verwenden einer VM (Remotezugriff via Citrix, o.ä.) oder eines Terminalservers werden wir nicht rumkommen da wir einige recht teure
Komponenten verwenden die wir den Entwicklern nicht einfach mal "schenken" wollen.
Verträge wird es auf jeden Fall geben, aber wie will man erkennen das jemand was kopiert hat, das sieht man dem Quelltext ja nicht an.
Dcu's zu verwenden ist da von vorn herein wahrscheinlich die bessere Lösung. Unser Framework kapselt und erweitert die Komponenten zum Zugriff auf die DB, und stellt Basisfensterklassen bereit. Diese müssten wir dann zur Designzeit als BPL bereitstellen und die Dcu's dazu für den gesammten Rest. Selbstverständlich dokumentiert, ansonsten bringt es ja nichts.
Soweit es möglich ist werden wir also, um nicht unsere gesammten Quelltexte bereistellen zu müssen, dll's erzeugen lassen die über ein Pluginsystem in unsere Software eingebunden werden. Da wäre es dann sogar möglich nichtmal die Software selber bereitzustellen sondern eine Testanwendung die nur den zum Implementieren nötigen Umfang hat.

himitsu 19. Nov 2010 11:48

AW: Absichern von Quelltext gegen unerlaubtes kopieren
 
Wenn man sich Hagens DEC mal als Vorbild nimmt, dann kann man die Dokumentation auch vereinfachen (zumindestens die Erstellung Dessen).

Einfach die Units kompilieren (DCU erstellen)
und eine Kopie der PAS dazulegen, wo alles nach "implementation" entfernt wurde.
Eventuell auch noch die ganzen "private"-Abschnitte aus den Klassen-Interfaces löschen.

> Achtung: die DCUs müssen natürlich mit der selben Compilerversion (besser sogar selbe IDE-Version, inkl. Updates) bereitgestellt werden, wie die Entwickler es benötigen.

Das Ganze könne man sich dann auch ganz leicht über ein kleines Delphiprogrämmchen zusammenstellen lassen.
> man kann die DCC32 auch einzelne Units/PAS zu DCUs kompilieren lassen
> und das löschen der wichtigen Teile kann man auch so erledigen, inkl. dem Kopieren in ein Exportverzeichnis
(also falls man öfters mal die Units übermitteln muß)


Weiß einer, wie das Delphi mit seinen Units macht?
Also wo man sich zwar über den Editor die Units/Quelltexte ansehn kann, aber wo zum Kompilieren ausschließlich die DCUs genutzt werden.
Das wäre hierbei ganz Praktisch, da sich der Compiler dann nicht an den unvolständigen Units verschlucken kann und man es im Editor dennoch recht einfach verwenden/ansehn kann.


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz