有時候在 FreeBSD 原始碼目錄檔案群中可能需要加入一些有負擔的檔案。 例如某個硬體裝置需要一組不具有原始碼的程式檔才能夠驅動, 此時我們稱這個程式檔是有負擔的 (Encumbered)。 下面的是在 FreeBSD 目錄檔案群中加入有負擔的檔案的原則策略:
任何沒有程式原始碼而直接由系統的 CPU 解譯或是執行的檔案都是有負擔的檔案。
任何檔案其版權宣告比 BSD 或是 GNU 具有更多限制者的檔案是有負擔的檔案。
一個包含硬體需要的可下載的二進位資料檔案並非有負擔的, 除非符合條件 (1) 或 (2)。 這樣的檔案必須儲存在與硬體架構中立的 ASCII 格式 (建議使用 file2c 或是 uuencode)。
任何有負擔的檔案在放入 FreeBSD CVS 倉庫之前,需要通過 核心小組 的認可。
有負擔的檔案放在 src/contrib 或是 src/sys/contrib。
整個軟體模組應該放在一起。沒有理由將他們切開, 除非與那些並非有負擔的軟體共用該檔案。
Object 檔案應命名為 arch/filename.o.uu>.
系統核心用檔案;
必須在 conf/files.* 參考到該檔案 (為了簡化系統核心的建立)。
應該要在 LINT使用到,但是由 核心小組 依照情況來決定 該項目是否是否預設被開啟。當然 核心小組 的決定可能會隨情況以及時間而有所改變。
由 Release Engineer 來決定是否進入正式發行版本(release)。
非系統核心檔案;
由 核心小組 確定該檔案是否為 make world 的一部分。
由 Release Engineer 決定是否進入正式發行版本(release)。