Seite 1 von 1

Weitergabe von Sourcecode

Verfasst: 02.11.2005 23:22
von Unimatrix Zero
Hallo zusammen,

wie handelt Ihr das eigtl. wenn ein Kunde den Code zu einem Programm haben will?
Macht Ihr das Prozentual oder gar nicht oder ganz anderst?
Immerhin gibt man alle Rechte auf und was vielleicht noch höher zu bewerten ist, man gibt auch jede Menge Wissen preis.
Klar, die meisten Sachen in einem Programm sind für jeden Programmierer Standard, aber in der Gesamtheit so mit Setup, Fehlerbehandlung, Logdateien usw. hat wohl fast jeder seinen eigenen Stil.
Hatte von Euch schon mal einer das Problem und wenn ja, wie seid Ihr damit umgegangen?

Verfasst: 02.11.2005 23:57
von ZeHa
Hatte diese Situation zwar bisher noch nie, aber ich glaub auch kaum, daß man das einfach so beantworten kann.

Das kommt wohl eher auf den einzelnen Fall an. Zunächst mal, wie viel der Kunde bereit ist, zu zahlen.
Stell Dir vor, Du hast ein Programm, für das der Kunde Dir 15000 EUR bieten würde inkl. Source. Und das Programm ist so speziell, daß Du z.B. eh annehmen kannst, daß Du es sonst niemandem großartig andrehen könntest, dann würd ich mir es auf jeden Fall überlegen. Wenn aber das Programm so toll ist, daß ich mir sicher bin, daß ich damit das dreifache verdienen kann, wie wenn ich es an einen einzigen Kunden weitergeb, dann würd ich es wohl nicht machen.
Aber auch hier käme es wieder drauf an - wenn die Chancen gut stünden, daß ich beim besagten Kunden evtl. noch einige Aufträge mehr kriegen könnte, dann könnte es durchaus wieder sinnvoll sein, erstmal ihn glücklich zu machen.

EDIT: Bin jetzt nur auf das Geld eingegangen. Natürlich kommt's auch drauf an, was das Programm selbst so alles kann. Aber das resultiert dann ja letztendlich auch wieder in einer höheren Gewinnmöglichkeit...

Verfasst: 03.11.2005 01:09
von Zaphod
Vor allem ist das eine Frage die man möglichst vor der Entwicklung klärt. Auftragsarbeiten haben aber oft eh nur für den Auftraggeber einen Wert, da macht es dann keinen unsterschied. Angst davor, dass dir jemand etwas abguckt brauchst du aber nicht zu haben, eigener stil hin oder her.

Verfasst: 03.11.2005 10:11
von Team100
kommt ganz auf Dein Programm an:

Ist es ein Individualprogramm (z.B. eine personalisierte Warenwirtschaft),
und bezahlt der Kunde zusätzlich für den Source (vorher vereinbart),
so ist der Source Bestandteil Deiner Leistung. :allright:

Möchte sich der Kunde nur absichern, auch im Falle eines Unfalles, Tod, etc.
von Dir weiter das Programm pflegen zu können, so empfiehlt sich
z.B. die Kuvertlösung:

Du übergibst dem Kunden ein versiegeltes Kuvert mit dem Source und
triffst die schriftliche Vereinbarung, daß dieses Kuvert nur im Falle
Deines Ablebens oder mehr als 1-monatiger Handlungsunfähigkeit etc.
geöffnet werden darf. Wird das Kuvert geöffnet, gilt ein Betrag XXX
(meist extrem hoch ) als Honorar für den Source vereinbart.

In diesen Vertrag schreibst Du auch noch gleich eine Supportregelung
hinein: Bei (bezahlten) oder Garantienachbesserungen (Bugs) erhält der
Kunder wieder ein neues Kuvert und muß das alte (ungeöffnete)
zurückgeben......

So hast Du und Dein Kunde Sicherheit. Noch nie hat einer unserer
Kunden das Kuvert geöffnet ...... und wenn das Programm über die
Jahre ohne Nachbesserung oder Änderung läuft, ist der Source und
die zupassende Entwicklungsversion ohnedies veraltet, speziell bei PB...

Der nächstprofessionellere Schritt ist die Hinterlegung des Source bei
einem Notar.

In jedem Falle solltest Du für Deine Software ein profesionelles Backup-
management haben, wenn Du für Kunden programmierst. (Ist für jeden
interessant der viel programmiert... :wink: )

Neben den lokalen Sicherungen ist die Verwahrung eines Duplikates an einem
anderen physischen Ort (z. B. andere Stadt, bei der Freundin) absolute
Pflicht. Wohnungen können ausbrennen, Keller können unter Wasser
stehen und was dann ? ....

Viel Erfolg mit Deinem Kunden

Cu von Team100

Verfasst: 03.11.2005 17:53
von ts-soft
Durch die Herausgabe des Sources, machste Deinen Kunden ja etwas
unabhängiger von Dir, so das wenn Du Pech hast, Du einen Kunden gehabt hast :mrgreen:

Bei einer Branchenlösung biste evtl. sogar alle Kunden los. (*schwarzmal*)

Die Kuvertlösung, die Team100 erwähnte halte ich für sinnvoll für beide
Parteien, solange es sich um ein Individualprogramm handelt.

Verfasst: 03.11.2005 18:29
von Unimatrix Zero
Hallo,

erst mal vielen Dank für Eure Antworten.

@ Team 100,
Die "Kuvertlösung" erscheint mir genial :allright: , das ist eine sehr gute Idee, vor allem weil es meinem Wunsch den Sourcecode nicht weitergeben zu müssen entgegen kommt. Vielleicht bin ich diesbezüglich aber einfach auch nur zu empfindlich.

@Thomas,
genau das sind meine Befürchtungen :mrgreen: .

@all,
Ansonsten scheint es wohl einfach eine Frage des Preises zu sein, darüber muß ich mal in Ruhe noch einmal nachdenken, da ich momentan keine Vorstellung habe, was denn auf dem Markt so üblich ist.

Verfasst: 04.11.2005 10:06
von PAMKKKKK
Ich kann da Team 100 nur 100% zustimmen.

Der Knackpunkt ist, glaube ich das man so was VORHER mit dem Kunden vereinbart.

Kuvertlösung kannte ich noch nicht :allright:

Anders ist es, wenn du als Angestellter eines Unternehmens Programmierst.
Dann gehört der Code sowieso dem Arbeitgeber.

Verfasst: 04.11.2005 10:13
von stbi
Den Quellcode zu haben, bedeutet für den Kunden zunächst mal Sicherheit. Sicherheit, falls der Programmierer aus irgendeinem Grund ausfallen sollte, und Sicherheit, kleinere Änderungen zur Not selbst durchführen zu können. Niemand hat Lust, gleich einen Tagessatz abdrücken zu müssen, um den Defaultwert eines Eingabefeldes zu verändern. Das sollte auch fair sein, falls der Programmierer seinen Kunden nicht gnadenlos abkassieren will. In letzterem Fall wird der Kunde auch so recht schnell verloren sein.

Weiterhin gibt es bei der Quellcodeübergabe auch verschiedene Geschmacksrichtungen. Der Quellcode allein nützt nämlich noch nichts, denn damit hat der Kunde nicht automatisch das Nutzungsrecht! So kann vereinbart werden, dass der Kunde den Quellcode für sich selbst nutzen und weiterentwickeln darf. Oder dass der Kunde den Quellcode in Programmen, die er selbst verkauft, verwendet werden kann. Oder dass der Kunde den Quellcode selbst weiterverkaufen kann.

Ich kenne einen Fall von meinem früheren Arbeitgeber: wir hatten ein von uns in Auftrag gegebenes Programm bei unseren Kunden im Einsatz, der Quellcode dazu war bei uns hinterlegt. Dann ging die Herstellerfirma pleite. Und es stellte sich heraus, dass wir zwar den Quellcode hatten, aber keinerlei Nutzungsrecht. Das freute den Konkursverwalter, denn wir mussten den Saftladen komplett kaufen, um die Nutzungsrechte zu bekommen. War ne knappe halbe Mio DM ...

