2009-06-22 6 views
10

Ich entwickle eine .Net-Klassenbibliothek (ein Datenprovider) und ich fange an, darüber nachzudenken, wie ich mit der Lizenzierung der Bibliothek an potenzielle Käufer umgehen würde. Mit Lizenzierung meine ich die Mechanismen zu versuchen zu verhindern, dass meine Bibliothek von denen benutzt wird, die sie nicht gekauft haben, nicht die Softwarelizenz (d. H. Apache, Gnu, usw.).Entwicklungs-/Laufzeitlizenzierungsmechanismus für eine C# -Klassenbibliothek?

Ich habe mich noch nie mit Lizenzierung beschäftigt, und in der Vergangenheit habe ich immer Apps entwickelt, keine Bibliotheken. Ich möchte meinen Kunden keine Schwierigkeiten machen. Ich weiß, dass es nicht möglich ist, es in die Luft zu jagen. Nur ein Mechanismus, der mich anständig schützt, ohne dass der Kunde durch Reifen springt oder mit den Zähnen knirscht.

Ich denke, der Mechanismus würde nach einer gültigen Lizenz suchen, wenn die Klasse im Entwicklungsmodus verwendet wird, und nicht im Laufzeitmodus (wenn die Software des Kunden für ihre Kunden freigegeben wird). Ich denke, Bibliotheken werden normalerweise pro Entwickler verkauft, aber ich bin mir nicht sicher, wie das erreicht werden könnte, ohne den Mechanismus für meine Kunden abscheulich zu machen; vielleicht wird das dem Ehrensystem überlassen.

Ich googelte dies und fand viele Ansätze. Idealerweise möchte ich etwas tun, das allgemein akzeptiert und üblich ist, die "richtige" Art und Weise, wie Klassenbibliotheken lizenziert werden, falls diese existiert, anstatt meine Kunden mit einem weiteren Lizenzmechanismus zu beschäftigen. Ein fester Schritt in die richtige Richtung wird sehr geschätzt!

+0

Das ist kein guter Titel. Worüber Sie sprechen, hat nichts mit Lizenzierung zu tun. –

+0

Ich zwickte den Titel – Darryl

+0

Ich bemerkte. Vielen Dank! –

Antwort

3

Dies ist die .NET-Lösung geliefert

http://www.ddj.com/web-development/184416695

+0

Dieser Link verweist nun auf einen Artikel zur _component_Lizenzierung, der speziell _nicht_ für die OP-Frage zur Lizenzierung einer _library_ gilt. Würde es Ihnen etwas ausmachen, diese Antwort zu aktualisieren? – Sepster

0

Wenn Ihr Client instanziert Ihre Klassenbibliothek, die Sie in Ihrer Konstruktor Codeprüfung für die Lizenzierung würden. Wenn der Anbieter keine gültige/fehlende Lizenz hat, können Sie eine Lizenzierungsausnahme auslösen. Dies würde verhindern, dass jemand Ihre Klasse/Bibliothek verwendet. Sie sollten dies nur einmal tun, damit, wenn die Lizenz in einer Klasse gültig ist, alle anderen Klassen die Lizenzprüfung überspringen.

Verwandte Themen