Eigene Lizenzierung bzw. wirksamer Kopierschutz

FlameZz

Enthusiast
Thread Starter
Mitglied seit
19.11.2006
Beiträge
1.434
Hallo Community,
ich habe ein verzwicktes Problem was das Lizenzieren einer eigenen Software betrifft.
Das verhält sich wie folgt..

- Das Programm hat eine globale Datenbank im Netzwerk, die vorab installiert wird. Diese enthält nach der Installation erstmal nur die grundlegende Struktur.

- Der Zugriff darauf kann meinerseits beschränkt werden, so dass theoretisch nur das Programm (und andere, eigene Tools) und keine Fremdsoftware auf die Einträge Zugriff hat.

- Das Programm soll per Volumenlizenz verwendet werden. Beispielsweise 5 Lizenzen für 5 Arbeitsplätze.

- Der Lizenzinhaber soll bei der Installation oder Erstausführung der Software lediglich pro Arbeitsplatz einmalig die ihm zugestellte Lizenz (Schlüssel) eintragen.


Nun verzweifle ich daran, wie eine wirksame Lizenzierung erfolgen kann, ohne dass ein Übertragen der Lizenzen auf eine komplett andere Installation möglich ist.

Ähnlich wie dies bei Microsoft ist, wo jeder mit jedem (gültigen) Schlüssel ein Produkt auch mehrfach (illegal) aktivieren und benutzen kann.

Einer eine Idee oder ist dies in dieser Form unmöglich?
 
Zuletzt bearbeitet:
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
Bei der Software liegt ein Key dabei.
Nach der Eingabe überprüft das Programm in der globalen Datenbank ob der Key schon eingelöst wurde und wenn nicht aktiviert er das Programm.
Der Key ist danach für eine erneute Aktivierung ausgeschlossen. Der Key ansich bleibt aber gültig, man kann eben nur keine anfängliche Produktaktivierung mehr mit ihm durchführen.
Bei jedem Start wird die Gültigkeit des Keys abgefragt, nicht ob er schon aktiviert wurde.
Wenn der Besitzer das Programm erneut installieren will muss er kostenlos einen neuen Key-Code anfordern. Der alte Key wird dann sogleich ungültig.

Also hat jeder Key zwei Eigenschaften:
- Schon aktiviert: JA/NEIN
- Gültig: JA/NEIN
 
Sehr gute Idee! Bedingt für besseren Komfort bzw Automatisierung allerdings auch eine permanente Internetverbindung an jedem Arbeitsplatz um die Gültigkeit zu prüfen.
Aber auf jeden Fall ein guter Ansatz, danke.
 
Ich finde, solche Methoden, Urheberrechte durchzusetzen erzeugen nur unnötigen Aufwand
beim Benutzer. Und wenn das System mal ausfällt, oder auf andere Weise an die Grenzen
des Rechtemanagementsystem stößt (bspw maximale Anzahl Aktivierungen ausgeschöpft),
steht man als ehrlicher Kunde da und kann die Software, für die man teuer bezahlt hat,
nicht benutzen. Sieht man ja beispielsweise an aktuellen Spielen oder auch bei Windows.
Die Aktivierungsserver für Assassin's Creed 2 waren down; warum auch immer. Und die
ehrlichen Kunden hatten den Ärger, dass sie nicht spielen konnten. Bei Windows das selbe.
Wenn die Server, die das "Genuine Windows"-Tool abfragt down sind, sind auf einmal
alle Installationen von Windows angeblich Raubkopien.

In beiden Fällen hatten diejenigen, die die Software illegal bezogen haben natürlich keine
Probleme. Denn bei einer Raubkopie wird die Authentifizierung bei einem Server einfach
abgeschaltet. So schafft man quasi noch einen Anreiz, sich die Software illegal zu besorgen.

Vor allem in Unternehmen wird Software teilweise viele Jahre eingesetzt. Die scheinst du ja
gerade als Zielgruppe zu haben. Also musst du garantieren können, dass die Server, die
die Aktivierung vollziehen noch in vielen Jahren erreichbar sind.

Was ist, wenn du dir das einfach nicht leisten kannst, oder du inzwischen 12 neue Versionen
entwickelt hast und die Last auf den Server durch die vielen verschiedenen Aktivierungs-
methoden einfach zu hoch wird? Teuer neue Server anschaffen? Oder doch einfach auf
diejenigen scheißen, die halt die Uraltversion benutzen, und deren Software halt einfach
nicht mehr aktivieren.

Softwareaktivierung war nun natürlich nur ein Beispiel. Aber all diese Rechtemanagementsysteme
haben fundamentale Mängel, die gerade demjenigen zum Nachteil gereichen, der ehrlich ist.

