下一節:,上一節:,上一層:頂層   [目錄][索引]


8 需要支援的平台

大部分的 GNU 套件都能在多種平台上執行。這些平台的重要性並不相同。對於 GNU 套件來說,最重要的支援平台是 GNU 作業系統的自由變體,無論它使用哪個核心。

GNU 專案的實際工作是開發 GNU 作業系統;GNU 套件應該使整個 GNU 系統更強大,並鼓勵人們轉換到該系統。

請在您的工作中牢記這些目標。例如,您新增的每個新功能都應該能在 GNU 上運作。如果新功能僅在 GNU 上(例如,在 GNU/Linux 上)執行,這是可以接受的。然而,如果某個功能僅在其他系統上執行,而不能在 GNU 上執行,則會削弱目標。

因此,當被要求實作這樣的功能時,請拒絕,並引用這些理由,並要求貢獻者也為 GNU 系統實作該功能。請參閱不應接受的補丁

您自然會希望程式能在其支援的所有平台上運行。但您個人不會有權限存取這些平台的大部分 — 那麼您應該如何處理它們呢?

不用擔心試圖取得所有這些平台的存取權限。即使您真的可以存取所有這些平台,您自己在每個平台上測試程式也是沒有效率的。相反地,您應該在少數平台上測試程式,包括一些 GNU 的自由變體,並讓使用者在其他平台上測試。您可以在正式發布前透過預先測試階段來做到這一點;當沒有理由預期會出現問題時,尤其是在主要可移植的套件中,您可以直接發布並讓使用者告訴您是否引入了任何不可移植的東西。

親自在 GNU 或 GNU/Linux 上測試程式非常重要,因為這些是 GNU 套件最重要的平台。如果您沒有權限存取這些平台之一,作為 GNU 維護者,您可以取得通用 GNU 登入機器的存取權限;請參閱https://gnu.dev.org.tw/software/README.accounts.html

支援其他平台是可選的 — 當這似乎是個好主意時我們才會做,但我們不認為這是義務。如果使用者不照顧某個平台,您可能必須停止支援它,除非且直到有使用者主動提供協助。反之,如果使用者主動提供變更來支援額外的平台,您可能會想要安裝它們,但您並非必須這樣做。如果您覺得這些變更複雜且不美觀,如果您認為它們會增加未來維護的負擔,您可以而且應該拒絕它們。這包括自由或主要自由的平台,例如 OpenBSD、FreeBSD 和 NetBSD,以及非自由平台,例如 Windows。


下一節:,上一節:,上一層:頂層   [目錄][索引]