21.3. 有負擔的 (Encumbered) 檔案

有時候在 FreeBSD 原始碼目錄檔案群中可能需要加入一些有負擔的檔案。 例如某個硬體裝置需要一組不具有原始碼的程式檔才能夠驅動, 此時我們稱這個程式檔是有負擔的 (Encumbered)。 下面的是在 FreeBSD 目錄檔案群中加入有負擔的檔案的原則策略:

  1. 任何沒有程式原始碼而直接由系統的 CPU 解譯或是執行的檔案都是有負擔的檔案。

  2. 任何檔案其版權宣告比 BSD 或是 GNU 具有更多限制者的檔案是有負擔的檔案。

  3. 一個包含硬體需要的可下載的二進位資料檔案並非有負擔的, 除非符合條件 (1) 或 (2)。 這樣的檔案必須儲存在與硬體架構中立的 ASCII 格式 (建議使用 file2c 或是 uuencode)。

  4. 任何有負擔的檔案在放入 FreeBSD CVS 倉庫之前,需要通過 核心小組 的認可。

  5. 有負擔的檔案放在 src/contrib 或是 src/sys/contrib

  6. 整個軟體模組應該放在一起。沒有理由將他們切開, 除非與那些並非有負擔的軟體共用該檔案。

  7. Object 檔案應命名為 arch/filename.o.uu>.

  8. 系統核心用檔案;

    1. 必須在 conf/files.* 參考到該檔案 (為了簡化系統核心的建立)。

    2. 應該要在 LINT使用到,但是由 核心小組 依照情況來決定 該項目是否是否預設被開啟。當然 核心小組 的決定可能會隨情況以及時間而有所改變。

    3. Release Engineer 來決定是否進入正式發行版本(release)。

  9. 非系統核心檔案;

    1. 核心小組 確定該檔案是否為 make world 的一部分。

    2. Release Engineer 決定是否進入正式發行版本(release)。