Also mein Punkt bei der Sache: Hab Vertrauen zu deinen Kunden, sie werden es dir hoch
anrechnen, wenn die Software funktioniert. Falls die Software wirklich illegal verbreitet
werden sollte, kannst du auch mit Softwareaktivierung und all diesen Rechtemanagement-
systemen nichts dagegen tun. Die ehrlichen Kunden haben aber den Ärger.

Was ich persönlich tun würde, wenn es wirklich um viel Geld geht, wäre mich mit einem Anwalt
zusammenzusetzen und mich auf die Lizenz zu konzentrieren. Das ist etwas wirklich schwieriges,
wo man als juristischer Laie viel falsch machen kann. Und was ist jetzt besser?
Software zu vertreiben, die einen super Kopierschutz hat, der am Ende doch geknackt wird,
und dank schlecht oder vage formulierter Lizenz keinerlei rechtliche Handhabe gegen diejenigen
zu haben, die die Software illegal vertreiben oder verwenden, oder vielleicht beim Kopierschutz
einen Gang zurück zu schalten und dafür, wenn es tatsächlich zu verstößen kommt, gegen
die Übeltäter vorgehen zu können.

€:
Falls dich mein Seitenlanges Gequatsche doch nicht die Bohne interessiert (wovon ich leider
ausgehe), ich hab mir mal en System ausgedacht, Product Keys zu generieren. Das war aber
dafür gedacht, bei einem Dienst, der im Grunde komplett online angeboten wird, und höchstens
einen kleinen Client hat, zusätzliche Features nach bezahlung freizuschalten. Ich bin nun kein
Kryptologe, und kann so nicht sicher sagen, wie sinnvoll die Methode ist. Aber auf jeden Fall kann
ich sagen, dass wenn sie dazu benutzt wird, einen Product Key zu generieren, der offline geprüft
wird (beispielsweise während einer Installation), sie auf ganzer Linie scheitern MUSS (erklärung siehe
unten). Also, wenn du möchtest, kannst du das Verfahren genau so verwenden, wie ich es mir
ausgedacht habe, oder abwandeln, oder ganz drauf scheißen, aber sei dir bewusst, dass es für
Software, die ihre Arbeit im Allgemeinen offline erledigt, absolut nicht geeignet ist. Beschreibung folgt:

Keygenerierung:

1. Man erzeuge einen zufälligen 256-bit Wert S.
2. Man erzeuge 4 32-bit Werte P_0 bis P_3 mit folgenden eigenschaften.
2a. P_0 enthält bis zu 32 flags, die jeweils für die Rechte des Schlüsselinhabers stehen.
2b. P_1 kann beliebig gewählt werden.
2c. P_2 is eine einzigartige ID des Users.
2d. P_3 enthält die 32 least significant bits (LSB) von S
3. Man fügt P_0 bis P_3 zusammen und erhält so P.
4. Man verschlüssle P mit Rijndael (Blockgröße 128 Bit, Schlüssellänge 256 Bit) mit S als Schlüssel, dies ergibt K.
5. K ist der Product Key.

Verification:

1. Man entschlüssle K mit S als Schlüssel und erhält P.
2. Man teile P in P_0 bis P_3
3. Man vergleiche P_3 mit den 32 LSB von S. Wenn diese nicht übereinstimmen, lehnt man den Schlüssel ab.
3. Man vergleiche P_2 mit der ID des anfragenden Benutzers. Wenn sie nicht übereinstimmen lehnt man den Schlüsel ab.
4. Ansonsten akzeptiert man den Schlüssel und setzt die Rechte entsprechend P_0.

So, wie ich mir die Sache vorstelle, hängt die Sicherheit des Verfahrens davon ab, dass S wirklich
zufällig ist und geheim bleibt. Wenn die Software also offline ihren Schlüssel prüfen müsste, hieße
das, dass sie S irgendwie mitgeliefert bekommen müsste. Einen eigenen Schlüssel mit beliebigen
Rechten zu erzeugen ist dann natürlich trivial.
 
Zuletzt bearbeitet:
Hallo,

ne ganz im Gegenteil. Als Spieler finde ich so manchen Kopierschutz auch stark übertrieben und oft hindert
es einen regelrecht überhaupt Spaß am Spiel zu entwickeln.
Das ist bei Anwendersoftware sicherlich nicht anders. Daher hast du da schon den richtigen Nerv getroffen.

Habe mich heute in den wenigen freien Minuten ebenso mit Verschlüsselungsalgorithmen und co befasst und denke,
ich habe mir so ganz grob eine Lösung zurechtgelegt die auf den aspekt Onlineaktivierung ganz verzichtet und den
Kunden etwas mehr Vertrauen entgegenbringt. Wenn ich das Konzept dann die Tage klar herausgearbeitet habe,
werd ich dies auch für andere einmal hier Posten. Ist natürlich individuell und nur für Wenige verwendbar aber deine
Version war es auch und ich konnte sie trotzdem ganz gut abwandeln. Danke dir auf jeden Fall.
P.S. vorab: ja der Schlüssel wird bei meiner Version voraussichtlich mit der Software/DB mitgeliefert um die Clients daran zu binden.
D.h. Clients mit generell gültigem Schlüssel der nicht zum Auslieferungsschlüssel passt werden ihren Dienst verweigern.

