Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Projektplanung und -Management (https://www.delphipraxis.net/85-projektplanung-und-management/)
-   -   Quellcode dem Auftraggeber herausgeben? Wie...? (https://www.delphipraxis.net/187083-quellcode-dem-auftraggeber-herausgeben-wie.html)

SearchBot 26. Okt 2015 19:26

Quellcode dem Auftraggeber herausgeben? Wie...?
 
Hallo,

mein Auftraggeber hat für ein exklusiv für ihn geschriebenes Programm bezahlt, daher hat er die berechtigte Anfrage nach dem Quellcode des Programms gestellt. Es könnte ja sein, daß mir etwas passiert und das Programm aber weiter gepflegt werden muss, nur eben nicht mehr von mir...

Wir sind daher überein gekommen, daß ich die Quelltexte zur Verfügung stelle. Der Auftraggeber schließt sie im Safe ein und würde sie nur zu Rate ziehen, wenn es nicht anders geht. Das ist für mich ok, da der Quelltext kaum kommentiert ist... ;-)

Klar kann ich einfach den Projektordner kopieren, aber dann würde jemand anderes durch die verwendeten Komponenten beim Compilieren womöglich endlose Fehlermeldungen bekommen.

Hat Delphi XE da ein Export-Tool oder gibt es sowas? Ich stelle mir das so vor, daß das Tool den Quelltext analysiert und alle nötigen Dateien zB in ein neues Verzeichnis zusammenträgt.

Worauf sollte ich sonst noch achten, damit es ohne großen Aufwand wieder compilierbar wird/bleibt? - Ich gehe davon aus, daß der "Nachfolger" dann ein passendes Delphi installiert hat!
(Ich muss das wahrscheinlich in einem Readme hinterlegen und beschreiben).

Tipps, Ratschläge erwünscht ;-)

Phoenix 26. Okt 2015 19:31

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Das ganze nennt sich Escrow, und da gibt es Dienstleister die einen da beraten und die Hinterlegung auch komplett durchtesten, so dass das Hinterlegte auch tatsächlich nutzbar ist.

z.B. der TÜV Süd (natürlich auch Nord, da hab ich den Link aber nicht zur Hand) bietet das an: http://www.tuev-sued.de/industrie-ko...oftware-escrow

Damit brauchst Du Dich auch nicht darauf verlassen, dass er das auch einfach so aus dem Safe zieht und Dich Arbeitslos macht, sondern der TÜV händigt das wirklich nur aus, wenn Du Dein okay gibst, oder Du Insolvent gehst oder Dir im Zweifel wirklich was zustösst.

mensch72 26. Okt 2015 20:31

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
macht es nicht so kompliziert, dafür gibt es heute VM's !

In einer VM(ware) kann ein komplett fix und fertig eingerichtetes Delphi samst Source und (Referenz)Testumgebung archiviert werden.

Wer auch immer später es nutzen soll/will/muss, der braucht nur einen VM(ware) Player welcher auf dem dann aktuellem Windows/OSX oder Linux noch läuft und diese VM mit derzeit aktuellem Intel x86/x64 Code starten kann.

Wenn der Kunde den Code "exclusiv" bezahlt hat, denn kann der sich um die Aufbewahrung dieser VM kümmern.
Wenn Kunden nur einen Wartungsvertrag haben, hinterlege ich solche VMs mit einer entsprechenden Verfügung bei einem Notar(grob ala: sollte bei meiner Verhinderung einer meiner Mitarbeiter nicht in Zeit X das Kundenproblem lösen, bekommt Kunde Zugriff auf diese VM mit den Referenzdaten für das Projekt und den Quellcode)

Sowas kostet fast nix und ist auch sicher in Streitfällen wenn Gutachter die Klätung von Schadenfällen hinsichtlich "grobfahrlässiger" Programmierung bezüglich möglcher Produkthaftung beurteilen sollen.

Phoenix 26. Okt 2015 20:42

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Und was ist mit den Lizenzen? Das ist im Prinzip ne Raubkopie die man dem Kunden da gibt.

