Was ist eine SDK-Lizenz?
Eine SDK-Lizenz – SDK steht für Software Development Kit – ermöglicht es einem Softwareentwickler, ein SDK legal zu erwerben und/oder zu nutzen.
Anbieter von Software, die möchten, dass ihr Produkt leicht in andere Softwareprodukte integriert werden kann, müssen eine gute Möglichkeit finden, um sicherzustellen, dass der Code, den sie Entwicklern zur Verfügung stellen, geschützt ist. Die Lizenzierung von SDKs ist etwas komplexer als die Lizenzierung anderer Softwareprodukte. Daher benötigen SDKs ein intelligentes und umfassendes Lizenzierungsmodell, das die richtige Art von Schutz und Monetarisierungssystem bietet.
Doch bevor wir uns mit den verschiedenen Arten von SDK-Lizenzen beschäftigen, sollten wir ein paar Dinge wiederholen:
Was bedeutet SDK?
SDK steht für Software Development Kit. Ein SDK ist im Grunde ein vorgefertigter Code, der alle Tools enthält, die ein Entwickler benötigt, um bestehende Software für die Erstellung einer neuen Anwendung zu nutzen.
Ein SDK umfasst im Allgemeinen einen Compiler, einen Debugger und APIs (Application Programming Interfaces, Anwendungsprogrammierschnittstellen). Außerdem kann es folgende Dinge enthalten:
- Bibliotheken
- Test- und Analysetools
- Treiber
- Dokumentation
- Editors
- Netzwerkprotokolle
- Entwicklungsumgebungen
Was ist ein Beispiel für ein SDK?
Nehmen wir an, Sie sind ein Softwareentwickler, der eine soziale App für Spielplätze entwickelt, mit der Eltern und Betreuer Spielplätze in der Nachbarschaft bewerten können. Die Nutzer können der App Spielplätze hinzufügen und sie nach Sicherheit, Sauberkeit, Zugänglichkeit und Spaß bewerten. Außerdem können sie die Eigenschaften jedes Spielplatzes angeben: für welches Alter die Geräte geeignet sind, welche Ausstattung sie haben usw. Sie möchten, dass die App eine Karte enthält, die zeigt, wo sich die einzelnen Spielplätze befinden, aber die Entwicklung einer eigenen Kartenfunktion wäre unglaublich schwierig, zeitaufwendig und teuer. Außerdem müssten Sie sie ständig aktualisieren, um Änderungen wie den Bau neuer Straßen, neue Verkehrsregelungen und Ähnliches zu berücksichtigen.
Was sollte ein Entwickler also tun?
Eine einfache und elegante Lösung ist die Verwendung des Maps SDK von Google. Google hat sich bereits die Mühe gemacht, ein robustes Kartenprogramm zu erstellen, das häufig aktualisiert wird. Außerdem nutzen viele Menschen die Navigationsfunktion von Google Maps, um Orte zu finden, an denen sie noch nie waren, oder um dichten Verkehr zu umgehen. Wenn Sie das Maps SDK verwenden, um die Kartenfunktion in Ihrer App zu erstellen, sparen Sie viel Zeit und können alle großartigen Funktionen von Google Maps in Ihre App integrieren. Die Nutzer könnten nahtlos zwischen Ihrer App und Google Maps wechseln, wenn sie sich aufgrund der Bewertungen für einen neuen Spielplatz entschieden haben und Hilfe bei der Anfahrt benötigen.
Warum sollten Sie SDKs erstellen?
Sie kennen das alte Sprichwort: „Gib einem Mann einen Fisch und du ernährst ihn für einen Tag; lehre einen Mann zu fischen, und du ernährst ihn ein Leben lang.“ Was wäre, wenn Sie dem Mann das Angeln beibringen und ihm anschließend die Köder, Schnüre, Netze und all die andere Ausrüstung verkaufen würden, die er braucht, um sein eigenes Angelgeschäft aufzubauen – und er ein lebenslang treuer Kunde werden würde? Mit seinem Geschäft ernährt der Mann nicht nur sich selbst, sondern auch Sie.
Der frischgebackene Fischer ist Ihr Softwareentwickler-Client und die Angelausrüstung ist Ihr SDK. Laut Glenn Solomon, Managing Partner von GGV Capital, ist entwicklergesteuerte Software die nächste Billionen-Dollar-schwere Softwarewelle. Selbst die Unternehmen mit dem geringsten technologischen Entwicklungsstand erkennen, dass die Entwicklung einer hervorragenden App eine großartige Möglichkeit zur Ausweitung ihres Geschäfts ist – sie möchten das Rad jedoch nicht neu erfinden. SDKs ermöglichen es Entwicklern, mit minimalem Zeit-, Arbeits- und Finanzaufwand großartige Anwendungen zu entwickeln.
Wenn Sie also ein großartiges Produkt haben, das diesen Entwicklern das Leben erleichtern kann, können Sie durch die Entwicklung und den Vertrieb von SDKs an dieser schnell wachsenden Branche teilhaben.
Schutz von SDKs
Nehmen wir nun an, Sie besitzen ein Unternehmen, das eine Navigationssoftware entwickelt hat, die noch besser ist als die von Google. Sie möchten, dass Entwickler Ihre Karten in ihre Anwendungen einbinden können, also müssen Sie ihnen ein SDK anbieten.
Sie möchten das Produkt harter Arbeit Ihres Unternehmens jedoch nicht kostenlos hergeben. Um die von Ihnen entwickelte Software rentabel zu machen, müssen Sie das Recht zur Nutzung Ihres SDK an Entwickler verkaufen. Mit anderen Worten: Sie brauchen eine Möglichkeit, um SDK-Lizenzen zu vergeben und sie den Benutzern in Rechnung zu stellen.
Arten der SDK-Lizenzierung
Wie würde ein SDK-Lizenzmanagementsystem funktionieren?
Im Grunde genommen würden Sie eine ähnliche Technologie verwenden wie bei der Lizenzierung und dem Schutz anderer Arten von Software. Bei der SDK-Lizenz handelt es sich um einen bestimmten Code, der dem Entwickler Zugriff auf Ihr SDK gewährt und es ihm erlaubt, es auf legale und autorisierte Weise zu nutzen. Auf diese Weise funktionieren alle Softwarelizenzen.
Der Hauptunterschied zwischen der SDK-Lizenzierung und den meisten anderen Arten der Softwarelizenzierung besteht darin, dass SDKs zwei Nutzer haben: den Entwickler, der die App erstellt, und den Endnutzer, der die App herunterlädt und verwendet. Dieser Unterschied kann Einfluss darauf haben, wie Sie Ihr SDK monetarisieren.
Der Lizenzcode kann dem Benutzer auf verschiedene Weise zugestellt werden, je nach Ihren Bedürfnissen und denen Ihrer Kunden.
Hardware-basierte Lizenzen: USB-Sticks und -Dongles
Einige Softwarehersteller schützen ihre SDKs mit physischer Hardware wie USB-Sticks und -Dongles. Die Hardware enthält den Code, der das SDK für den Entwickler aktiviert, sodass er die Hardware an sein Gerät anschließen muss, wenn er das SDK verwenden möchte. Zu den Vorteilen dieser Methode gehören ihre Sicherheit und die fehlende Abhängigkeit von einer Internetverbindung. Die Nachteile sind, dass diese Variante nicht sehr flexibel ist, da nur eine Person, die im Besitz des physischen Geräts ist, es auch verwenden kann, und dass der Zugriff auf das SDK nur über ein Gerät mit eingestecktem Schlüssel möglich ist.
Außerdem lässt sich mit dieser Methode die Nutzung durch die Endnutzer nicht nachverfolgen. Sie würden dieses Modell verwenden, wenn Sie den Entwicklern die Nutzung Ihres SDK in Rechnung stellen möchten, ohne dies an die Anzahl der Endnutzer zu binden, die das damit entwickelte Produkt herunterladen und nutzen.
Cloud-basierte Lizenzen
Andere Softwareanbieter finden es bequemer, ihre SDKs mit Online-Lizenzen zu schützen, die auf das Gerät des Kunden heruntergeladen werden können. Der Hauptvorteil dieses Modells besteht darin, dass es viel flexibler ist und eine Vielzahl von Optionen bietet, die bei der Verwendung von Hardware-basierten Lizenzen nicht verfügbar sind:
SDK-Lizenzen zur einmaligen Verwendung
Diese Lizenzen können nur von einem Nutzer verwendet werden. Sie können die Lizenz an ein bestimmtes Gerät oder an einen bestimmten Benutzer, der sich mit bestimmten Zugangsdaten angemeldet hat, binden oder einfach pro Nutzung abrechnen, indem Sie das SDK jedes Mal, wenn es installiert wird, über den Client in Rechnung stellen.
Concurrent- oder Floating-Lizenzen
Dieses Modell ist besonders flexibel: Der Kunde kann eine bestimmte Anzahl von Lizenzen erwerben, die gleichzeitig genutzt werden können. Wenn ein Entwickler beispielsweise fünf Teammitglieder hat, die an dem Teil der Anwendung arbeiten, der Ihr SDK beinhaltet, aber nur zwei von ihnen gleichzeitig daran arbeiten müssen, kann er zwei Concurrent-Lizenzen erwerben. Wenn ein Teammitglied Ihr SDK verwenden muss, lädt es eine Lizenz von einem Remote-Lizenzserver herunter und gibt sie zurück, wenn es sie nicht mehr benötigt. Wenn ein drittes Teammitglied eine Lizenz anfordert, während beide erworbenen Lizenzen in Gebrauch sind, muss es warten, bis eine der Lizenzen an den Server zurückgegeben wurde.
Abrechnung nach Endnutzung
Anstatt dem Entwickler die Nutzung Ihres SDK in Rechnung zu stellen, können Sie ihn auch danach bezahlen lassen, wie viele seiner Endbenutzer den mit Ihrem SDK entwickelten Code nutzen. Das bedeutet, dass der Betrag, den der Entwickler für die Nutzung Ihres SDK zahlt, vom Erfolg seines eigenen Produkts abhängt. Dieses Modell kann für Entwickler mit einem geringeren Budget oder einer höheren Risikoaversion attraktiver sein.
Das richtige Modell unterscheidet sich von Entwickler zu Entwickler und von SDK zu SDK stark. Vielleicht möchten Sie sogar mehrere Optionen anbieten, um den Bedürfnissen verschiedener Kunden gerecht zu werden.
Beispiel für eine SDK-Lizenz
Um auf das Beispiel unserer Navigationssoftware zurückzukommen: Der Softwareentwickler hat mehrere Möglichkeiten, um sein SDK zu lizenzieren.
Das Maps SDK von Google beispielsweise wird nach Endnutzung berechnet. Das Maps SDK für Android ist für alle Anwendungen kostenlos. Wenn ein Entwickler jedoch Dynamic Street View verwendet, werden die Kosten nach einer gleitenden Skala berechnet: bei bis zu 100.000 Instanzen 14 USD pro 1.000 Instanzen eines Panoramaobjekts und für die folgenden 400.000 Instanzen 11,20 USD pro 1.000 Instanzen. Für eine Nutzung in größerem Umfang werden die Entwickler gebeten, sich an die Vertriebsabteilung von Google zu wenden.
Wie werden Sie Ihr SDK monetarisieren? Das hängt von Ihrem Kundenprofil, Ihrem Markt, Ihren Wettbewerbern sowie einer Reihe anderer Faktoren ab. Wenn das Maps SDK von Google kostenlos ist, Dynamic Street View aber pro Instanzierung berechnet wird, müssen Sie ein wettbewerbsfähiges SDK-Lizenzierungsmodell einführen. Zum Beispiel:
- Sie verwenden das gleiche Modell, verlangen aber weniger.
- Sie verwenden ein anderes Modell, das den Bedürfnissen einer bestimmten Zielgruppe besser entspricht.
- Sie bieten einen Mehrwert gegenüber Google und machen dies Ihren Kunden deutlich.
Thales Sentinel unterstützt Sie bei der Entwicklung des perfekten SDK-Lizenzierungsmodells
Die Entscheidung, wie Sie Ihr SDK lizenzieren und verkaufen möchten, kann eine ernsthafte Herausforderung sein, und die Implementierung des Lizenzierungsmodells kann sich als sogar noch komplexer erweisen. Sentinel LDK (License Development Kit) ist eine umfassende, sofort einsatzbereite Softwaremonetarisierungslösung, mit der Sie Ihr SDK schützen, Ihre Einnahmen maximieren, betriebliche Abläufe vereinfachen und die Benutzererfahrung verbessern können. Thales Sentinel kann Ihnen dabei helfen, herauszufinden, welches Lizenzierungsmodell am besten zu Ihren Bedürfnissen und denen Ihrer Kunden passt, und Sie dabei unterstützen, dieses Modell anschließend zu implementieren, damit Sie beginnen können, Ihren Umsatz zu steigern und die Früchte der harten Arbeit Ihres Unternehmens zu ernten.
HERTA Security - Fallstudie
Stellen Sie sich eine Softwaretechnologie vor, mit der Personen, die eine Bedrohung für die Sicherheit darstellen, automatisch identifiziert werden können - indem Menschenmengen auf der Straße oder an Orten wie Flughäfen, Stadien oder Bahnhöfen gescannt werden. Stellen Sie...