Es ist nur leider so.. damit verzichtet man doch sehr auf den Schutz gegen Raubkopien. Es ist ohne eigenes Zutun (eigener Lizenzserver und co) aber einfach nicht möglich
eine Software 100%ig wirksam zu schützen.. (100% ohne den Hacker und Cracker Aspekt einbezogen..)
 
Zuletzt bearbeitet:
Eine zufriedenstellende Lösung für beide Seiten wirst du nicht finden. Entweder du bringst deinen Kunden etwas vertrauen entgegen und setzt auf die herkömmliche Offline-Methode zum Verifizieren des Keys, womit prinzipiell Mehrfachinstallationen möglich sind, oder du verplombst deine Software mit Online-Aktivierung und vergrauelst damit ein paar Kunden, weil das keine Vorteile aber viele Nachteile für sie hat. (Ich würde sowas z.B. nicht kaufen, weil ich gekaufte Software auch in 10 Jahren noch benutzen können will, wenn deine Firma längst Pleite gegangen ist oder den DRM-Server abgedreht hat)
 
Hier mal ein Ansatz der den Kunden nicht ganz so gängelt dir aber den Schutz vor Mehrfachinstallationen gibt.

1. Du Lieferst deine Software mit einem Produktschlüssel/Hashdatei pro Client oder Datenbank aus (Kundenspezifisch), damit der Anwender diese installieren kann.

2. Du generierst Aufgrund der Hashdatei oder des Schlüssels während der Installation einen neuen Wert auf Basis der Hardware-Konfiguration, welcher später vom Anwender Online per Fax, Mail usw. an eine Stelle gesendet werden muss. Von dort aus gernerierst du einen 3 Schlüssel der die Software freischaltet.
Je nachdem wie schnell die Software funktionieren muss kannst du nach dem gerieren des zweiten Hashes die Software vorerst noch X Tage laufen lassen oder gleich auf die Aktivierung bestehen.

Das ganze finde ich im Unternehmensumfeld am praktikabelsten, da es sehr stark an der Offline Freischaltung angrenzt und dir die Sicherheit gibt das deine Software auch nur dort läuft wo dafür bezahlt wurde.
 
Hier mal ein Ansatz der den Kunden nicht ganz so gängelt dir aber den Schutz vor Mehrfachinstallationen gibt.
...
welcher später vom Anwender Online per Fax, Mail usw. an eine Stelle gesendet werden muss.

Wenn das nicht gängeln ist, dann weiß ich auch nicht. Die Nachteile wurden schon genannt. Ich würde sowas nicht kaufen.

Besser finde ich dem Kunden seinen eigenen Lizensserver zu geben. Damit ist er zumindest von irgendwelchen Fremdservern unabhängig und Mehrfachinstallationen sind ebenfalls nicht möglich. Allerdings läuft so ein Lizensserver auch nicht von alleine und bietet gegenüber der normalen Installation höchsten Nachteile für den Kunden. Als Kunde würde ich mir 2 mal überlegen ob die Software das Wert ist.

Für den Kunden ist die Rechnung doch einfach. Solange es ein Programm gibt, dass ohne online oder offline aktivierung auskommt, die gleiche Qualität hat und nicht unötig mehr Kostet (zusätzliche Kosten für die Aktivierung eingerechnet) wird er es nehmen. Erst wenn es keine alternativen gibt, wird er sich auf die Aktivierung einlassen. Vorzugsweise eine Aktivierung die auch nach der Pleite des Herstellers noch funktioniert.

Nichts ist schlimmer als eine nicht mehr funktionierende Aktivierung. Dann muss man neue Software besorgen und die Anwender wohlmöglich nochmal Schulen. Alles unötige Kosten. Lieber einmal etwas mehr bezahlen und dafür für die Ewigkeit.
 
Der Kunde muss warten, bis man sich bequemt hat, ihm einen Schlüssel zu generieren, obwohl er die Software bereits installiert hat und man eigentlich verlangen könnte, sie in dem Moment benutzen zu können.
Das nennst du "nicht ganz so gängeln"?
Auch das Verfahren treibt einen dazu, sich die Software cracken zu lassen. Also schlecht.
 
Keine Ahnung was Deine Software macht, aber ich würde mir überlegen, was Du anbieten köntest, damit der Nutzer eine Internetverbindung akzeptiert. Welchen Nutzen hätte ein Kunde, wenn du eine Internetverbindung vorraussetzt, um die Lizenz zu überwachen?