Perlsau 26. Okt 2015 20:59

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Also wenn ein Kunde extra für die Entwicklung bezahlt und nicht für eine Lizenz, dann gehört dem Kunden auch der Quellcode. Natürlich ist es üblich, daß der Entwickler den Quellcode behält, weil der Kunde nichts damit anzufangen weiß. Ich hab bislang allen meinen Kunden, die für eine Individualsoftware bezahlten – das ist eine Software, die einzig für diesen speziellen Kunden entwickelt wird oder wurde und daher auch nicht wirklich für andere Kunden brauchbar ist –, den Quellcode überlassen. Meines Erachtens sollte des dem Kunden freistehen, für Weiterentwicklungen einen anderen Entwickler beauftragen zu können, falls ich z.B. verindert oder ausgelastet bin oder er mich nicht mag. Ich wurde ja bereits für meine Arbeit bezahlt (wenn ich bezahlt wurde, was manche Kunden ja nicht für so wichtig halten) und würde mich mies fühlen, wenn ich den Kunden damit knebeln würde, nur durch mich weiterentwickeln lassen zu können. Vielleicht hat ja ein Verwandter oder Bekannter ausreichende Kenntnisse, um die Weiterentwicklung zu gewährleisten. Wie gesagt, das sollte man dem Kunden nicht absichtlich verbauen – sagt mir mein Empathieapparat: Wenn ich mich in die Situation des Kunden hineinversetze, möchte ich auch nicht unbedingt auf diesen einen Entwickler angewiesen sein.

Delphi-Laie 26. Okt 2015 21:20

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Letztlich ist das doch alles eine Vertragsangelegenheit.

Die Delphiproduzenten seit Borland machen es doch genauso: Extra Quelltexte (der Units) - extra löhnen (auch wenn ich das schon immer und bis heute für eine Frechheit hielt und halte).

Dalai 26. Okt 2015 21:27

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Phoenix (Beitrag 1319784)
Und was ist mit den Lizenzen? Das ist im Prinzip ne Raubkopie die man dem Kunden da gibt.

Nicht nur eine sondern gleich mehrere, denn neben dem Delphi braucht auch das Windows in der VM eine Lizenz... OK, man könnte auch ein ohne Product Key installiertes System benutzen, aber ob das Vertrauen erweckt?

MfG Dalai

Sir Rufo 26. Okt 2015 21:31

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Als mein Quellcode gehört mir und ich unterscheide da nicht, ob die Software speziell in Auftrag gegeben wurde oder nicht.

Bei Fragen nach dem Quellcode bekommen alle die Standard-Antwort:

Kein Problem. Der Kunde benennt den Notar, wo der Quellcode hinterlegt werden soll. Der Kunde bestimmt den Zeitpunkt wann hinterlegt werden soll. Der Kunde bezahlt den Notar und die Kosten für die Erstellung der Datenträger und den Versand an den Notar.

Ich liefere eine VM aus mit dem kompletten und lauffähigem Entwicklungssystem wo ich vor dem Versand allerdings die Lizenz entferne. Auf Wunsch kauft der Kunde bei der Bestellung der Software auch gleich eine Lizenz und er bekommt eine direkt benutzbare Entwicklungsumgebung.

Dejan Vu 27. Okt 2015 07:23

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Sir Rufo (Beitrag 1319788)
...die Standard-Antwort: Der Kunde ..Der Kunde ...Der Kunde ...

Unsere Antwort lautet: Kein Problem. Machen wir (wir sind ja schließlich Dienstleister). Wir sagen das bei eigentlich allem, was der Kunde will (und was in unserer Macht steht). Aussagen wie "Kümmere Dich selbst darum" würde in Einzelfällen zum Auftragsverlust führen und widerspricht auch unserem Leitbild.

Quellcode liegt bei unseren Kunden zusammen mit einem Entwicklungssystem jederzeit verfügbar auf einem PC. Arbeiten werden teilweise vor-Ort durchgeführt, auf jeden Fall hat der Kunde immer das aktuelle System. Er wird sich hüten, den Code selbst zu verändern. Er hat auch kein Interesse daran, schließlich will er, das der Laden läuft.

Rollo62 28. Okt 2015 21:59

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Was spricht dagegen die Sourcen dem Kunden für einen entsprechenden Preis zu verkaufen ?

Meistens hat sich das Thema dann schon erledigt ...

Rollo

Luckie 28. Okt 2015 22:45

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Projektordner zippen und übergeben. Ind er Doku schreiben welche Fermdkomponenten und in welcher Version benötigt werden zum kompilieren und fertig. Alles weiter ist Problem des Auftraggebers.

