9.2 與非自由應用程式的互通性
在 GNU 程式中實作功能,使其能方便地與廣泛使用的非自由工具和應用程式協同運作是很常見的。但在某些情況下,您不應實作與非自由程式的合作,我們在這裡可以將其稱為 ShackleMe。
- 如果 ShackleMe 並不廣為人知,請拒絕這個想法。GNU 套件甚至不應提及一個默默無聞的非自由程式(請參閱GNU 編碼標準中的「參考文獻」一節)。
- 如果 ShackleMe 強加了一些特別糟糕或危險的東西,例如有效的數位版權管理 (DRM) 或壟斷性的檔案格式,您應該拒絕給予它任何特定的支援。但不要削弱通用功能,使其拒絕與 ShackleMe 協同運作;那樣就過度了。如果可能,編寫程式碼從此類檔案中提取使用者的資料是可以接受的。
- 如果 ShackleMe 無法在 GNU 作業系統上執行,並且沒有可比較的自由程式,人們可以在 GNU 系統上使用該程式來完成相同的工作,那麼對 ShackleMe 的特殊支援將成為僅在非 GNU 系統上才能運作的功能。因此,您應該拒絕支援它。請參閱非 GNU 專有功能。
- 如果 ShackleMe 也能在 GNU 系統上執行,您可以隨意包含對它的支援,但您沒有義務包含該支援,更不用說執行它。如果您確實包含對它的支援,請確保在 GNU 系統上與其通訊的支援與在非 GNU 系統上同樣良好。
- 如果有可以取代 ShackleMe 的自由程式,或嘗試取代的自由程式,請確保您的程式與它們的協同運作,與據報與 ShackleMe 的協同運作一樣好,或更好。
- 您永遠沒有義務編寫、安裝或維護任何種類對非自由程式的支援。如果它未維護且損壞,並且沒有其他人想要維護它,您可以刪除它。不要感到被困住而必須處理它!
請參閱建議的回應,其中包含您可以使用的文字,如果您希望表達您拒絕支援 ShackleMe,除非同時對 ShackleMe 的自由競爭對手提供同等良好的支援。其目的是邀請貢獻者支援這些自由競爭對手。您可以根據需要修改它以適應情況。