Im übrigen bin ich der Meinung, dass viele Programmierer den Wert ihrer Arbeit überschätzen oder die Vorstellung haben, einen Kunden für jede Kleinigkeit abkassieren zu können. Fairness muss von beiden Seiten kommen. Und wenn ein Kunde tatsächlich einen Quellcode missbraucht, indem er kleinere Änderungen vornimmt und es als eigenes Produkt verkauft, dann kann man ihm rechtlich sehr schnell beikommen.

Verfasst: 04.11.2005 12:09
von Team100
..... für genau dieses faire Verhalten zwischen Programmhersteller und
Kunden bei kleinen Änderungen, Anpassungen, Mängeln etc. gibt es
eine bevorzugte Lösung für Individualprogramme: Die Wartungsvereinbarung :wink:

Gleichzeitig mit dem Kauf schließt Du eine schriftliche Wartungsvereinbarung ab:

Gegen eine jährliche Gebühr (meist 7% bis 10% des Kaufpreises)
bietest Du genau definierte Leistungen an, z.B
Behebung von Bugs, Änderungen von Texten, Logos etc, Anpassung
an neue Drucker, Servicepacks etc. und Du schließt aus, was aufpreis-
pflichtig ist wie z.B. Erweiterung des Funktionsumfanges. Hineinkommt
noch die Reaktionszeit (1 Tag, 1 Woche) und eine Regelung für den
Eskalationsfall (wenn Du einen Fehler nicht beheben kannst).
Dann noch die Laufzeit (..verlängert sich um 1 Jahr wenn nicht bis 3 Monate
vor Jahresende gekündigt...)

Es ist klar, daß man damit auch Verpflichtungen eingeht, ist jedoch das
Produkt stabil, ist das Fehlerhandling des Programmes ausgereift, hast
Du auch ein Log installiert das Fehlfunktionen protokolliert, und gelingt es
Dir auch noch jemanden vor Ort als persönlichen Betreuer zu gewinnen
(... mal mit ihm auf ein Bier gehen anläßlich der Installation :wink: ),
dann hast Du gewonnen.

Der Betreuer wird zugemailte Updates selbst einspielen, Dir Errorlogs
zumailen und gute Beschreibungen geben wenn Fehler auftauchen.

So kann man auch Installationen in entfernten Ecken preiswert ohne
die häufig ungern gesehene Fernwartung warten.

Einmal im Jahr sollte man zumindest persönlich vorbeikommen, jährliche
Softwareupdates notfalls nur mit Faclifting sind von Vorteil ....

Wir haben noch mit QBasic und Turbopascal geschriebene Software
unter Wartung, die seit 15 (!) Jahren im Einsatz ist....

Die Wartung kriegst Du leicht verkauft, das Verkaufsargument ist, daß
sie ja mit Jahresende gekündigt werden kann und beim Erstkauf
im Paket dabei ist .... :)

übrigens: ISO zertifizierte Betriebe sind in der Regel verpflichtet,
Wartungsverträge abzuschließen.

Cu von Team100

Verfasst: 04.11.2005 15:47
von Unimatrix Zero
Hallo,

noch einmal Danke für Euer Interesse.

ich finde Team 100 hat vollkommen recht.
Genau so stelle ich mir das eigtl. auch vor.
Fairness ist wichtig, aber umgekehrt erwarte ich diese dann von meinem
Kunden auch.
Wenn ich Ihm den Source zur Verfügung stelle, weiß ich nicht wirklich was
dann damit passiert, selbst wenn ich noch die Nutzungsrechte behalte.
Auf Prozesse oder Abmahnungen hinterher habe ich keine Lust.
Außerdem möchte ich einen fairen Anteil am möglichen Gewinnen haben.
Immerhin steckt in so einem Projekt mehr als nur der Source, sondern wie
schon gesagt, die ganzen Erfahrungen die man bisher gesammelt hat.
Wie soll man das in Rechnung stellen?
Ich kann ja immer nur von mir ausgehen, wenn ich einen Sourcecode habe
für ein bestimmtes Projekt, dann muß ich mir zum Beispiel keine Gedanken
mehr machen, wie Strukturiere ich das Ganze, mit was fange ich an,
wie und wo mache ich die Fehlerbehandlung u.s.w., das alles brauche ich
nur noch abzuschauen und evtl. etwas verbessern. Das ist wesentlich
einfacher als es selbst ganz neu zu entwerfen.