Perlsau 29. Okt 2015 00:21

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Genau so mache ich das auch ... mit dem Hinweis, daß er vermutlich nichts damit anfangen kann und ein anderer Delphi-Entwickler etliches an Mühe und Zeit, die bezahlt werden wollen, investieren müßte, um sich in den Code einzuarbeiten. Wenn's den Kunden glücklich macht, kein Problem. Probleme hab ich allerdings mit Auftraggebern, die selbst in Delphi programmieren und vor dem Bezahlen der letzten Rechnung plötzlich den Quellcode verlangen ... und dann mit der Begründung, der Auftragnehmer würde die Mitarbeit verweigern, plötzlich nichts mehr zahlen ... nattürlich erst, nachdem sie den Quellcode bekommen haben, so nach dem Motto: "Den Rest kann ich auch selber fertigstellen, das kommt billiger, als den zu bezahlen. Der hat ja eh kein Geld für Prozeßkosten, da hab ich nichts zu befürchten". Und vorher einen auf nett und freundlich und verständnisvoll machen ... und am besten gleich duzen, das schafft Vertrauen ... aber das ist eine, nein das sind mehrere andere Geschichten ...

MrSpock 29. Okt 2015 07:38

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Ich packe auch den Quellcode in ein Archiv und schreibe dazu, welche Delphi Version ich benutzt habe und welche Fremdkomponenten.

Captnemo 29. Okt 2015 07:42

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Das der Source ausgehändigt und die Quellen der eingesetzten Fremdkomponenten genannt, bzw. schriftlich hinterlegt werden können, ist ja keine Schwierigkeit und sollte auch bei entsprechden Auftragsarbeiten möglich sein. Schließlich wird dieses auch in den Auftragsbedingungen vorher so festgelegt und ist somit auch Bestandteil der Lieferung.

Es gibt nur 3 Punkte an denen es etwas schwierig wird:
1. Einsatz von eigenen Komponenten, die nicht erst zum Zweck der Erfüllung des Auftrags erstellt wurden und somit nicht Bestandteil des Auftrags sind, die aber nicht öffentlich sind und auch nicht als Komponenten im Markt erhältlich sind.

Da kann es schnell zum Steitpunkt kommen. Wenn nun der Auftraggeber sich im Streit mit dem Auftragnehmer trennt, kann der Auftragnehmen auf diese Fremdkomponenten nicht verzichten und will für diese ggf. auch nicht noch bezahlen, der Auftragnehmen will diese aber nicht mehr zur Verfügung stellen oder sehr viel Geld dafür haben.

2. Einsatz von zugekauften Komponenten, die der Auftragnehmer bereits vor dem Auftrag im Bezitz und/oder in Verwendung hatte, die aber ggf. vom Aufgraggeber im Handel käuflich erworben werden können. Hier ist eine Weitergabe nicht ohne weiteres möglich. Und im Falle, dass auf Auftraggeber und Auftragnehmen auseinander gehen, wieder ein Kostenfaktor für Auftraggeber, der so nicht bestandteil des Auftrags war.

3. Einsatz einer zugekauften Komponente, die nach Abschluss des Auftrags und Trennung von Auftaggeber und Auftragnehmer auch nicht mehr im Handel zur Verfügung steht (vlt. weil der Anbieter diese zurückgezogen hat, oder aus welchem Grund auch immer)

Das sind alles Punkte, die es VOR Auftragserteilung zu klären gilt, und die im Vertrag auch schriftlich eindeutig definiert sein sollten.

Zur Weitergabe der Lizenz: So kann man, je nach Projektgröße, auch vereinbaren, dass alle Lizenzen vom Auftraggeber angeschafft und dem Entwickler zur Verfügung gestellt werden müssen.
So kann eine Delphi-Lizenz (muss möglichweise nicht unbeding Architect sein), ein Windows-Lizenz und auch alle Lizenzen von verwendeten Fremdkomponenten beim Kunden hinterlegt werden, so dass diese zur Weiterentwicklung durch einen anderen Auftragnehmer ebenfalls zur Verfügung stehen.
Die zum Projekt erstellen, neuen Komponenten sind eigentlich Bestandteil des Projekts und gehören auch zu diesem. Aber auch das kann man vorher vereinbaren.
Bei den verwendeten eigenen Komponenten, die bereit in der Bibliothek des Auftragnehmers waren, muss natürlich eine gesonderte Vereinbarung getroffen werden.

Wenn es einen Vertrag und / oder eine Auftragbetätigung gibt, die entsprechende Detailiert alle notwenigen Parameter festlegt, dann sollte während und nach dem Auftrag auch zu keinen Mißverständnissen kommen. Wer ohne oder nur mit sehr oberflächlichen Verträgen/Auftragsbestätigungen arbeitet, der muss im schlimmsten Fall auch mit Verlusten rechnen.

