Implementierung von Lizenzmodellen in .NET
()
Über dieses E-Book
Ähnlich wie Implementierung von Lizenzmodellen in .NET
Ähnliche E-Books
Softwarelizenzmanagement kompakt: Einsatz und Management des immateriellen Wirtschaftsgutes Software und hybrider Leistungsbündel (Public Cloud Services) Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing: Rechtliche Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 5: Dual Use Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 20 Bewertung: 0 von 5 Sternen0 BewertungenSicherheit von Webanwendungen in der Praxis: Wie sich Unternehmen schützen können – Hintergründe, Maßnahmen, Prüfverfahren und Prozesse Bewertung: 0 von 5 Sternen0 BewertungenZukunftssichere Architektur: So bauen Sie monolithische Anwendungen zu komponentenorientierten um Bewertung: 0 von 5 Sternen0 BewertungenIT-Aussichten für Verbände und Organisationen: In den nächsten zehn Jahren Bewertung: 0 von 5 Sternen0 BewertungenGrundlagen der Softwareentwicklung Bewertung: 0 von 5 Sternen0 BewertungenAuswahl von Low-Code und No-Code Software: digital business guides Bewertung: 0 von 5 Sternen0 BewertungenQuick Guide Legal Tech: Schritt für Schritt zur digitalen Kanzlei und Rechtsabteilung Bewertung: 0 von 5 Sternen0 BewertungenJavaScript Performance Bewertung: 0 von 5 Sternen0 BewertungenMicroservices: Grundlagen flexibler Softwarearchitekturen Bewertung: 0 von 5 Sternen0 BewertungenSoftware Due Diligence: Softwareentwicklung als Asset bewertet Bewertung: 0 von 5 Sternen0 BewertungenServer-Infrastrukturen mit Microsoft Windows Server Technologien: Alle Themen für das Microsoft Seminar und die Zertifizierungsprüfung MOC 20413 Bewertung: 0 von 5 Sternen0 BewertungenLanglebige Software-Architekturen: Technische Schulden analysieren, begrenzen und abbauen Bewertung: 0 von 5 Sternen0 BewertungenSharePoint Kompendium - Bd. 2: Design Bewertung: 0 von 5 Sternen0 BewertungenModerne Onlineshops: Case Study: Goodgame Studios Bewertung: 0 von 5 Sternen0 BewertungenREST und HTTP: Entwicklung und Integration nach dem Architekturstil des Web Bewertung: 5 von 5 Sternen5/5Prinzipien des Softwaredesigns: Entwurfsstrategien für komplexe Systeme Bewertung: 0 von 5 Sternen0 BewertungenFunktionale Sicherheit in der Praxis: Anwendung von DIN EN 61508 und ISO/DIS 26262 bei der Entwicklung von Serienprodukten Bewertung: 0 von 5 Sternen0 BewertungenKubernetes Patterns: Wiederverwendbare Muster zum Erstellen von Cloud-nativen Anwendungen Bewertung: 0 von 5 Sternen0 BewertungenGraphQL: Eine Einführung in APIs mit GraphQL Bewertung: 0 von 5 Sternen0 BewertungenBPM in der Praxis Bewertung: 0 von 5 Sternen0 BewertungenPraxiswissen TYPO3 CMS 9 LTS Bewertung: 0 von 5 Sternen0 BewertungenExtensions für TYPO3: So entwickeln Sie maßgeschneiderte TYPO3-Erweiterungen Bewertung: 0 von 5 Sternen0 BewertungenQualitätssicherung mit JavaScript und PHP Bewertung: 0 von 5 Sternen0 BewertungenDocker: Software entwickeln und deployen mit Containern Bewertung: 0 von 5 Sternen0 BewertungenCloud-Transformation: Wie die Public Cloud Unternehmen verändert Bewertung: 0 von 5 Sternen0 BewertungenCloud Computing Bewertung: 0 von 5 Sternen0 BewertungenHTML5, JavaScript und jQuery: Der Crashkurs für Softwareentwickler Bewertung: 2 von 5 Sternen2/5
Programmieren für Sie
Hacken mit Python und Kali-Linux: Entwicklung eigener Hackingtools mit Python unter Kali-Linux Bewertung: 0 von 5 Sternen0 BewertungenNew Game Plus: Perspektiven der Game Studies. Genres - Künste - Diskurse (Bild und Bit. Studien zur digitalen Medienkultur) Bewertung: 0 von 5 Sternen0 BewertungenPython-Grundlagen Bewertung: 0 von 5 Sternen0 BewertungenDie ultimative FRITZ!Box Bibel - Das Praxisbuch 2. aktualisierte Auflage - mit vielen Insider Tipps und Tricks - komplett in Farbe Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Einstieg • Optimierung • Projekte Bewertung: 5 von 5 Sternen5/5Programmieren lernen mit Python 3: Schnelleinstieg für Beginner Bewertung: 0 von 5 Sternen0 BewertungenDas Excel SOS-Handbuch: Wie sie Excel (2010-2019 & 365) schnell & einfach meistern. Die All-in-One Anleitung für ihren privaten & beruflichen Excel-Erfolg! Bewertung: 0 von 5 Sternen0 BewertungenPython programmieren lernen: Der spielerische Einstieg mit Minecraft Bewertung: 0 von 5 Sternen0 BewertungenEigene Spiele programmieren – Python lernen: Der spielerische Weg zur Programmiersprache Bewertung: 0 von 5 Sternen0 BewertungenAlgorithmen: Grundlagen und Implementierung Bewertung: 0 von 5 Sternen0 BewertungenHTML5-Programmierung von Kopf bis Fuß: Webanwendungen mit HTML5 und JavaScript Bewertung: 0 von 5 Sternen0 BewertungenPython lernen – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenRaspberry Pi: Mach's einfach: Die kompakteste Gebrauchsanweisung mit 222 Anleitungen. Geeignet für Raspberry Pi 3 Modell B / B+ Bewertung: 0 von 5 Sternen0 BewertungenSQL – kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenMikrocontroller in der Elektronik: Mikrocontroller programmieren und in der Praxis einsetzen Bewertung: 0 von 5 Sternen0 BewertungenPython | Schritt für Schritt Programmieren lernen: Der ultimative Anfänger Guide für einen einfachen & schnellen Einstieg Bewertung: 0 von 5 Sternen0 BewertungenTraumjob IT 2021: Branchenüberblick, Erfahrungsberichte und Tipps zum Berufseinstieg Bewertung: 5 von 5 Sternen5/5Bash kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenMicrocontroller für das IoT Bewertung: 0 von 5 Sternen0 BewertungenPython kurz & gut: Für Python 3.x und 2.7 Bewertung: 3 von 5 Sternen3/5C++: Eine kompakte Einführung Bewertung: 0 von 5 Sternen0 BewertungenProgrammieren für Einsteiger: Teil 1 Bewertung: 0 von 5 Sternen0 BewertungenAndroid-Programmierung kurz & gut Bewertung: 0 von 5 Sternen0 BewertungenDas große Python3 Workbook: Mit vielen Beispielen und Übungen - Programmieren leicht gemacht! Bewertung: 4 von 5 Sternen4/5Softwareentwicklungsprozess: Von der ersten Idee bis zur Installation Bewertung: 0 von 5 Sternen0 BewertungenDas Franzis Starterpaket Arduino Uno: Das Handbuch für den Schnelleinstieg Bewertung: 0 von 5 Sternen0 Bewertungen.NET-Praxis: Tipps und Tricks zu .NET und Visual Studio Bewertung: 0 von 5 Sternen0 BewertungenVue.js für alle: Wissenswertes für Einsteiger und Experten Bewertung: 0 von 5 Sternen0 BewertungenLinux Befehlsreferenz: Schnelleinstieg in die Arbeit mit der Konsole, regulären Ausdrücken und Shellscripting Bewertung: 0 von 5 Sternen0 BewertungenLinux Grundlagen - Ein Einstieg in das Linux-Betriebssystem Bewertung: 0 von 5 Sternen0 Bewertungen
Rezensionen für Implementierung von Lizenzmodellen in .NET
0 Bewertungen0 Rezensionen
Buchvorschau
Implementierung von Lizenzmodellen in .NET - Fabian Deitelhoff
Inhaltsverzeichnis
Teil I: Einleitung
Über den Autor
Einleitung
Teil II: Was ist eine Lizenz?
1. Lizenzierung – das unterschätze Thema
2. Softwarelizenzen
3. Warum Lizenzierungen?
4. Eckpunkte einer Lizenzierung
5. Policy Patterns (inklusive den Xamarin-Teil)
6. Lizenzierungs-Attribute
7. Deployment von Lizenzen
8. Lizenzierungs-Prozedur (inkl. Vorsicht vor Änderungen)
9. Nützliche Methoden und Bibliotheken
10. Closed vs. Open Source
Teil III: Bibliotheken und Methoden
1. Das .NET Lizenzmodell
2. Lizenzschlüssel generieren
3. Eindeutiger Fingerabdruck
4. SKGL und Software Protector
5. Rhino Licensing
6. Portable.Licensing
Teil IV: Vergleich der Bibliotheken und Methoden
1. Vergleich für Policy Patterns
2. Vergleich für Lizenzierungs-Attribute
3. Vergleich beim Deployment
4. Vergleich der Lizenzierungs-Prozeduren
5. Vergleich beim Lizenzmanagement und Gegenüberstellung
6. Anwendungsfälle sowie Einsatzgebiete
Teil V: Ausblick und Fazit
1. Eckpunkte für eine eigene Implementierung
2. Lektionen
3. Ausblick und Fazit
Imprint
Über den Autor
Fabian Deitelhoff lebt und arbeitet in Dortmund, der Metropole des Ruhrgebiets. Er studiert derzeit den Masterstudiengang Informatik. Seine Schwerpunkte liegen in der Entwicklung von Visual Studio Erweiterungen, der Analyse und Beschreibung von Open Source Frameworks sowie im Rapid Prototyping. Beruflich ist er als freier Autor, Trainer, Sprecher und Softwareentwickler im .NET Umfeld tätig. Sie erreichen Ihn über seinen Blog www.fabiandeitelhoff.de, per E-Mail unter Fabian@FabianDeitelhoff.de oder auf Twitter als @FDeitelhoff.
Einleitung
Die beiden Themengebiete Lizenzen und Lizenzmodelle sind untrennbar mit der Softwareentwicklung verbunden. Und doch werden die Themen häufig ignoriert oder zu lange beiseitegeschoben. Im Umkehrschluss bedeutet das, dass sich jeder, der Software entwickeln möchte, mit den Themengebieten auseinander setzen muss. Ganz gleich, ob es sich um ein kommerzielles Produkt oder um Open-Source-Software handelt. In den vergangenen Jahren hat sich die Art und Weise, wie über Lizenzen und Lizenzmodelle nachgedacht wird, grundlegend verändert. Es ist nicht mehr notwendig, klobige Disketten zu kopieren, die zudem nur wenige Daten enthalten können. Auch der Kopierschutz von anderen Datenträgern, wie beispielsweise CDs und DVDs, konnte in der Vergangenheit einfacher als gedacht umgangen werden. Zudem fördert die Technologie des Internets den Austausch – auch von großen Datenmengen – in kurzer Zeit. Nie war es einfacher und schneller möglich, Software zu kopieren. Die Cloud, also die zentrale Bereitstellung von Software als Dienst, galt lange als der Heilsbringer schlechthin. Viele Unternehmen setzen verstärkt auf diesen Faktor, bei den Anwendern und Anwenderinnen ist das aber noch nicht vollständig angekommen. Datenskandale, Einbruchaktionen in digitale Systeme, sowie der damit verbundene, massenhafte Diebstahl von beispielsweise Zugangs- und Zahlungsdaten sorgen zusätzlich nicht gerade dafür, die Akzeptanz für Dienste im Internet weiter zu steigern. Alles Gründe, warum die klassische Lizenzierung von Desktop-Systemen noch nicht ausgestorben ist. Die Vergangenheit hat vieles im Bereich der Softwarelizenzen geändert. Kunden und potenziell interessierte Anwender verlangen nach immer flexibleren Möglichkeiten zur Lizenzierung der eingesetzten Software. Damit die Konzeption und Implementierung eines Lizenzmodells so reibungslos wie möglich abläuft, muss einigen Eckpunkten Beachtung geschenkt werden. Dazu gehören beispielsweise verschiedene Policy Patterns, Überlegungen zu Lizenzierungs-Attributen, Deployment und Automatisierung, sowie die Frage, wie die Implementierung technisch auf Basis von .NET und C# realisiert werden kann. Neben der konkreten Realisierung sind auch die Konzepte hinter verschiedenen Lizenzierungsmustern, die gelegentlich als UML-Diagramme visualisiert werden, Gegenstand dieses Buches. Ein durchdachtes Lizenzierungskonzept hört bei der Implementierung aber nicht auf. Lizenzmanagement betrifft immer das ganze Unternehmen, da viele weitere Abteilungen und Mitarbeiter mit den Lizenzen in Berührung kommen. Daher werden auch organisatorische Aspekte betrachtet. Die .NET Welt hat in der Vergangenheit interessante und nützliche Open-Source-Bibliotheken hervorgebracht, mit denen sich Lizenzmodelle einfacher realisieren lassen, als wenn die Implementierung manuell erfolgen würde. Dieses Buch behandelt Themen rund um Softwarelizenzen sowie Lizenzierungsmodelle und zeigt, wie beide erfolgreich dazu genutzt werden können, die eigene Anwendung zu schützen. Große Teile des Inhalts sind vor circa einem halben Jahr als Video-Training bei Pluralsight erschienen. In einigen Teilbereichen ist dieses Buch eine Weiterführung der behandelten Themengebiete und wird zusätzlich dem vielfach geäußerten Wunsch gerecht, die Inhalte auch in gedruckter Form zur Verfügung zu stellen. Neben theoretischen Aspekten wird auch die Implementierung von Methoden und Frameworks gezeigt und daraufhin untersucht, ob deren Einsatz lohnenswert ist. Einige dieser Methoden und Frameworks sind der Unique Finger Print, der Software Protector und Portable.Licensing. Schwerpunktmäßig werden die Themengebiete rund um die Implementierung von Lizenzmodellen für Desktop- oder Netzwerkanwendungen behandelt. Die Lizenzierung von Cloud- oder Web-Diensten gehört nicht zum Fokus dieses devbooks. Viele der Themen sind dennoch allgemeingültig oder übertragbar, da auch bei den genannten Anwendungsgebieten lokale oder verteilte Lizenzen nützlich sind.
Beginnen möchte ich gerne mit einer Aussage, die ich vor einiger Zeit gelesen habe. Leider ist mir die Quelle abhandengekommen. Dennoch lassen mich die Sätze nicht mehr los, weil sie eindrucksvoll beschreibt, warum so viel Software illegal kopiert wird.
„Ich finde es nicht überraschend, dass soviel Software geklaut wird. Wir sind eine Kultur von anonymen Dieben. Wir mogeln bei den Steuern, rippen Filme und kopieren Spiele. Warum sollte das in anderen Bereichen des Softwarebusiness anders sein? Ich kenne Menschen, die ihren Lebensunterhalt mit dem Schreiben von Software verdienen und trotzdem die Software anderer klauen, es aber nicht als Diebstahl begreifen. Sie haben eher den Begriff des ‚Teilens‘ im Hinterkopf. Wenn Personen eine Software umsonst bekommen können, werden es einige tun. Immer. Legal oder nicht."
Diese Aussage ist frei aus dem Englischen übersetzt und nicht von mir. Trotzdem kenne ich den beschriebenen Personenkreis. Vor allem diejenigen, die ihren Lebensunterhalt damit verdienen und dennoch kommerzielle Software von anderen stehlen. Es hat etwas Schizophrenes an sich, zu denken, sich so aus der Gleichung herausnehmen zu können.
Lizenzierung – das unterschätze Thema
Das Thema Lizenzen und Lizenzierungsmodelle treibt jeden Entwickler um. Nicht nur bei kommerzieller Software, sondern auch im Open-Source-Bereich. Wird ein Softwareprodukt verkauft, spielt der finanzielle Aspekt eine sehr große Rolle. Wer möchte schon, dass seine Software „einfach so" kopiert und genutzt wird? Zum Beispiel bei der einen Ideen, die einen Businessbereich oder einen bestimmten Markt aufrollen könnte. Investitionen wollen geschützt werden. Und das bitte nicht über Softwarepatente, insbesondere wenn sie trivial sind, sondern über eine ausgereifte, durchdachte und kundenfreundliche Lizenzierung sowie ein gutes Lizenzmodell.
Im Open-Source-Bereich ist es eher die Frage, wo der eigene Quelltext zum Einsatz kommen darf und wo nicht. Zusätzlich zu der Frage, ob der eigene Name genannt werden muss und ob eine Veränderung des Source-Codes erlaubt ist.
Schwerpunkt dieses devbooks ist der kommerzielle Einsatz von Software. Denn die Entwicklung eines ausgereiften Softwareprodukts ist teuer. Insbesondere bei der Entwicklung eines vollständig neuen Produktes. Aber auch mit der Zeit fließt immer mehr Aufwand in eine Software. Diese Kosten müssen wieder hereingespielt werden, um die weitere Entwicklung zu finanzieren.
Bei den beschriebenen Frameworks zur Unterstützung und Implementierung von Lizenzmodellen wurde allerdings darauf geachtet, Bibliotheken und Komponenten auszuwählen, die als Open-Source-Software zur Verfügung stehen. Geld einzusparen ist nicht der Hauptgrund. Es geht auch oder vor allem darum, Einblick in die Implementierung nehmen zu können. Im Hinblick auf die Sicherheit ist das nicht zu unterschätzen.
Aus den genannten Gründen gibt es immer einen Zeitpunkt, zu dem die Frage aufkommt, wie das Produkt geschützt werden soll. Welche Lizenzierungsstrategie ist die beste? Welche Möglichkeiten gibt es überhaupt, die eigene Software zu schützen? Diese Fragen sind essentiell, wenn es um den Verkauf von Software geht. Ganz gleich, ob ein Team hinter der Entwicklung steht oder eine einzelne Person.
Lizenzierung im Wandel der Zeit
Die ganze IT-Branche ist ständig im Umbruch. Was auf Technologie im Allgemeinen zutrifft, gilt für Software im Speziellen umso mehr. Denn Software lässt sich leicht beziehungsweise leichter anpassen als andere Komponenten wie beispielsweise Hardware.
Durch den schnellen Wandel hat sich die Frage, wie Softwareprodukte lizenziert werden können, grundlegend geändert.
Bei Disketten in den 70er Jahren war das Unterfangen noch kein so großes Problem. Natürlich wurden auch diese schon kopiert,