- automatische Aktualisierung der Software
- autoamtische Aktualisierung von Datenbanken (z.B. Virendatenbank bei AVs)
- vernetztes Arbeiten mit Kollegen
- Content wird via WebApplikation geladen wird (z.B. einen embedded Browser als GUI)
- Arbeitsplatzunabhängiges arbeiten (z.B. Einstellungen oder zuletzt bearbeitete DOkumente werden auch auf WebService gespeichert und bei Rechnerwechsel synchronisiert)

Der Nutzer muss sich einmal registrieren und die Software funktioniert, aber viele Features der Software werden addHoc nach korrekter Authentifizierung geladen. Wenn der Nutzer mal Offline ist, dann gibt es Warnmeldungen, dass die Software nicht mehr aktualisiert werden kann...sie funktioniert dann noch eine Weile, aber nach einer Woche oder so ebend nicht mehr.

Kopierschutz ist wichtig...aber Versuch lieber dem Nutzer einen Mehrwert damit zu bieten, anstatt ihn zu gängeln. Geben und Nehmen, Ying und Yang, Die goldene Mitte.
 
- autoamtische Aktualisierung von Datenbanken (z.B. Virendatenbank bei AVs)
- automatische Aktualisierung der Software

Das kannst du vergessen. Dafür ist ein ausreichend groß dimensionierter Server notwendig. Der Kostet Geld. Das beduetet zusätzliche Kosten für den Kunden oder eine zeitlich befristete automatische Aktualisierung. Der Kunde kalkuliert das ein und wird dann wieder die billigere Alternative ohne Online Aktivierung wählen.

Außerdem gibt es nicht viele Anwendungen bei denen automatische Aktualisierungen erwünscht sind. Bei einem Virenscanner sind sie notwendig. Bei einem Textverarbeitsungsprogramm dagegen nicht. Mit etwas Glück ist nach der automatischen Aktualisierung nichts mehr so wie es sein sollte. Das Risiko geht niemand ein. Automatisierungen ja aber automatisch nur da wo es unbedigt notwendig ist. Ansonsten wird einfach der gute alte Weg genommen. Mitarbeiter XY bekommt die neue Version und soll ein paar Tage testen ob es Probleme damit gibt. Falls nicht bekommen alle anderen Mitarbeiter die gleiche Version.

- vernetztes Arbeiten mit Kollegen

Dafür gibt es CVS oder ähnliche Systeme. Ich würde niemals vernetztes Arbeiten über einen Fremdserver laufen lassen. Die Gründe nenne ich gleich noch.

- Content wird via WebApplikation geladen wird (z.B. einen embedded Browser als GUI)

Wenn ich schon unbedingt irgendwas von einem Server nachladen muss, dann doch bitte von einem Server der in meinen Zuständigkeitsbereich fällt und nicht irgend ein Fremd Server. Außerdem stellt sich die Frage ob man die Daten nicht einfach lokal auf der Festplatte installieren kann.

- Arbeitsplatzunabhängiges arbeiten (z.B. Einstellungen oder zuletzt bearbeitete DOkumente werden auch auf WebService gespeichert und bei Rechnerwechsel synchronisiert)

Über einen Fremdserver? Nicht wirklich... Da nehm ich dann lieber die gute alte Windows Domäne. Einfach die eigenen Datein über eine Gruppenrichtlinie auf eine Serverfreigabe umlenken. Das ist nicht nur bei den eigenen Datein möglich.

Wenn der Nutzer mal Offline ist, dann gibt es Warnmeldungen, dass die Software nicht mehr aktualisiert werden kann.

...und das die Dokumente aus dem Online CVS nicht ausgechekt werden konnten. Damit ist dann eine oder mehrere Abteilungen komplett arbeitsunfähig. Darauf lässt sich keine Firma ein.

Kopierschutz ist wichtig...aber Versuch lieber dem Nutzer einen Mehrwert damit zu bieten, anstatt ihn zu gängeln.

Kopierschutz ist für den Kunden nicht wichtig sondern bedeutet zusätzliche Kosten. Einen Mehrwert gibt es für den Kunden nie. Man kann ihn damit nur gängeln. Wenn man unbedingt eine Online Aktivierung verkaufen will, dann sollte man mit Qualität glänzen.

Wenn ich das bisher richtig verstanden habe, dann handelt es sich nicht um eine privat Anwendung sondern um eine Anwendung für eine Firma. Die Firma kauft dann sagen wir mal 100 Lizenzen. Bei so einer Größenordnung wird sich der Kunde 2 mal überlegen ob er sich von irgend welchen Fremdservern abhängig macht. Sobald der Fremdserver unabsichtlich oder absichtlich vom Netz genommen wird, hat die Firma ein gewaltiges Problem. Der Produktionsausfall kann da richtig teuer werden. Dann doch lieber etwas tiefer in die Tasche greifen und ein gutes Programm kaufen, dass ohne irgendwelche unötigen Aktivierungs geschichten und CVS über Fremdserver auskommt.