Ein kleines Beispiel aus einer anderen Branche: Jeder von euch bringt sein Auto auch regelmäßig in die Werkstatt. Hier wird meist nur mündlich die notwendigen Arbeiten besprochen. Es gibt immer noch Werkstätten, die auf eine Auftragsbestätigung verzichten, oder aber, wenn nach durchsicht doch weitere Mängel auftauchen, sich auch diese Arbeiten vom Kunden als Auftrag unterschreiben lassen. Das geht zu 99% auch immer gut. Aber in den Fällen, in denen dann der Kunden die Bezahlung der nicht im Auftrag aufgeführten Leistungen verweigert, endet es vor Gericht oft so, dass die Werkstatt das nachsehen hat. Denn der Beweiß, dass der Kunde den Reparaturen mündlich zugestimmt hat, ist fast immer nicht zu erbringen.

himitsu 29. Okt 2015 09:26

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von MrSpock (Beitrag 1320068)
Ich packe auch den Quellcode in ein Archiv und schreibe dazu, welche Delphi Version ich benutzt habe und welche Fremdkomponenten.

Noch ein bissl Obfuscation .... ähhh, ein eigenartiger Programmierstil ... und schon isses egal, ob die den Code haben, oder nicht.

Vielleicht gibt es auch noch einen Codedeformatter mit Derefactoring, falls man das selber nicht hinbekommt. :stupid:



Und die wollen doch "nur" den Quellcode? Oder warum reden hier Viele gleich von einem voll funktionsfähigem Entwicklungssystem?

mensch72 29. Okt 2015 09:49

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von himitsu (Beitrag 1320086)
Und die wollen doch "nur" den Quellcode? Oder warum reden hier Viele gleich von einem voll funktionsfähigem Entwicklungssystem?


Weil ein Quellcode ohne Entwicklungssystem auf einem bestimmten Konfigurationsstand kaum etwas nützt. Ich sichere ja selbst deshalb immer die Quelltexte samt des dazu passenden Entwicklungssystem als VM, weil es das einfachste ist und eh schon die ganze Zeit so per VM entwickelt wurde.

Wenn ich samt Firma nicht mehr da bin, sind die Lizenzkosten für denjenigen der in diesem Fall vom Notar die BackupVMs bekommt das kleinere Problem. Wenn es nur um einen Streifall geht und ein Gutachter die VM nur als Beweis das es so damals geliefert wurde benutzt, sind die Lizenzen wurscht, weil ja in dem Fall das Realsystem noch bei mir lizensiert läuft.

Wenn ein Kunde von Anfang an Source will, dann beschafft und stellt auch der Kunde das Entwicklungssystem mit allen Komponenten(meist auch als/auf Notebook, weil ich ja teils auch nicht alle Komponenten selbst als Lizenz besitze) und hat dies zusätzlich bei sich im Haus per Remote/SVN auf aktuellem Stand.

Dejan Vu 29. Okt 2015 19:01

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Bei einigen Kommentaren denke ich mir immer, das der Kunde als Feind behandelt wird, der einem Böses will.

Im Werkvertrag war es -zumindest früher- Usus, den Quelltext für den Kunden unter bestimmten Voraussetzungen zugänglich zu machen. Nämlich wenn.
  • Der Auftragnehmer verstirbt, insolvent ist oder aus sonstigen Gründen seinen Pflichten nicht nachkommen kann.
  • Der Auftragnehmer zu teuer wird (i.a. >20% der ortsüblichen Bezahlung, Wucher)
  • Die vertraglich vereinbarte Wartung vom Auftragnehmer nicht entsprechend durchgeführt wird
  • Der Auftragnehmer die Wartung und Pflege des Werkes nicht durch- bzw. fortführen will.
Die Rechtsprechung ging in eine einfache Richtung:
Auftraggeber und Auftragnehmer sind voneinander abhängig. Der Kunde (also AG) bekommt ein Werk, das mit vertretbarem Aufwand nur vom AN zu pflegen und weiterzuentwickeln ist. Der AN hat also ein Quasimonopol, aber das dar er nicht ausnutzen, indem er etwa überhöhte Preise verlangt. Er ist i.d.R. auch verpflichtet, das Werk zu pflegen (gegen Entgelt). Im Gegenzug hat der AG sein internes Firmenwissen zur Verfügung gestellt. I.d.R. besteht das Werk zwar aus Code, enthält aber genau dieses Wissen. Und insofern ist der Quellcode zumindest intellektuelles Eigentum des Kunden.

