.. include:: ../disclaimer-zh_CN.rst :Original: :ref:`Documentation/process/1.Intro.rst <development_process_intro>` :Translator: Alex Shi <alex.shi@linux.alibaba.com> .. _cn_development_process_intro: ä»ç» ==== æ§è¡æè¦ -------- æ¬èçå ¶ä½é¨å涵çäºå æ ¸å¼åè¿ç¨çèå´ï¼ä»¥åå¼å人ååå ¶é主å¨è¿æ¹é¢å¯è½é å°çåç§æ«æãå æ ¸ä»£ç åºè¯¥å并å°æ£å¼çï¼â主线âï¼å æ ¸ä¸æå¾å¤åå ï¼å æ¬å¯¹ç¨ æ·çèªå¨å¯ç¨æ§ãå¤ç§å½¢å¼ç社åºæ¯æ以åå½±åå æ ¸å¼åæ¹åçè½åãæä¾ç»Linux å æ ¸ç代ç å¿ é¡»å¨ä¸GPLå ¼å®¹ç许å¯è¯ä¸å¯ç¨ã :ref:`cn_development_process` ä»ç»äºå¼åè¿ç¨ãå æ ¸åå¸å¨æåå并çªå£çæºå¶ã 涵çäºè¡¥ä¸å¼åã审æ¥åå并å¨æä¸çå个é¶æ®µãæä¸äºå ³äºå·¥å ·åé®ä»¶å表ç讨论ã é¼å±å¸æå¼å§å æ ¸å¼åçå¼å人åä½ä¸ºåå§ç»ä¹ è·è¸ªå¹¶ä¿®å¤bugã :ref:`cn_development_early_stage` å æ¬æ©æ项ç®è§åï¼éç¹æ¯å°½å¿«è®©å¼å社åºåä¸ :ref:`cn_development_coding` æ¯å ³äºç¼ç è¿ç¨çï¼è®¨è®ºäºå ¶ä»å¼å人åéå°çå 个 é·é±ã对补ä¸çä¸äºè¦æ±å·²ç»æ¶µçï¼å¹¶ä¸ä»ç»äºä¸äºå·¥å ·ï¼è¿äºå·¥å ·æå©äºç¡®ä¿å æ ¸ è¡¥ä¸æ¯æ£ç¡®çã :ref:`cn_development_posting` 讨论åå¸è¡¥ä¸ä»¥ä¾è¯å®¡çè¿ç¨ã为äºè®©å¼åç¤¾åº è®¤çå¯¹å¾ ï¼è¡¥ä¸å¿ é¡»æ£ç¡®æ ¼å¼ååæè¿°ï¼å¹¶ä¸å¿ é¡»åéå°æ£ç¡®çå°æ¹ãéµå¾ªæ¬èä¸ç 建议æå©äºç¡®ä¿ä¸ºæ¨çå·¥ä½æä¾æ好çæ¥çº³ã :ref:`cn_development_followthrough` ä»ç»äºåå¸è¡¥ä¸ä¹ååççäºæ ï¼è¯¥å·¥ä½ å¨è¿ä¸ç¹ä¸è¿è¿è¿æ²¡æå®æãä¸å®¡é è ä¸èµ·å·¥ä½æ¯å¼åè¿ç¨ä¸çä¸ä¸ªéè¦é¨åï¼æ¬è æä¾äºä¸äºå ³äºå¦ä½å¨è¿ä¸ªéè¦é¶æ®µé¿å é®é¢çæ示ãå½è¡¥ä¸è¢«å并å°ä¸»çº¿ä¸æ¶ï¼ å¼å人åè¦æ³¨æä¸è¦åå®ä»»å¡å·²ç»å®æã :ref:`cn_development_advancedtopics` ä»ç»äºä¸¤ä¸ªâé«çº§â主é¢ï¼ 使ç¨Git管çè¡¥ä¸åæ¥çå ¶ä»äººåå¸çè¡¥ä¸ã :ref:`cn_development_conclusion` æ»ç»äºæå ³å æ ¸å¼åçæ´å¤ä¿¡æ¯ï¼é带æ带æ æåèµæºçé¾æ¥. è¿ä¸ªæ件æ¯å ³äºä»ä¹ç -------------------- Linuxå æ ¸æè¶ è¿800ä¸è¡ä»£ç ï¼æ¯ä¸ªçæ¬çè´¡ç®è è¶ è¿1000人ï¼æ¯ç°åæ大ãææ´»è· çå 费软件项ç®ä¹ä¸ãä»1991å¹´å¼å§ï¼è¿ä¸ªå æ ¸å·²ç»åå±æ为ä¸ä¸ªæ好çæä½ç³»ç» ç»ä»¶ï¼è¿è¡å¨è¢çæ°åé³ä¹ææ¾å¨ãå°å¼PCãç°åæ大çè¶ çº§è®¡ç®æºä»¥åææç±»åç ç³»ç»ä¸ãå®æ¯ä¸ç§éç¨äºå ä¹ä»»ä½æ åµçå¥å£®ãé«æåå¯æ©å±ç解å³æ¹æ¡ã éçLinuxçåå±ï¼å¸æåä¸å ¶å¼åçå¼å人åï¼åå ¬å¸ï¼çæ°éä¹å¨å¢å ã硬件ä¾åºå å¸æç¡®ä¿Linuxè½å¤å¾å¥½å°æ¯æä»ä»¬ç产åï¼ä½¿è¿äºäº§å对Linuxç¨æ·å ·æå¸å¼åãåµå ¥ å¼ç³»ç»ä¾åºå使ç¨Linuxä½ä¸ºéæ产åçç»ä»¶ï¼å¸æLinuxè½å¤å°½å¯è½å°èä»»æ头çä»»å¡ã åéååå ¶ä»åºäºLinuxç软件ä¾åºå对Linuxå æ ¸çåè½ãæ§è½åå¯é æ§æçæç¡®ç å ´è¶£ãæç»ç¨æ·ä¹å¸¸å¸¸å¸æä¿®æ¹Linuxï¼ä½¿ä¹æ´å¥½å°æ»¡è¶³ä»ä»¬çéæ±ã Linuxæå¼äººæ³¨ç®çç¹æ§ä¹ä¸æ¯è¿äºå¼å人åå¯ä»¥è®¿é®å®ï¼ä»»ä½å ·å¤å¿ è¦æè½ç人é½å¯ä»¥ æ¹è¿Linux并影åå ¶å¼åæ¹åãä¸æ产åä¸è½æä¾è¿ç§å¼æ¾æ§ï¼è¿æ¯èªç±è½¯ä»¶çä¸ä¸ªç¹ç¹ã ä½æ¯ï¼å¦ææä»ä¹ä¸åçè¯ï¼å æ ¸æ¯å¤§å¤æ°å ¶ä»èªç±è½¯ä»¶é¡¹ç®æ´å¼æ¾ãä¸ä¸ªå ¸åçä¸ä¸ªæ å æ ¸å¼åå¨æå¯ä»¥æ¶å1000å¤ä¸ªå¼å人åï¼ä»ä»¬ä¸º100å¤ä¸ªä¸åçå ¬å¸ ï¼æè æ ¹æ¬æ²¡æå ¬å¸ï¼å·¥ä½ã ä¸å æ ¸å¼å社åºåä½å¹¶ä¸æ¯ç¹å«å°é¾ãä½æ¯ï¼å°½ç®¡å¦æ¤ï¼è®¸å¤æ½å¨çè´¡ç®è å¨å°è¯å å æ ¸å·¥ä½æ¶éå°äºå°é¾ãå æ ¸ç¤¾åºå·²ç»åå±äºèªå·±ç¬ç¹çæä½æ¹å¼ï¼ä½¿å ¶è½å¤å¨æ¯å¤© é½è¦æ´æ¹æ°åè¡ä»£ç çç¯å¢ä¸é¡ºå©è¿è¡ï¼å¹¶çæé«è´¨éç产åï¼ãå æ¤ï¼Linuxå æ ¸å¼å è¿ç¨ä¸ä¸æçå¼åæ¹æ³æå¾å¤§çä¸åä¹å°±ä¸è¶³ä¸ºå¥äºã 对äºæ°å¼å人åæ¥è¯´ï¼å æ ¸çå¼åè¿ç¨å¯è½ä¼è®©äººæå°å¥æªåææ§ï¼ä½è¿ä¸ªèåæå åç çç±ååå®çç»éªãä¸ä¸ªä¸äºè§£å æ ¸ç¤¾åºçæ¹å¼çå¼å人åï¼æè æ´ç³çæ¯ï¼ä»ä»¬è¯å¾ æå¼æè§é¿å æ ¸ç¤¾åºçæ¹å¼ï¼ä¼æä¸ä¸ªä»¤äººæ²®ä¸§çä½éªãå¼å社åº, å¨å¸®å©é£äºè¯å¾å¦ä¹ ç人çåæ¶ï¼æ²¡ææ¶é´å¸®å©é£äºä¸æ¿æå¾å¬æä¸å ³å¿å¼åè¿ç¨ç人ã å¸æé 读æ¬æç人è½å¤é¿å è¿ç§ä»¤äººæ²®ä¸§çç»åãè¿éæå¾å¤ææï¼ä½é 读æ¶æåç åªåä¼å¨çæ¶é´å å¾å°åæ¥ãå¼å社åºæ»æ¯éè¦è½è®©å æ ¸åæ´å¥½çå¼å人åï¼ä¸é¢ç ææ¬åºè¯¥å¸®å©æ¨æ为æ¨å·¥ä½ç人åå å ¥æ们ç社åºã è´è°¢ ---- æ¬æ件ç±Jonathan Corbetæ°åï¼corbet@lwn.netã以ä¸äººåç建议使ä¹æ´ä¸ºå®åï¼ Johannes Berg, James Berry, Alex Chiang, Roland Dreier, Randy Dunlap, Jake Edge, Jiri Kosina, Matt Mackall, Arthur Marsh, Amanda McPherson, Andrew Morton, Andrew Price, Tsugikazu Shibata, å Jochen VoÃ. è¿é¡¹å·¥ä½å¾å°äºLinuxåºéä¼çæ¯æï¼ç¹å«æè°¢Amanda McPhersonï¼ä»çå°äºè¿é¡¹å·¥ä½ çä»·å¼å¹¶æå®åæç°å®ã 代ç è¿å ¥ä¸»çº¿çéè¦æ§ -------------------- æäºå ¬å¸åå¼å人åå¶å°ä¼æ³ï¼ä¸ºä»ä¹ä»ä»¬è¦è´¹å¿å¦ä¹ å¦ä½ä¸å æ ¸ç¤¾åºåä½ï¼å¹¶å°ä»£ç æ¾å ¥ä¸»çº¿å æ ¸ï¼â主线âæ¯ç±Linus Torvaldsç»´æ¤çå æ ¸ï¼Linuxåè¡åå°å ¶ç¨ä½åºç¡ï¼ã å¨çæå ï¼è´¡ç®ä»£ç çèµ·æ¥åæ¯ä¸ç§å¯ä»¥é¿å çå¼éï¼ä» ä» å°ä»£ç åå¼å¹¶ç´æ¥æ¯æç¨æ· ä¼¼ä¹æ´å®¹æãäºå®ä¸ï¼ä¿æ代ç ç¬ç«ï¼âæ å¤âï¼æ¯å¨ç»æµä¸æ¯é误çã ä½ä¸ºè¯´ææ å¤ä»£ç ææ¬çä¸ç§æ¹æ³ï¼ä¸é¢æ¯å æ ¸å¼åè¿ç¨çä¸äºç¸å ³æ¹é¢ï¼æ¬æç¨åå° æ´è¯¦ç»å°è®¨è®ºå ¶ä¸ç大é¨åå 容ãèèï¼ - ææLinuxç¨æ·é½å¯ä»¥ä½¿ç¨å并å°ä¸»çº¿å æ ¸ä¸ç代ç ãå®å°èªå¨åºç°å¨ææå¯ç¨å®ç åè¡çä¸ãä¸éè¦é©±å¨ç¨åºç£çãä¸è½½ï¼ä¹ä¸éè¦ä¸ºå¤ä¸ªåè¡ççå¤ä¸ªçæ¬æä¾æ¯æï¼ å¯¹äºå¼å人ååç¨æ·æ¥è¯´ï¼è¿ä¸åé½æ¯å¯è¡çãå¹¶å ¥ä¸»çº¿è§£å³äºå¤§éçåå¸åæ¯æé®é¢ - å½å æ ¸å¼å人ååªåç»´æ¤ä¸ä¸ªç¨³å®çç¨æ·ç©ºé´æ¥å£æ¶ï¼å é¨å æ ¸APIå¤äºä¸æååä¹ä¸. 缺ä¹ä¸ä¸ªç¨³å®çå é¨æ¥å£æ¯ä¸ä¸ªæ·±æçèç设计å³çï¼å®å 许å¨ä»»ä½æ¶åè¿è¡åºæ¬çæ¹ è¿ï¼å¹¶äº§çæ´é«è´¨éç代ç ãä½è¯¥çç¥çä¸ä¸ªç»ææ¯ï¼å¦æè¦ä½¿ç¨æ°çå æ ¸ï¼ä»»ä½æ å¤ ä»£ç é½éè¦æç»çç»´æ¤ãç»´æ¤æ å¤ä»£ç éè¦å¤§éçå·¥ä½æè½ä½¿ä»£ç ä¿æå·¥ä½ç¶æã ç¸åï¼ä½äºä¸»çº¿ä¸ç代ç ä¸éè¦è¿æ ·åï¼å 为ä¸ä¸ªç®åçè§åè¦æ±è¿è¡APIæ´æ¹çä»»ä½ å¼å人åä¹å¿ 须修å¤ç±äºè¯¥æ´æ¹èç ´åçä»»ä½ä»£ç ãå æ¤ï¼å并å°ä¸»çº¿ä¸ç代ç 大大 éä½äºç»´æ¤ææ¬ã - é¤æ¤ä¹å¤ï¼å æ ¸ä¸ç代ç é常ä¼è¢«å ¶ä»å¼å人åæ¹è¿ã令人æ讶çç»æå¯è½æ¥èªææ æ¨çç¨æ·ç¤¾åºå客æ·æ¹è¿æ¨ç产åã - å æ ¸ä»£ç å¨å并å°ä¸»çº¿ä¹ååä¹åé½è¦ç»è¿å®¡æ¥ãä¸ç®¡åå§å¼å人åçæè½æå¤å¼ºï¼ è¿ä¸ªå®¡æ¥è¿ç¨æ»æ¯è½æ¾å°æ¹è¿ä»£ç çæ¹æ³ã审æ¥ç»å¸¸åç°ä¸¥éçé误åå®å ¨é®é¢ã è¿å¯¹äºå¨å°éç¯å¢ä¸å¼åç代ç å°¤å ¶å¦æ¤ï¼è¿ç§ä»£ç ä»å¤é¨å¼å人åç审æ¥ä¸è·ç åªæµ ãæ å¤ä»£ç æ¯ä½è´¨é代ç ã - åä¸å¼åè¿ç¨æ¯æ¨å½±åå æ ¸å¼åæ¹åçæ¹å¼ãæè§è çæ±æ¨ä¼è¢«å¬å°ï¼ä½æ¯æ´»è·ç å¼å人åææ´å¼ºç声é³ââ并ä¸è½å¤å®ç°ä½¿å æ ¸æ´å¥½å°æ»¡è¶³å ¶éæ±çæ´æ¹ã - å½åç¬ç»´æ¤ä»£ç æ¶ï¼æ»æ¯åå¨ç¬¬ä¸æ¹ä¸ºç±»ä¼¼åè½æä¾ä¸åå®ç°çå¯è½æ§ãå¦æåç è¿ç§æ åµï¼å并代ç å°åå¾æ´å å°é¾ââçè³å°äºä¸å¯è½çå°æ¥ãç¶åï¼æ¨å°é¢ä¸´ä»¥ä¸ 令人ä¸å¿«çéæ©ï¼ï¼1ï¼æ éæå°ç»´æ¤æ å¤çéæ åç¹æ§ï¼æï¼2ï¼æ¾å¼ä»£ç 并å°ç¨æ· è¿ç§»å°æ å çæ¬ã - 代ç çè´¡ç®æ¯ä½¿æ´ä¸ªè¿ç¨å·¥ä½çæ ¹æ¬ãéè¿è´¡ç®ä»£ç ï¼æ¨å¯ä»¥åå æ ¸æ·»å æ°åè½ï¼å¹¶ æä¾å ¶ä»å æ ¸å¼å人å使ç¨çåè½å示ä¾ãå¦ææ¨å·²ç»ä¸ºLinuxå¼åäºä»£ç ï¼æè æ£å¨èèè¿æ ·åï¼ï¼é£ä¹æ¨æ¾ç¶å¯¹è¿ä¸ªå¹³å°çæç»æåæå ´è¶£ï¼è´¡ç®ä»£ç æ¯ç¡®ä¿æå çæ好æ¹æ³ä¹ä¸ã ä¸è¿°ææçç±é½éç¨äºä»»ä½æ å¤å æ ¸ä»£ç ï¼å æ¬ä»¥ä¸æçãä» äºè¿å¶å½¢å¼ååç代ç ã ç¶èï¼å¨èèä»»ä½ç±»åç纯äºè¿å¶å æ ¸ä»£ç åå¸ä¹åï¼è¿éè¦èèå ¶ä»å ç´ ãè¿äºå æ¬ï¼ - å´ç»ä¸æå æ ¸æ¨¡åååçæ³å¾é®é¢å å ¶éæ¯æ¨¡ç³çï¼ç¸å½å¤çå æ ¸çæææè è®¤ä¸ºï¼ å¤§å¤æ°ä» éäºè¿å¶ç模åæ¯å æ ¸çæ´¾ç产åï¼å æ¤ï¼å®ä»¬çååè¿åäºGNUéç¨å ¬å ± 许å¯è¯ï¼ä¸é¢å°è¯¦ç»ä»ç»ï¼ãæ¨çä½è ä¸æ¯å¾å¸ï¼æ¬ææ¡£ä¸çä»»ä½å 容é½ä¸å¯è½è¢« è§ä¸ºæ³å¾å»ºè®®ãå°éæºä»£ç 模åççå®æ³å¾å°ä½åªè½ç±æ³é¢å³å®ãä½ä¸ç®¡ææ ·ï¼å°æ° è¿äºæ¨¡åçä¸ç¡®å®æ§ä»ç¶åå¨ã - äºè¿å¶æ¨¡å大大å¢å äºè°è¯å æ ¸é®é¢çé¾åº¦ï¼ä»¥è³äºå¤§å¤æ°å æ ¸å¼å人åçè³é½ä¸ä¼ å°è¯ãå æ¤ï¼åªååäºè¿å¶æ¨¡åå°ä½¿æ¨çç¨æ·æ´é¾ä»ç¤¾åºè·å¾æ¯æã - 对äºåªæ¯æäºè¿å¶ç模åçåè¡è æ¥è¯´ï¼æ¯æä¹æ´å å°é¾ï¼ä»ä»¬å¿ 须为ä»ä»¬å¸ææ¯æ çæ¯ä¸ªåè¡çåæ¯ä¸ªå æ ¸çæ¬æä¾ä¸ä¸ªçæ¬ç模åã为äºæä¾ç¸å½å ¨é¢çè¦çèå´ï¼ å¯è½éè¦ä¸ä¸ªæ¨¡åçå å个æ建ï¼å¹¶ä¸æ¯æ¬¡å级å æ ¸æ¶ï¼æ¨çç¨æ·é½å¿ é¡»åç¬å级 æ¨ç模åã - ä¸é¢æå°çå ³äºä»£ç è¯å®¡çææé®é¢é½æ´å åå¨äºå°éæºä»£ç ãç±äºè¯¥ä»£ç æ ¹æ¬ä¸å¯ ç¨ï¼å æ¤ç¤¾åºæ æ³å¯¹å ¶è¿è¡å®¡æ¥ï¼æ¯«æ çé®ï¼å®å°åå¨ä¸¥éé®é¢ã å°¤å ¶æ¯åµå ¥å¼ç³»ç»çå¶é åï¼å¯è½ä¼å¾åäºå¿½è§æ¬èä¸æ说ç大é¨åå 容ï¼å 为ä»ä»¬ ç¸ä¿¡èªå·±æ£å¨åç¨ä¸ç§ä½¿ç¨å»ç»å æ ¸çæ¬çç¬ç«äº§åï¼å¨åå¸åä¸éè¦åè¿è¡å¼åã è¿ä¸ªè®ºç¹å¿½ç¥äºå¹¿æ³ç代ç 审æ¥çä»·å¼ä»¥åå 许ç¨æ·å产åæ·»å åè½çä»·å¼ãä½è¿äº 产åä¹ææéçåä¸å¯¿å½ï¼ä¹åå¿ é¡»åå¸æ°çæ¬ç产åãå¨è¿ä¸ç¹ä¸ï¼ä»£ç å¨ä¸»çº¿ä¸ 并å¾å°è¯å¥½ç»´æ¤çä¾åºåå°è½å¤æ´å¥½å°å ä½ï¼ä»¥ä½¿æ°äº§åå¿«éä¸å¸ã è®¸å¯ ---- 代ç æ¯æ ¹æ®ä¸äºè®¸å¯è¯æä¾ç»Linuxå æ ¸çï¼ä½æ¯ææ代ç é½å¿ é¡»ä¸GNUéç¨å ¬å ±è®¸å¯ è¯ï¼GPLV2ï¼ççæ¬2å ¼å®¹ï¼è¯¥çæ¬æ¯è¦çæ´ä¸ªå æ ¸ååç许å¯è¯ãå¨å®è·µä¸ï¼è¿æå³ çææ代ç è´¡ç®é½ç±GPLv2ï¼å¯éå°ï¼è¯è¨å 许å¨æ´é«çæ¬çGPLä¸ååï¼æ3åå¥BSD 许å¯ï¼New BSD License, è¯è 注ï¼è¦çãä»»ä½ä¸å å«å¨å ¼å®¹è®¸å¯è¯ä¸çè´¡ç®é½ä¸ä¼ 被æ¥åå°å æ ¸ä¸ã è´¡ç®ç»å æ ¸ç代ç ä¸éè¦ï¼æ请æ±ï¼çæåé ãå并å°ä¸»çº¿å æ ¸ä¸çææ代ç é½ä¿ç å ¶åå§æææï¼å æ¤ï¼å æ ¸ç°å¨æ¥ææ°å个ææè ã è¿ç§æææç»æçä¸ä¸ªæ示æ¯ï¼ä»»ä½æ¹åå æ ¸è®¸å¯çå°è¯é½æ³¨å®ä¼å¤±è´¥ãå¾å°æå®é çåºæ¯å¯ä»¥è·å¾ææçæææè çåæï¼æè ä»å æ ¸ä¸å é¤ä»ä»¬ç代ç ï¼ãå æ¤ï¼ç¹ å«æ¯ï¼å¨å¯é¢è§çå°æ¥ï¼ä¸å¯è½è¿ç§»å°GPLççæ¬3ã ææè´¡ç®ç»å æ ¸ç代ç é½å¿ é¡»æ¯åæ³çå 费软件ãå æ¤ï¼ä¸æ¥åå¿åï¼æå¿åï¼è´¡ç® è ç代ç ãææè´¡ç®è é½éè¦å¨ä»ä»¬ç代ç ä¸âsign offâï¼å£°æ代ç å¯ä»¥å¨GPLä¸ä¸å æ ¸ä¸èµ·ååãæ æ³æä¾æªè¢«å ¶ææè 许å¯ä¸ºå 费软件ç代ç ï¼æå¯è½ä¸ºå æ ¸é æçæ ç¸å ³é®é¢ç代ç ï¼ä¾å¦ï¼ç±ç¼ºä¹éå½ä¿æ¤çååå·¥ç¨å·¥ä½æ´¾çç代ç ï¼ä¸è½è¢«æ¥åã æå ³çæç¸å ³é®é¢çé®é¢å¨Linuxå¼åé®ä»¶å表ä¸å¾å¸¸è§ãè¿æ ·çé®é¢é常ä¼å¾å°ä¸å° çæ¡ï¼ä½è¦è®°ä½ï¼åçè¿äºé®é¢ç人ä¸æ¯å¾å¸ï¼ä¸è½æä¾æ³å¾å¨è¯¢ãå¦ææ¨æå ³äº Linuxæºä»£ç çæ³å¾é®é¢ï¼é£ä¹ä¸äºè§£è¯¥é¢åçå¾å¸äº¤æµæ¯æ æ³æ¿ä»£çãä¾é ä»ææ¯ é®ä»¶å表ä¸è·å¾ççæ¡æ¯ä¸ä»¶åé©çäºæ ã