Qualität bedeutet nicht, dass man möglichst viele Features einbaut, die andere nicht haben sondern dass man möglichst genau das einbaut was der Kunde wirklich braucht. Nicht mehr und nicht weniger. Außerdem bedeutet Qualität, dass man das Rad (CVS) nicht ständig neu erfindet. Wenn man dem Kunden ein Produkt anbietet, dass zu seinen bereits vorhandenen Servern kompatibel ist (zum Beispiel CVS) dann heißt das für den Kunden minimales Ausfallrisiko. Genau das will der Kunde. Dafür ist er vieleicht auch bereit eine Online Aktivierung mit ihren vergleichweise geringem Ausfallrisiko in Kauf zu nehmen.

Wie wäre es mit einer Online Aktivierung und einem Plan B Patch. Wenn der Online Server für die Aktivierung irgendwann mal vom Netz genommen werden soll, kann man so dem Kunden garantieren, dass er die Anwendung nach dem Patch ohne irgendwelche einschränkungen weiter verwenden kann. Das ist eine Lösung mit der der Kunde leben kann.
 
Für den Kunden ist die Rechnung doch einfach. Solange es ein Programm gibt, dass ohne online oder offline aktivierung auskommt, die gleiche Qualität hat und nicht unötig mehr Kostet (zusätzliche Kosten für die Aktivierung eingerechnet) wird er es nehmen. Erst wenn es keine alternativen gibt, wird er sich auf die Aktivierung einlassen. Vorzugsweise eine Aktivierung die auch nach der Pleite des Herstellers noch funktioniert.

Nichts ist schlimmer als eine nicht mehr funktionierende Aktivierung. Dann muss man neue Software besorgen und die Anwender wohlmöglich nochmal Schulen. Alles unötige Kosten. Lieber einmal etwas mehr bezahlen und dafür für die Ewigkeit.

Das Problem ist das ohne die Beschränkung durch einen Kopierschutz oder ein Dongle-System die Software "hemmungslos unterlizenziert" (geniale Wortkreation) eingesetzt wird. Und das passiert leider in Unternehmen/Behörden viel zu oft.
Bei der von mir beschriebenen Variante muss eine Software nur einmal registriert werden ob das automatisch oder per Ausweichmethode funktioniert ist in der Summe der Zeit für den Installationsaufwand unerheblich.
Die Sache mit dem Lizenzierungsserver sehe ich genauso, wobei die Sache mit der Virtualisierung etwas entschärft wird.


Der Kunde muss warten, bis man sich bequemt hat, ihm einen Schlüssel zu generieren, obwohl er die Software bereits installiert hat und man eigentlich verlangen könnte, sie in dem Moment benutzen zu können.
Das nennst du "nicht ganz so gängeln"?
Auch das Verfahren treibt einen dazu, sich die Software cracken zu lassen. Also schlecht.

Was heist bequemen? Das ganze kann man an einen Publisher/Dienstleister auslagern, der das ganze für einen Abwickelt.
Das sich eine IT-Abteilung hinsetzt und Software crackt wage ich stark zu bezweifeln auserdem ist es Strafbar.

Zum Thema Pleitegeier des Softwareunternehmens oder Entwicklers:
Dadurch das es eine DB-Anwendung ist und im Unternehmensumfeld eingesetzt wird, untersteht die Software automatisch dem Anpassungszwang. Sollten die Entwickler hopps gehen stirbt meist auch die Anwendung bzw. wird es ein anderer neu machen müssen oder wie es meist der Fall ist wird die Lösung von einem dritten aufgekauft um an der Dienstleistung zu verdienen.
Ich habe bisher noch nie eine Software gesehen die auf einer DB basiert und keiner Aktualisierung bedurfte, es treten immer Aufgrund der sich änderten Rahmenbedingungen Aktualisierungen auf.
 
Das Problem ist das ohne die Beschränkung durch einen Kopierschutz oder ein Dongle-System die Software "hemmungslos unterlizenziert" (geniale Wortkreation) eingesetzt wird. Und das passiert leider in Unternehmen/Behörden viel zu oft.

Ich behaupte gerade da ist das Risiko gering. Je größer ein Unternehmen ist um so schneller fällt unlizensierte Software auf. Ich kenne da diverse Fälle, die irgendwann nach ein paar Jahren merken, dass sie viel zu wenig Lizenzen haben und dann rückwirkend nachzahlen müssen.
Ich kenne sogar Fälle da wird eine unlizensierte Version als nennen wir es mal unbegrentzte Demo verwendet. Wenn das Programm gut ist, dann spricht sich das bei den Anwendern rum. Irgendwann verlangen sie dann von ihrer Firma eine ordentliche Installation inklusive der dafür nötigen Lizenzen. Es hat also teilweise auch Vorteile einfach auf den Kopierschutz zu verzichten.