Ich finde es auch einfach nur fair, wenn ich dem Kunden im Extremfall (s.o.) Zugriff auf den Quellcode ermögliche. Vorher ist das vollkommen überflüssig, da ich ja partnerschaftlich meinen Pflichten nachkomme.

Und damit hier keine Zeifel aufkommen, kann man eben Escrow verwenden, wobei das mit dem Nachziehen der jeweils aktuellen Version so eine Sache ist.

jfheins 29. Okt 2015 19:14

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Noch eine Lösung von mir. Ich habe das Angebot ungefähr folgendermaßen formuliert:
Zitat:

Der Entwickler gewährt dem Kunden das vollständige, nicht-exklusive Verwertungsrecht an der geschaffenen
Software. Die Software wird unter der MIT-Lizenz entwickelt, der Quellcode wird dem Kunden vollständig
und uneingeschränkt in Originalform zur Verfügung gestellt.
Letzteres passiert dann in Form eines lokalen git-Repository wo das passende (öffentliche) GitHub-Repo als origin bereits eingestellt ist.

Der Kunde hat damit den Quelltext und kann quasi jederzeit jemand anderen (oder einen Internen) mit der Weiterentwicklung beauftragen. Allerdings kenne ich mich bereits mit dem Projekt aus und kann dementsprechend günstige Angebote machen.

Der schöne Günther 30. Okt 2015 08:38

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
Bei einigen Kommentaren denke ich mir immer, das der Kunde als Feind behandelt wird, der einem Böses will.

Das dachte ich mir hier stellenweise auch, aber:

Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
Die Rechtsprechung ging in eine einfache Richtung:

Das ist aber jetzt stark an die BRD gekoppelt, oder? Ich glaube schon innerhalb der EU kann man da genug Abenteuer erleben, ganz zu schweigen außerhalb!

Aber vielleicht geht es nur bei mir in der Branche schon fast wie bei mittelalterlichen Viehmärkten statt nach der sauberen Theorie was ich zu Vertragsrecht gelernt habe zu :oops:

mquadrat 30. Okt 2015 08:57

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Bei uns kann der Quelltext (auch unserer Std-Produkte) auf Kundenwunsch bei einem Escrow-Dienst oder Notar hinterlegt werden. Kosten trägt der Kunde. Bei Individualentwicklungen wird dem Kunden oft auch das Recht der Modifikation eingeräumt, aber der Verkauf bzw. die Nutzung für eine andere juristische Person als unseren Vertragspartner untersagt. Gezogen hat die Option aber bis jetzt fast keiner. Das ist ja mehr für das gute Gefühl des Kunden und einen Haken in der Spalte Risk-Management.

Wir sitzen aber auch an der anderen Seite des Tisches. Sprich wir stellen für Kunden sicher, dass die hinterlegten Daten tatsächlich im versprochenen Umfang vorliegen und entsprechend der beigelegten Dokumentation nutzbar sind.

Bernhard Geyer 30. Okt 2015 09:14

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
Bei einigen Kommentaren denke ich mir immer, das der Kunde als Feind behandelt wird, der einem Böses will.

Man sollte seine Verträge so gestallten das wenn doch mal (1 von 100) Kunden böse ist das nicht in der eigenen Insolvenz endet.
Lieber den Kunden (Juristisch im Vertrag) als Bösewicht ansehen als dochmal bei einem Kunden (von Hundert) einen solchen vor sich haben.

Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
... indem er etwa überhöhte Preise verlangt.

Wie soll sowas im Bereich möglich sein? Wenn ich sehe wie im SAP-Umfeld teilweise für Preise verlangt werden ...

SearchBot 4. Nov 2015 00:49

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Hey...

schonmal vielen Dank für Eure wertvollen Überlegungen und Anregungen zu dem Thema. :thumb:
Ich werde meinen Quellcode auf eine SD-Karte kopieren und im Firmensafe hinterlegen lassen. Wenn ich dann Code-Aktualisierungen habe kopiere ich den aktuelleren Quellcode auf eine zweite SD-Karte und tausche beide aus, sodaß im Safe die jeweils aktuellere Karte liegt. So im Swap-Prinzip. Vielleicht verschlüssel ich sie noch mit einem Passwort, das ich irgendwo hinterlege...

