# 幫助 FreeBSD

### Jordan Hubbard

$FreeBSD: doc/zh_TW.Big5/articles/contributing/article.sgml,v 1.2 2006/07/10 07:31:20 vanilla Exp $

Legal Notice

無論是個人或是各種組織，如果希望為 FreeBSD 提供幫助，都可以在本文中找到合適的方法。

[ 章節模式 / 完整模式 ]

你希望替 FreeBSD 做點什麼嗎？太好了，我們歡迎你。FreeBSD 正是有賴於廣大使用者的貢獻才得以發展壯大的。我們不僅非常感謝您所做的貢獻，而且，這些工作對於 FreeBSD 的持續發展也至關重要。

也許與您想像的不同，您既不必得是一名出色的 Programmer，也無須和 FreeBSD core team 成員有很好的私交，我們會一視同仁的對待您的工作。 FreeBSD 的開發人員遍布全球，大家技術專長各異，年齡分布也非常廣泛。 然而，每天我們都在面對持續增加的工作，而苦於沒有足夠的人手，因此我們隨時歡迎您的幫助。

FreeBSD 計劃所處理的是一個完整的作業系統環境，而不只是一個 kernel 或是一些零散的工具包。 因此，我們的 `TODO` 待辦任務列表裡包含各式各樣的工作： 從文件、使用者測試、demo，到系統安裝程式和更專業的 kernel 開發。 因此無論您的技術水準如何，從事何種領域，都可以幫助這個計劃。

我們鼓勵從事和 FreeBSD 相關工作的企業和我們聯繫。 您需要一些特殊的擴展來使您的產品運轉起來嗎？ 您會發現我們很樂意答應您的請求，除非是特別稀奇古怪的。 您是否正從事相關的增值業務？ 讓我們來幫助您吧， 我們也許可以在某些方面相互合作。 自由軟體界正在努力打破舊有的框框(像是關於軟體開發、銷售和維護)， 我們希望懇請您至少能給它一次機會。

# 1 我們的需求

下面列出了一些需要完成的任務和子計劃， 它們代表 `TODO`(待辦任務列表) 列表的意思，以及使用者的要求。

## 1.1 正在進行中的任務(非程式開發人員)

很多參加 FreeBSD 計劃的人不是 Programmer。 這個計劃裡有文件撰寫者、網頁設計師、以及技術支援人員。 對於這些義工來說，他們只需要貢獻一些時間，並且具有學習的意願。

1. 您可以時常翻閱 FAQ 和手冊(Handbook) ，如果發現有解釋不清楚的地方，或是不合時宜的文件，甚至完全不正確的地方， 都請告訴我們。當然，若能順手把他們修正，並把勘誤寄給我們，那就更好了。:) (SGML 其實並不難學，但我們也不反對您直接提交一般 ASCII 的純文字版本)。

2. 幫助我們把 FreeBSD 文件翻譯成你的母語。 如果你的母語版本已經存在了， 也可以翻譯一些額外的文件，或者檢查那些已有的文件是否為最新版。 您可以先簡單看看 FreeBSD 文件計劃中有關 翻譯時的常見問題。 參加翻譯工作，並不是說您要孤軍奮戰翻譯所有 FreeBSD 文件。 身為義工，要做多少工作完全取決於您的意願。一旦某個人開始翻譯了， 之後幾乎一定會有其他人參與到這些工作中來。 如果時間有限，或者精力不夠去翻譯整份文件，那可以首先去翻譯安裝指南。

3. 閱讀 FreeBSD general questions 郵遞論壇 並偶爾翻閱(甚至有規律地這樣做) the comp.unix.bsd.freebsd.misc newsgroup 。與別人分享您的專業知識， 並幫助他們解決問題，是件令人愉悅的事情； 有時候，您甚至可以在這個過程中學到一些新東西！ 這些論壇有時也會為您激發出一些不錯的想法。

## 1.2 正在進行中的任務(程式開發人員)

列在這裡的大部分任務都需要您投入可觀的時間，或者需要您在 FreeBSD kernel 方面有豐富的知識，或者兩者都要。當然這裡也有很多重要的任務，適合像是 “weekend hackers” 這類只用週末就可以搞定的 Hacker。

1. 如果您正在跑的是 FreeBSD -CURRENT 版本，並且網路速度還不錯， 那麼可以到 `current.FreeBSD.org`， 這台每天會有一個新版本 —— 如果您有空， 您可以三不五時下載並安裝， 其間如果出了什麼問題，請告訴我們。

2. 閱讀 FreeBSD problem reports 郵遞論壇。這些問題，或許您能提供有建設性意義的意見， 或者幫忙測試一些 patch 。此外，甚至可以嘗試修正其中的一些問題。

3. 如果您知道有一些修正已經在 -CURRENT 上成功地使用， 但在經過一段時間(通常是 2 週左右)之後，仍未合併到 -STABLE (這步驟就是 MFC -- Merged From Current)，那麼可以給相關的 committer 人員發封禮貌的提醒信。

4. 將第三方(3rd party)軟體加入到原始碼中的 `src/contrib` 目錄。

5. 確保 `src/contrib` 中的原始碼是最新的。

6. 編譯原始碼(或是部分原始碼)時，請改用更高的警告等級(warning level) 以便偵錯(debug)用，並在完成測試、確認正常完畢之後，清除這些編譯的警告等級。

7. 更新那些在 ports 中使用過時的東西， 例如 `gets()` 或包含 `malloc.h` 所產生的警告。

8. 如果有為 ports 作了任何修正， 請記得將您的 patch 發給原作者 (這樣下次升級時，您的工作會變得輕鬆一些)。

9. 先取得正式的標準，如 POSIX® 的副本。 在 FreeBSD C99 & POSIX 標準相容計劃 網站上，可以得到相關鏈接。 請將 FreeBSD 的行為與上述的標準進行比較，若所得結果與 C99 & POSIX 標準不同的話， 特別是那些細節地方的微小差異，請發一個關於它的 PR (問題報告)。 如果可能，請指出如何修正它，並隨 PR 提交 patch 。 如果您認為標準有問題，請向這些規格標準的相關團體，請求對其進行重新的考慮。

10. 為這份列表提供更多建議！

## 1.3 查閱整個 PR 資料庫

FreeBSD PR 列表 這裡會顯示目前所有 PR 的問題狀態，以及由 FreeBSD 使用者提交的改進建議。 PR 資料庫同時包括了開發人員和非開發人員的任務。 查看那些尚未解決的 PR，並看看是否有您感興趣的任務。 這其中可能有一些是非常簡單的問題，只需要看一看並確認 PR 是正確的。 另外一些可能會非常複雜，或者完全未附任何修正。

首先看一看那些還沒有人接手的 PR。 如果 PR 已經分配給了其它人，但看起來是您能夠處理的， 您可以寄信給那個人，並詢問您是否可以提供幫助 —— 他們可能已經有可供測試的 patch ，或有一些可供討論的意見。

## 1.4 由 “Ideas” 中選一項

FreeBSD list of projects and ideas for volunteers 同樣地開放給有意願參與 FreeBSD 計劃的人。 這份清單將持續地更新，同時提供各個項目的資訊給所有人 （不論是否為程式設計人員）。

|  | Next
|  | 如何提供幫助

本文及其他文件，可由此下載：ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/。

若有 FreeBSD 方面疑問，請先閱讀 FreeBSD 相關文件，如不能解決的話，再洽詢 <questions@FreeBSD.org>。
關於本文件的問題，請洽詢 <doc@FreeBSD.org>。