Bei einem Privatanwender und auch kleinenere Firmen kommt das ganze natürlich nie ans Tageslicht.

Bei der von mir beschriebenen Variante muss eine Software nur einmal registriert werden ob das automatisch oder per Ausweichmethode funktioniert ist in der Summe der Zeit für den Installationsaufwand unerheblich.

Bei der von dir Beschriebenen Methode ist eine Online Aktivierung notwendig. Der Zeitaufwand für die Installation ist garnicht das Problem. Irgendjemand muss meine Aktivierungsanfrage beantworten und damit besteht das Risiko, dass die Aktivierung irgendwann nicht mehr funktioniert. Wenn ich deine Lösung richtig verstanden habe, willst du die Aktivierung von der Hardware abhängig machen. Einmal auf einem PC aktiviert, kann die Software auf diesem PC beliebig oft neu Installiert werden. Macht keinen Unterschied weil eine Neuinstallation fast immer auf Grund von neuer Hardware durchgeführt wird und dann wieder eine Aktivierung notwendig ist. Die Nachteile bleiben also bei deiner Variante erhalten

Die Sache mit dem Lizenzierungsserver sehe ich genauso, wobei die Sache mit der Virtualisierung etwas entschärft wird.

Virtualisierung? Was meinst du damit?

Ich kenne diverse Anwendung, die einen eigenen Lizenzserver mitliefern. Beim Start der Anwendung wird der Lizenzserver nach einer ungenutzen Lizenz gefragt. Beim Beender der Anwendung wird die Lizenz wieder freigegeben.
Für den Kunden ergeben sich daraus 2 Vorteile gegenüber deiner Variante.
1. Der Lizenzserver und das Ausfallrisiko fällt in seinen Zuständigkeitsbereich. Damit ist der Server eigentlich immer verfügbar bzw wenn er mal nicht verfügbar ist, dann ist der Rest des Netzwerks meist auch weg. Die Ausfallzeiten addieren sich also nicht sondern laufen parallel.
2. Der Kunde braucht nicht unötig viele Lizenzen sondern genau die Lizenzen, die in dem Moment auch in Benutzung sind. Für den Entwickler kann das sowohl Vor als auch Nachteil sein. Der Nachteil ist, dass eine Firma mit 100 Leuten vieleicht nur 10 Lizenzen kauft weil immer nur 10 Anwender gleichzeitig die Anwendung offen haben. Es kann aber auch Vorteil sein weil die Firma die Software auf 100 PCs installiert hat und damit auch 100 Anwender jederzeit die benötigten Lizenzen Stück für Stück in die Höhe treiben. Das alte Spiel mit dem Kochenden Wasser und dem Frosch.

Was heist bequemen? Das ganze kann man an einen Publisher/Dienstleister auslagern, der das ganze für einen Abwickelt.

Für den Kunden ist das egal. Abhängigkeiten zu anderen Firmen sind unerwünscht weil es nunmal ein zusätzliches Ausfallrisiko bedeutet.

Ich habe bisher noch nie eine Software gesehen die auf einer DB basiert und keiner Aktualisierung bedurfte, es treten immer Aufgrund der sich änderten Rahmenbedingungen Aktualisierungen auf.

Ich schon.
1. Wird eine DB verwendet die immer Abwärtskompatibel ist. Damit laufen alle alten Anwendungen weiter.
2. Wird eine neuen DB Version garnicht erst installiert. Erst nach ein paar Jahren und diversen übersprungenen Versionen wird eine neue Installiert. Alle Anwendungen, die mit der neuen Version nicht zurecht kommen, laufen einfach über die alte Version weiter. Das passiert wegen 1. bei Datenbanken eigentlich nie aber es gibt ja diverse andere Abhängigkeiten. Zum Beispiel Anwendungen, die nur auf einem alten Webserver laufen. Dann gibt es eben 2 Webserver. Laufen dann beide paralel auf dem gleichen Server. Kein Problem und keine zusätzlichen Kosten.

---------- Beitrag hinzugefügt um 19:35 ---------- Vorheriger Beitrag war um 19:33 ----------

Ach mist da hab ich ein quote Tag vergessen und der dumme Proxy hier verbietet mir das Editieren.
 
Ich behaupte gerade da ist das Risiko gering. Je größer ein Unternehmen ist um so schneller fällt unlizensierte Software auf. Ich kenne da diverse Fälle, die irgendwann nach ein paar Jahren merken, dass sie viel zu wenig Lizenzen haben und dann rückwirkend nachzahlen müssen.
Ich kenne sogar Fälle da wird eine unlizensierte Version als nennen wir es mal unbegrentzte Demo verwendet. Wenn das Programm gut ist, dann spricht sich das bei den Anwendern rum. Irgendwann verlangen sie dann von ihrer Firma eine ordentliche Installation inklusive der dafür nötigen Lizenzen. Es hat also teilweise auch Vorteile einfach auf den Kopierschutz zu verzichten.