Aber worüber ich mehr grüble ist:
1)
Ich nutze ja Delphi XE. :| Inzwischen ist XE10 die aktuelle Version?
In meinem Delphi habe ich noch die RaveReports, die von FastReport abgelöst wurden.
Wenn also jemand nach mir mit Delphi XE25 arbeitet und die "alten" Quelltexte mit den RaveReports verarbeiten will... - da müsste ich dann ja auch Teile vom RaveReport hergeben, was aber lizensrechtlich nicht unbedingt geht (meine ich gelesen zu haben).
Aber ich könnte die .dcu mitgeben, :?: von allen units, an denen ich den Code nicht änderte??

2)
Ein anderer Punkt ist (meine Faulheit :stupid: ):
Ich habe soo einen Block
Code:
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Menus, StdCtrls, PageExtControl, XPMan, ExtCtrls, Grids, ValEdit,
  dateutils, CPortCtl, CPort, FileCtrl, processviewer, SortGrid, //winsock, unitIO,
  ActiveX, VisaComLib_TLB, OleServer, Spin, wbasic, shellAPI, socketmsg,
  OverbyteIcsWndControl, OverbyteIcsPing, MPlayer, ComCtrls, Faststrings,
   DirOutln, TeEngine, TeeProcs, Chart, TeeGDIPlus, Series, Outline, ScktComp;
...so, und wie würde ich jetzt ganz fix alle units in einen neuen Ordner kopieren können, idealerweise mit einem Tool :idea:, das mir noch die Suchpfade in der Projektdatei anpasst?
Wobei es unterscheidet, ob die unit zu Delphi gehört (und aus Lizenzgründen nicht als Quelltext herausgegeben werden darf) oder meine eigene ist, oder zu einer Komponente gehört...?

Gibts da was?

Captnemo 4. Nov 2015 06:14

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Also zum Thema neuere Delphiversion würde ich mal folgendes anmerken. Was kümmert es dich, wenn dein Nachfolger mit einer höheren Version arbeitet als du?
Ich denke auch die DCU's weitergeben würde auch gegen die Lizenz verstoßen.
Wie gesagt, wenn dein Auftraggeber so viel Wert darauf legt, dass jederzeit ein anderer Entwickler an deiner Stelle übernehmen kann, lass ihn doch alles Lizenzen kaufen. Dann hat er die Software (mit Rave) und kann jederzeit an gleicher Stelle anknüpfen.

Wenn ich mit meinem Oldtimer von meiner alten Werkstatt, die alle Werkzeuge hatte, in eine Neue wechsele, der aber das passende Werkzeug fehlt, dann kann ich auch nicht meine alte Werkstatt dafür verantwortlich machen. (Der Vergleich hinkt zwar ein wenig, aber im Grunde ist das so).

Allerdings sollte,dein Auftraggeber ggf. wissen, dass die verwendete Delphiversion etwas in die Jahre gekommen ist, und es bei neueren Versionen eben diese Unterschiede gibt.

Aber nochmal: entscheidend ist, was im Auftrag bzw. im Vertrag definiert ist. Sind das solche Punkte nicht eindeutig geklärt, so kann es im Rechtsstreit schnell bitter für dich werden.

Dejan Vu 4. Nov 2015 06:44

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1320184)
Man sollte seine Verträge so gestallten das wenn doch mal (1 von 100) Kunden böse ist das nicht in der eigenen Insolvenz endet.
Lieber den Kunden (Juristisch im Vertrag) als Bösewicht ansehen als dochmal bei einem Kunden (von Hundert) einen solchen vor sich haben.

Du musst deinen Partner nicht als Bösewicht ansehen, um einen gerechten Vertrag zu gestalten. Es geht um berechtigte Interessen sowie klare Absprachen und (systematische) Grenzen, nicht um Feindbilder.

Zitat:

Zitat von Bernhard Geyer (Beitrag 1320184)
Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
... indem er etwa überhöhte Preise verlangt.

Wie soll sowas im Bereich möglich sein? Wenn ich sehe wie im SAP-Umfeld teilweise für Preise verlangt werden ...

Stichworte: Ortsüblich, vergleichbare Leistung. "Im SAP-Umfeld" ist ein anderes Umfeld, als "im Delphi-Umfeld".

Zitat:

Zitat von Der schöne Günther (Beitrag 1320178)
Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
Die Rechtsprechung ging in eine einfache Richtung:

Das ist aber jetzt stark an die BRD gekoppelt, oder? Ich glaube schon innerhalb der EU kann man da genug Abenteuer erleben, ganz zu schweigen außerhalb!

Das wäre denkbar. Der Vertragsort ist für uns stets Deutschland und damit gilt deutsches Recht. Bisher gab es keine Bedenken, aber wir hatten bisher auch nie das Problem, das uns unser Gegenüber als 'Feind' angesehen hat. Ich würde sogar soweit gehen, zu behaupten, das die 'Kunde ist mein Feind' Metapher unprofessionell ist.

BUG 4. Nov 2015 08:53

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von Dejan Vu (Beitrag 1320467)
Du musst deinen Partner nicht als Bösewicht ansehen, um einen gerechten Vertrag zu gestalten. Es geht um berechtigte Interessen sowie klare Absprachen und (systematische) Grenzen, nicht um Feindbilder. [...] Ich würde sogar soweit gehen, zu behaupten, das die 'Kunde ist mein Feind' Metapher unprofessionell ist.

Ich denke dass das niemand wirklich so auslegt. Das ist eher eine Erinnerung, die eigenen Interessen auch angemessen zu vertreten.
Es geht nicht darum den Kunden in eine Falle zu locken, sondern Eigenentwicklungen (z.B. zuvor entwickelte Bibliotheken/Komponenten) zu schützen. Das schließt ja nicht aus, den Kunden aktiv auf Escrow hinzuwiesen und das für ihn zu organisieren.

Zitat:

Zitat von Dejan Vu (Beitrag 1320153)
"Im SAP-Umfeld" ist ein anderes Umfeld, als "im Delphi-Umfeld".

Autsch :mrgreen:

Es kommt natürlich auf die Anwendung an. Den in eine CRUD-Anwendung geronnenen Geschäftsprozess des Kunden kann er gerne haben, bei langjährig entwickeltem mathematischen Solvern und Simulationen wird das wohl das anders aussehen.

Dejan Vu 4. Nov 2015 13:35

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von BUG (Beitrag 1320483)
Ich denke dass das niemand wirklich so auslegt...

Einige Argumente hegen aber den Verdacht, das dem doch so ist.

Hansa 4. Nov 2015 15:15

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Machs doch einfach so, wie gesagt. Packe Deine Dateien (sprich PAS, DFM usw.) auf SD oder besser USB-Stick und fertig. Das hört sich nämlich alles so an, als wölltest Du denen einfach zu compilierende Quelltexte, komplette IDE und alle benötigten Komponenten geben. :shock:

Aber soll ich Dir mal sagen was höchstwahrscheinlich in dem Fall passiert, dass Du tatsächlich nichts mehr machen willst/kannst ? Die werden sich denken "Macht ja nichts, wir haben ja den Quelltext". Dann werden sie die SD Karte aus dem Tresor auf Rechner überspielen. Und schliesslich wird wohl einer delegiert, sich mit dem Quelltext zu beschäftigen und er soll das bestehende Programm zum laufen bringen. Je nachdem werden sie damit mehr oder weniger Zeit verschwenden. Dann werden sie wohl irgendwann merken, dass sie eigene Lizenzen, IDE etc. brauchen. Vielleicht kaufen sie die sogar. Vermutlich dann wohl neueste Delphi-Version. Neu ist ja immer besser. :mrgreen:

Damit es keinen Ärger gibt, würde ich vorsichtshalber aber noch auf ein DIN A4 Blatt die Anforderungen zum compilieren einfach aufschreiben. Wahrscheinlich ginge es aber so weiter : irgendwann stellen sie fest, dass sie einen Delphi-Spezialisten brauchen, den sie aber nicht haben, sonst hättest Du das Programm ja nicht gemacht. Spielen wir das mal weiter : angenommen, sie kämen zu mir. Was würde ich dann machen ? Ich würde denen sagen, ich müsste zuerst einmal Delphi kaufen und installieren und dass die das natürlich bezahlen müssten. Und ich müsste auch den Quelltext vorher sichten, um überhaut nur grob den Zeitaufwand zu schätzen. Da würde ich dann wohl bei deutlich 3-stelliger Stundenanzahl landen. Wobei ich die aber auch nicht garantiere ! Wir reden ja hoffentlich nicht über nur 500 Zeilen ? :shock: Spätestens wenn ich den Stundensatz nenne, dann geht das ganze Vorhaben wohl über die Wupper. :mrgreen:

Also : gebe denen den Quelltext (dann ist der beruhigt 8-) ) und dann ist Friede,Freude,Eierkuchen und rede nicht über eventuelle Lizenzprobleme oder sowas.

Nersgatt 4. Nov 2015 15:20

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Ich seh das genauso. Kopiere den reinen Quellcode auf einen Datenträger und fertig.
Oder gibt ihm Zugriff auf die Quellcodeverwaltung, damit er den aktuellen Stand selbst von Zeit zu Zeit auschecken und in den Tresor packen kann.

Wenn ich beim Bauunternehmer ein Haus bauen lasse, dann legt der mir auch nicht Hammer und Meißel dazu, damit ich mir in Zukunft ein weiteres Fenster selbst einbauen kann.

borncrush 4. Nov 2015 15:30

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Und ich sehe das auch genauso.

Deine(!) Werke einfach auf einem Datenträger und gut ist.

Wenn schüt*zens*werte Bestandteile vorhanden sind, lagern wir den Quellcode beim RA. Unsere Kanzlei bietet einen Service für derartige "Lagerungen". Die haben dann eben notariellen Charakter.
Aber auch nur wenn es absehbar ist, das Streitigkeiten entstehen könnten, Copyright-Verletzungen zu vermuten sind etc....

Keep it simple!

Hansa 4. Nov 2015 16:06

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Ich habe sogar noch ein reales Beispiel, das auf mein Fiktiv-Szenario hinausläuft (aber aus SAP Umfeld). Freund von mir arbeitet in Abteilung eines Weltkonzerns, die SAP benutzen. Wie bei solchen Firmen üblich hat die Abteilung eigenes Budget, damit sie sparsam sind. Nun war da etwas SAP-mässig umzustellen. Die dachten, es alleine zu können und 3 Mann versuchten sich daran. Ich erfuhr davon, als sie 3 Tage dran waren. 4 Wochen später traf ich den dann wieder. Dabei kam raus, dass die 3 Mann insgesamt 3 Wochen versucht haben, es selber zu machen und dann doch einen SAP-Berater (den sie ja einsparen wollten) angefordert hatten. :mrgreen: Der SAP-Mann musste also so oder so bezahhlt werden. Hinzu kamen aber noch 9 Mann-Wochen an vergeudeter Arbeitszeit. :wall:

p80286 5. Nov 2015 09:14

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
[OT]
Zitat:

Zitat von Hansa (Beitrag 1320566)
...eines Weltkonzerns, die SAP benutzen. Wie bei solchen Firmen üblich hat die Abteilung eigenes Budget, damit sie sparsam sind. Nun war da etwas SAP-mässig umzustellen. Die dachten, es alleine zu können und 3 Mann versuchten sich daran. Ich erfuhr davon, als sie 3 Tage dran waren. 4 Wochen später traf ich den dann wieder. Dabei kam raus, dass die 3 Mann insgesamt 3 Wochen versucht haben, es selber zu machen und dann doch einen SAP-Berater (den sie ja einsparen wollten) angefordert hatten. :mrgreen: Der SAP-Mann musste also so oder so bezahhlt werden. Hinzu kamen aber noch 9 Mann-Wochen an vergeudeter Arbeitszeit. :wall:

es gibt viele größere Firmen in denen Entscheidungsträger schon mal das Titelbild eines Jetons gesehen haben und darum glauben das notwendige Wissen für solche Entscheidungen zu haben.
[/OT]

Zitat:

Zitat von borncrush (Beitrag 1320563)

Deine(!) Werke einfach auf einem Datenträger und gut ist.

Würde ich auch so unterstützen.

Gruß
K-H

CHackbart 5. Nov 2015 09:19

AW: Quellcode dem Auftraggeber herausgeben? Wie...?
 
Zitat:

Zitat von borncrush (Beitrag 1320563)

Deine(!) Werke einfach auf einem Datenträger und gut ist.

So habe ich das auch immer gemacht. Im Zweifel wirst du eh kontaktiert, wenn dein jeweiliger Nachfolger Probleme damit hat. Ich habe mir vor Jahren übrigens angewöhnt die Zahl der verwendeten Drittparty Komponenten zu minimieren. Bei reinen VCL Apps ist das eigentlich nur VirtualTreeView und das wars. Sollte ich dennoch hier und da eine andere Komponente nutzen, so erstelle ich die dynamisch. Bei der Updatefrequenz von Embarcadero (insbesondere im mobilen Sektor), finde ich es zu müßig die IDE tagelang mit irgendwelchen Komponenten zu aktualisieren.

Christian


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:12 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