P粉7764125972023-08-07 10:37:48
您需要考慮您的目標:
1)您是否試圖防止他人閱讀/修改您的程式碼?如果是的話,您將需要一個混淆/加密工具。我使用過Zend Guard取得了很好的效果。
2)您是否試圖防止未經授權的程式碼重新分發? EULA/專有許可證將賦予您法律權力來阻止這種行為,但實際上無法完全阻止。金鑰/啟動方案將允許您積極監控使用情況,但如果不對程式碼進行加密,這些方案可以被移除。 Zend Guard還具有將特定腳本鎖定到特定客戶機器和/或建立時間限製版本的功能,如果這符合您的需求。
我不熟悉vBulletin等軟體,但他們要么需要加密/混淆,要么需要信任他們的用戶做正確的事情。在後一種情況下,他們透過EULA禁止不希望出現的行為,並依靠法律系統來支持對EULA的違約行為進行追究。
如果您沒有準備/能力採取法律行動來保護您的軟體,並且不想加密/混淆,您的選擇是:a)發布帶有EULA的軟體,這樣如果需要的話,您就有了法律選擇,並希望一切順利,或b)考慮是否使用開源許可證可能更合適,允許重新分發。
P粉0119126402023-08-07 09:00:04
混淆事物只會給您合法、守法的客戶帶來不便,而那些可能欺騙您的人並不是您的目標付費客戶。 (編輯掉了關於混淆的其他想法)
保護您的軟體的另一個建議是:創建一個商業模式,其中程式碼是您提供的價值的不完整部分。例如,銷售產品許可證,並提供對您在網站上管理的某些資料的訪問,或以訂閱模式或客戶支援的方式授權產品。
設計使用者授權協議(EULA)是一個法律問題,而不是編碼問題。您可以從您使用的產品和網站的一些EULA文字開始閱讀。您可能會發現一些有趣的細節!
建立專有授權非常靈活,可能超出了StackOverflow的預期範圍,因為它不僅涉及編碼。
我想到的一些EULA的部分內容包括:
如果產品有錯誤或造成損害,限制您的責任。
明確規定客戶可以如何使用其許可的軟體,使用多長時間,在多少台機器上使用,是否具有再分發權利等等。
賦予您審核其網站的權利,以便您可以執行許可證。
如果他們違反了EULA,例如他們失去了使用您軟體的特權,會發生什麼。
您應該諮詢法律專業人士以準備商業EULA。
編輯:如果這個專案無法證明請律師的費用,請查看以下資源:
joelonsoftware上的「EULA建議」
「如何撰寫最終使用者授權協議」