Ich behaupte da mal konsequent das Gegenteil, da i.d.R. dort verschärfte Nutzungsbedingungen/Policy's diese Form der Softwareinstallation verbietet. Spätestens wenn Produkte wie z.B. MS SCCM eingesetzt werden, fällt eine Installation einer Fremdsoftware sofort auf.
Wie gesagt es gibt zuhauf beispiele wo Software-Unternehmen auf einen Kopierschutz setzten um eben diese "Demo-Mentalität" zu unterbinden, was meiner Meinung nach auch richtig ist!

Bei der von dir Beschriebenen Methode ist eine Online Aktivierung notwendig.
...
Irgendjemand muss meine Aktivierungsanfrage beantworten und damit besteht das Risiko, dass die Aktivierung irgendwann nicht mehr funktioniert.

Wie von mir beschrieben wird das bei Unternehmenssoftware eher selten passieren, da an die Software meist ein Wartungsvertrag besteht und wenn die Softwarebude in die Insolvenz geht wird dies meist von einem Konkurenten aufgefangen der die Software samt Wartungsvertrag übernimmt.
Ich habe auch ein Konkretes Beispiel, bei uns gibt es seit den 90er Jahren eine Reihe von Psychologietestprogrammen, welche seither mittels dem von mir oben beschriebenen Weg registriert werden müssen. Bis jetzt gibt es dieses Unternehmen noch und auch die Installation der älteren Programme klappt bis heute ohne Probleme.

Bei einer Sache stimme ich aber der Masse der Kritiker überein bei "Konsumer-Software", welche auf masse Verkauft wird ist das Onlineregistrierungsverfahren wie es derzeit Ubisoft macht sehr praxisfern.

Wenn ich deine Lösung richtig verstanden habe, willst du die Aktivierung von der Hardware abhängig machen.

Ja, unter anderem ist die Hardware-Konfiguration ein wichtiger Anhaltspunkt es sollte dort aber noch mehr Faktoren geben. Sodass eine Mehrfachinstallation/Nachinstallation nicht möglich ist, das heist man kann zu einem späteren Zeitpunkt die Software nicht einfach mit den nötigen Schlüsseln auf dem gleichen PC nachinstallieren.

Virtualisierung? Was meinst du damit?

Betriebskosten für Hardware, Platzbedarf und Wartung des L-Servers, durch Virtualisierung fallen ein paar Kostenfaktoren weg.
Je nachdem wie das Lizenzierungsmodell aussschaut stimme ich dir mit den von dir geschriebenen Sachen überein. Es kommt halt immer darauf an ob nach Installationen oder tatsächlichen Anwendern abgerechnet wird.


Abhängigkeiten zu anderen Firmen sind unerwünscht weil es nunmal ein zusätzliches Ausfallrisiko bedeutet.

Nicht unbedingt es zählt im endeffekt immer das Ergebnis, falls es durch ein Joint-Venture oder ähnlichen erbracht wird kann es den Kunden egal sein.

Ich schon.
1. Wird eine DB verwendet ...

Hier haben wir uns vermutlich missverstanden, es geht mir nicht um die Basissoftware mit der die Lösung realisiert wird sondern um die Lösung selbst. Sprich es wird immer mal eine Änderung im Datenbankentwurf, Schnittstelle oder dem Frontend geben, eben weil sich Rahmenbedingungen ändern.

-----

Es geht ja hier in dem Thread auch nur draum dem ersteller ein paar Konzepte vorzustellen die ihm vlt. einen Anreiz geben können damit dieser seine Software schützen kann.
 
Das kannst du vergessen. Dafür ist ein ausreichend groß dimensionierter Server notwendig. Der Kostet Geld......

Ich kenne die Software nicht. Deswegen dachte ich eigentlich, dass es klar ist, dass meine Vorschläge lediglich Denkanstöße waren, die Software zu verbessern. Es waren Beispiele aus anderen Applikationen, mehr nicht. Ist doch völlig klar, dass man die nicht 1:1 anwenden kann.

Qualität bedeutet nicht, dass man möglichst viele Features einbaut, die andere nicht haben sondern dass man möglichst genau das einbaut was der Kunde wirklich braucht.

Hier gehts auch nicht um eine Featureschlacht, sondern um sinnvolle Erweiterungen. Wenn es eine Auftragsarbeit ist, sollte ohnehin die Softwarte transparent mit dem Kunden entwickelt werden und damit auch die Diskussion um Kopierschutz und Lizenzen (Stichwort: Exklusivität).

Ist es keine Auftragsarbeit, sondern ist ein Produkt auf dem freien Markt, sehe ich keinen Grund die Möglichkeiten eines Client-Server-Systems auszuschließen. Wenn es einen Wettbewerbsvorteil bringt...warum nicht?

