Syntax highlighting of 2368fa8 ~( UpstreamMerge)

Kernelnewbies網站的這個部份本意是如何讓程式碼併入上層核心的手冊, 由Linus Torvalds維護和可以從kernel.org取得的的核心樹.

'''合併至上游程式碼有什麼好處?'''

合併你的原始碼至上游要花費精力,貢獻和時間. 過程並不容易, 因為Linus接受程式碼進入他的版本時, 他冒著這一輩子得維護該程式碼的風險. 如果品質差的程式碼被接受, 維護Linux核心會變得非常睏難. 這些理由還有更多意指讓程式碼收入Linux核心門坎相對的提高.

然而, 讓你的程式碼收入核心也有許多的好處.

'''可維護性'''

追上上游核心變更是艱巨任務, 每次上游核心一變更要花費開發者數天或是好幾個禮拜的時間. 存在上游的程式碼沒有這樣的議題存在, 因為核心開發人員頃向簡化查找原始碼和修補受到預定發佈API變更影響的驅動程式. 這樣一來讓空出你的開發人員作更重要的工作.

'''普遍存在'''

你的原始碼將被出現在每一個Linux發行版本裡. 這關係著如果你想販賣你的硬體給每個Linux使用者. 不再需要遊說讓你的修補程式成為發行版本的一部份(困難), 你可以只要求他們切換設定選項(容易). 

'''品質控制'''

世界上某些最好的開發者將隨著你的原始碼作良好整理, 這可能會有幾天或數個禮拜的尷尬時期, 但是最後程式碼往往運作更好且更容易維護. 在某些案例上遊開發者讓網路和儲存驅動程式增加30%速度, 使得應體更吸引顧客. 

How to merge code upstream

Merging code into the upstream kernel can be a daunting process to the uninitiated. However, with the right strategy in mind, you won't get lost on your way to upstream acceptance.

    *

      /MergingStrategy strategies for merging code upstream.
    *

      /WhatNotToDo what you should never do if you want to merge upstream.
    *

      /GettingFlamed Oh no! The kernel developers said bad things about me, my code and my cat! What do I do now? 

Helpful documents from the kernel tree:

    *

      /SubmittingDrivers how to submit device drivers to the linux kernel.
    *

      /SubmittingPatches how to submit patches to the linux kernel.
    *

      /SubmitChecklist a checklist for submitting code upstream. 

Other documents on getting patches upstream:

    *

      The Perfect Patch
    *

      http://linux.yyz.us/patch-format.html
    *

      The Linux Driver Project