Ich glaube nicht das es eine gute Idee ist ohne die Anwendung oder den Kundenkreis zu kennen schon 100 Argumente gegen eine Technik anzubringen.
 
Zuletzt bearbeitet:
Also unsere Firmeneigene Software läuft nur (dauerhaft und in vollem Umfang) wenn im Rechner n USB-Dongle steckt.

Wär sowas nicht ne Lösung?
 
Für die, die es interessiert.. das Projekt schreitete in der Zwischenzeit gut voran.
Unser Kundenkreis ist recht exklusiv, aber es ist keine Auftragsarbeit sondern Eigeninitiative. Es ist natürlich auf dem freien Markt aber wir bieten die Software nur unsererseits ausgewählten Kunden (wegen sinnvollem Einsatz) an.

Da aber noch weitere Vertriebsmöglichkeiten bestehen (Beispielsweise über Partnerfirmen usw.) sollte das Schutzkonzept halt recht allroundtauglich sein. Unsere eigenen Kunden geben uns mit Sicherheit keinen Anlass zur Sorge. Sobald Betriebsfremde Kunden u. o. Partner im Spiel sind, wars das subjektiv gesehen mit der Sicherheit unsererseits.. man kann da einfach nichts ausschließen.

Wir bzw ich habe mich für eine Lösung entschieden, bei welcher die Lizenz in der Datenbank integriert wird. Wir liefern jedem Kunden seine individuelle Datenbank-(datei) aus.
Die Lizenz beinhaltet logischerweise den vollständigen Kundennamen und weitere individuelle Kundenmerkmale sowie die Lizenzgröße und die Angabe der mitlizenzierten Features/Module des Kunden.
Beim Clientaufruf ist für den Kunden sichtbar, für wen das Programm Lizenziert wurde.

Unsere logische Annahme dabei:
Ein Kunde, welcher einen fremden Kundennamen bei seinem Programm sieht, beispielsweise eine Konkurrenzfirma o.Ä. wird sich damit mit sicherheit nicht zufrieden geben. Eine Möglichkeit diese Daten zu manipulieren gibt es zu 99,9% nicht.

Okay, ein skrupelloser "Kunde" wird sich nicht an sowas stören. Aber dagegen kann man nichts machen.


Übrigens USB Dongle.. gute Idee, sehen wir bei unseren Kunden für gewisse Dinge auch öfters (Bsp. die Internet-USB Sticks, die sachen wie Gateway u.Ä. freischalten). Aber wer will schon für ein relativ einfaches Programm / oder überhaupt ein Programm unter vielen auf dem Desktop extra einen USB Stick verwenden müssen. Steigert die Kosten und den Aufwand bzw ist der Stick dann auch leicht zu vervielfältigen. Und für jeden Client einen angepassten Stick zu "machen" ist ebenso zu viel Aufwand.
Man stelle sich das bei 100 Clientrechnern vor.. und das ist nur ein Kunde von vielen.

Ich hoffe unsere Lösung wird so effektiv sein (100%ig ins Detail bin ich mit Absicht nicht gegangen, aber der Ansatz ist ja verständlich) und vielleicht findet sich der Eine oder Andere, dem die Lösung auch zusagt und der es auch so ähnlich umsetzt.
 
Zuletzt bearbeitet:
Unsere logische Annahme dabei:
Ein Kunde, welcher einen fremden Kundennamen bei seinem Programm sieht, beispielsweise eine Konkurrenzfirma o.Ä. wird sich damit mit sicherheit nicht zufrieden geben. Eine Möglichkeit diese Daten zu manipulieren gibt es zu 99,9% nicht.
Wer die Daten manipulieren will, macht es einfach oder holt sich die notwendige Hilfe. Die Zeit für die Programmierung und Pflege des Kopierschutz steht oft in keinem Verhältnis zum Nutzen.

Übrigens USB Dongle.. gute Idee, sehen wir bei unseren Kunden für gewisse Dinge auch öfters (Bsp. die Internet-USB Sticks, die sachen wie Gateway u.Ä. freischalten). Aber wer will schon für ein relativ einfaches Programm / oder überhaupt ein Programm unter vielen auf dem Desktop extra einen USB Stick verwenden müssen. Steigert die Kosten und den Aufwand bzw ist der Stick dann auch leicht zu vervielfältigen. Und für jeden Client einen angepassten Stick zu "machen" ist ebenso zu viel Aufwand.
Man stelle sich das bei 100 Clientrechnern vor.. und das ist nur ein Kunde von vielen.
Oft wird nen zentraler Lizenzserver mit einem Dongle ausgestattet.
Externe Arbeitsplätze bekommen dazu auch noch ein Dongle.
So dämmt man die Anzahl der Dongles ein.
 
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh