From dda8cc864a3c84c3574c8b9025c99d39700fbb43 Mon Sep 17 00:00:00 2001 From: Minchan Kim <minchan.kim@gmail.com> Date: Thu, 2 Aug 2007 10:05:12 +0900 Subject: [PATCH] HOWTO: korean translation of Documentation/HOWTO This is a Documentation/HOWTO korean version of 2.6.23-rc1 The header is refered to a japanese's one. From: Minchan Kim <minchan.kim@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> --- Documentation/ko_KR/HOWTO | 623 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 623 insertions(+) create mode 100644 Documentation/ko_KR/HOWTO diff --git a/Documentation/ko_KR/HOWTO b/Documentation/ko_KR/HOWTO new file mode 100644 index 000000000000..b51d7ca842ba --- /dev/null +++ b/Documentation/ko_KR/HOWTO @@ -0,0 +1,623 @@ +NOTE: +This is a version of Documentation/HOWTO translated into korean +This document is maintained by minchan Kim < minchan.kim@gmail.com> +If you find any difference between this document and the original file or +a problem with the translation, please contact the maintainer of this file. + +Please also note that the purpose of this file is to be easier to +read for non English (read: korean) speakers and is not intended as +a fork. So if you have any comments or updates for this file please +try to update the original English file first. + +================================== +ì´ ë¬¸ì„œëŠ” +Documentation/HOWTO +ì˜ í•œê¸€ 번ì—입니다. + +ì—ìžï¼š 김민찬 <minchan.kim@gmail.com > +ê°ìˆ˜ï¼š ì´ì œì´ë¯¸ <jamee.lee@samsung.com> +================================== + +어떻게 리눅스 ì»¤ë„ ê°œë°œì„ í•˜ëŠ”ê°€ +--------------------------------- + +ì´ ë¬¸ì„œëŠ” ì»¤ë„ ê°œë°œì— ìžˆì–´ 가장 중요한 문서ì´ë‹¤. ì´ ë¬¸ì„œëŠ” +리눅스 ì»¤ë„ ê°œë°œìžê°€ ë˜ëŠ” 법과 리눅스 ì»¤ë„ ê°œë°œ 커뮤니티와 ì¼í•˜ëŠ” +ë²•ì„ ë‹´ê³ ìžˆë‹¤. ì»¤ë„ í”„ë¡œê·¸ëž˜ë°ì˜ê¸°ìˆ ì ì¸ ì¸¡ë©´ê³¼ ê´€ë ¨ëœ ë‚´ìš©ë“¤ì€ +í¬í•¨í•˜ì§€ ì•Šìœ¼ë ¤ê³ í•˜ì˜€ì§€ë§Œ 올바으로 ì—¬ëŸ¬ë¶„ì„ ì•ˆë‚´í•˜ëŠ” ë° ë„ì›€ì´ +ë 것ì´ë‹¤. + +ì´ ë¬¸ì„œì—ì„œ ì˜¤ëž˜ëœ ê²ƒì„ ë°œê²¬í•˜ë©´ ë¬¸ì„œì˜ ì•„ëž˜ìª½ì— ë‚˜ì—´ëœ ë©”ì¸íŠ¸ë„ˆì—게 +패치를 보내달ë¼. + + +소개 +---- + +ìž, ì—¬ëŸ¬ë¶„ì€ ë¦¬ëˆ…ìŠ¤ ì»¤ë„ ê°œë°œìžê°€ ë˜ëŠ” ë²•ì„ ë°°ìš°ê³ ì‹¶ì€ê°€? 아니면 +ìƒì‚¬ë¡œë¶€í„°"ì´ ìž¥ì¹˜ë¥¼ 위한 리눅스 ë“œë¼ì´ë²„를 작성하시오"ë¼ëŠ” ë§ì„ +들었는가? ì´ ë¬¸ì„œëŠ” ì—¬ëŸ¬ë¶„ì´ ê²ªê²Œ ë ê³¼ì •ê³¼ 커뮤니티와 ì¼í•˜ëŠ” ë²•ì„ +조언하여 ì—¬ëŸ¬ë¶„ì˜ ëª©ì ì„ ë‹¬ì„±í•˜ê¸° 위해 필요한 것 모ë‘를 ì•Œë ¤ì£¼ëŠ” +것ì´ë‹¤. + +커ë„ì€ ëŒ€ë¶€ë¶„ì€ Cë¡œ 작성ë˜ì—ˆì–´ê³ 몇몇 아키í…ì³ì˜ ì˜ì¡´ì ì¸ ë¶€ë¶„ì€ +어셈블리로 작성ë˜ì—ˆë‹¤. ì»¤ë„ ê°œë°œì„ ìœ„í•´ C를 잘 ì´í•´í•˜ê³ 있어야 한다. +ì—¬ëŸ¬ë¶„ì´ íŠ¹ì • 아키í…ì³ì˜ low-level ê°œë°œì„ í• ê²ƒì´ ì•„ë‹ˆë¼ë©´ +어셈블리(íŠ¹ì • 아키í…ì³)는 잘 알아야 í• í•„ìš”ëŠ” 없다. +다ìŒì˜ ì°¸ê³ ì„œì ë“¤ì€ ê¸°ë³¸ì— ì¶©ì‹¤í•œ C êµìœ¡ì´ë‚˜ ìˆ˜ë…„ê°„ì˜ ê²½í—˜ì— ê²¬ì£¼ì§€ëŠ” +못하지만 ì ì–´ë„ ì°¸ê³ ìš©ë„로는 ì¢‹ì„ ê²ƒì´ë‹¤ + - "The C Programming Language" by Kernighan and Ritchie [Prentice Hall] + - "Practical C Programming" by Steve Oualline [O'Reilly] + - "C: A Reference Manual" by Harbison and Steele [Prentice Hall] + +커ë„ì€ GNU C와 GNU 툴체ì¸ì„ 사용하여 작성ë˜ì—ˆë‹¤. ì´ íˆ´ë“¤ì€ ISO C89 í‘œì¤€ì„ +따르는 반면 í‘œì¤€ì— ìžˆì§€ ì•Šì€ ë§Žì€ í™•ìž¥ê¸°ëŠ¥ë„ ê°€ì§€ê³ ìžˆë‹¤. 커ë„ì€ í‘œì¤€ C +ë¼ì´ë¸ŒëŸ¬ë¦¬ì™€ëŠ” ê´€ê³„ì—†ì´ freestanding C 환경ì´ì–´ì„œ C í‘œì¤€ì˜ ì¼ë¶€ëŠ” +지ì›ë˜ì§€ 않는다. ìž„ì˜ì˜ long long 나누기나 floating point는 지ì›ë˜ì§€ 않는다. +ë•Œë¡ ì´ëŸ° ì´ìœ ë¡œ 커ë„ì´ ê·¸ëŸ° 확장 ê¸°ëŠ¥ì„ ê°€ì§„ 툴체ì¸ì„ ê°€ì§€ê³ ë§Œë“¤ì–´ì¡Œë‹¤ëŠ” +ê²ƒì´ ì´í•´í•˜ê¸° ì–´ë ¤ìš¸ ìˆ˜ë„ ìžˆê³ ê²Œë‹¤ê°€ ë¶ˆí–‰í•˜ê²Œë„ ê·¸ëŸ° ê²ƒì„ ì •í™•í•˜ê²Œ 설명하는 +ì–´ë–¤ ì°¸ê³ ë¬¸ì„œë„ ìžˆì§€ 않다. ì •ë³´ë¥¼ 얻기 위해서는 gcc info (`info gcc`)페ì´ì§€ë¥¼ +살펴보ë¼. + +ì—¬ëŸ¬ë¶„ì€ ê¸°ì¡´ì˜ ê°œë°œ 커뮤니티와 ì¼í•˜ëŠ” ë²•ì„ ë°°ìš°ë ¤ê³ í•˜ê³ ìžˆë‹¤ëŠ” ê²ƒì„ +기억하ë¼. 코딩, 스타ì¼, ì ˆì°¨ì— ê´€í•œ 훌ë¥í•œ í‘œì¤€ì„ ê°€ì§„ ì‚¬ëžŒë“¤ì´ ëª¨ì¸ +다양한 ê·¸ë£¹ì´ ìžˆë‹¤. ì´ í‘œì¤€ë“¤ì€ ì˜¤ëžœë™ì•ˆ í¬ê³ 지ì—ì 으로 ë¶„ì‚°ëœ íŒ€ë“¤ì— +ì˜í•´ 가장 ì¢‹ì€ ë°©ë²•ìœ¼ë¡œ ì¼í•˜ê¸°ìœ„하여 ì°¾ì€ ê²ƒì„ ê¸°ì´ˆë¡œ ë§Œë“¤ì–´ì ¸ì™”ë‹¤. +ê·¸ í‘œì¤€ë“¤ì€ ë¬¸ì„œí™”ê°€ 잘 ë˜ì–´ 있기 ë•Œë¬¸ì— ê°€ëŠ¥í•œí•œ 미리 ë§Žì€ í‘œì¤€ë“¤ì— +관하여 ë°°ìš°ë ¤ê³ ì‹œë„하ë¼. 다른 ì‚¬ëžŒë“¤ì€ ì—¬ëŸ¬ë¶„ì´ë‚˜ ì—¬ëŸ¬ë¶„ì˜ íšŒì‚¬ê°€ +ì¼í•˜ëŠ” ë°©ì‹ì— ì ì‘하는 ê²ƒì„ ì›í•˜ì§€ëŠ” 않는다. + + +법ì ë¬¸ì œ +--------- + +리눅스 ì»¤ë„ ì†ŒìŠ¤ 코드는 GPLë¡œ ë°°í¬(release)ë˜ì—ˆë‹¤. ì†ŒìŠ¤íŠ¸ë¦¬ì˜ ë©”ì¸ +ë””ë ‰í† ë¦¬ì— ìžˆëŠ” ë¼ì´ì„¼ìŠ¤ì— 관하여 ìƒì„¸í•˜ê²Œ ì“°ì—¬ 있는 COPYINGì´ë¼ëŠ” +파ì¼ì„ ë´ë¼.ì—¬ëŸ¬ë¶„ì´ ë¼ì´ì„¼ìŠ¤ì— 관한 ë” ê¹Šì€ ë¬¸ì œë¥¼ ê°€ì§€ê³ ìžˆë‹¤ë©´ +리눅스 ì»¤ë„ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì— ë¬»ì§€ë§ê³ 변호사와 ì—°ë½í•˜ë¼. ë©”ì¼ë§ +ë¦¬ìŠ¤íŠ¸ë“¤ì— ìžˆëŠ” ì‚¬ëžŒë“¤ì€ ë³€í˜¸ì‚¬ê°€ 아니기 ë•Œë¬¸ì— ë²•ì ë¬¸ì œì— ê´€í•˜ì—¬ +ê·¸ë“¤ì˜ ë§ì— ì˜ì§€í•´ì„œëŠ” 안ëœë‹¤. + +GPLì— ê´€í•œ ìž¦ì€ ì§ˆë¬¸ë“¤ê³¼ ë‹µë³€ë“¤ì€ ë‹¤ìŒì„ 참조하ë¼. + http://www.gnu.org/licenses/gpl-faq.html + + +문서 +---- + +리눅스 ì»¤ë„ ì†ŒìŠ¤ 트리는 ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ì™€ ì¼í•˜ëŠ” ë²•ì„ ë°°ìš°ê¸° 위한 ë§Žì€ +귀중한 ë¬¸ì„œë“¤ì„ ê°€ì§€ê³ ìžˆë‹¤. 새로운 ê¸°ëŠ¥ë“¤ì´ ì»¤ë„ì— ë“¤ì–´ê°€ê²Œ ë ë•Œ, +ê·¸ ê¸°ëŠ¥ì„ ì–´ë–»ê²Œ ì‚¬ìš©í•˜ëŠ”ì§€ì— ê´€í•œ ì„¤ëª…ì„ ìœ„í•˜ì—¬ 새로운 문서 파ì¼ì„ +추가하는 ê²ƒì„ ê¶Œìž¥í•œë‹¤. 커ë„ì´ ìœ ì €ìŠ¤íŽ˜ì´ìŠ¤ë¡œ 노출하는 ì¸í„°íŽ˜ì´ìŠ¤ë¥¼ +변경하게 ë˜ë©´ ë³€ê²½ì„ ì„¤ëª…í•˜ëŠ” 메뉴얼 페ì´ì§€ë“¤ì— 대한 패치나 ì •ë³´ë¥¼ +mtk-manpages@gmx.netì˜ ë©”ì¸íŠ¸ë„ˆì—게 보낼 ê²ƒì„ ê¶Œìž¥í•œë‹¤. + +다ìŒì€ ì»¤ë„ ì†ŒìŠ¤ íŠ¸ë¦¬ì— ìžˆëŠ” ì½ì–´ì•¼ í• íŒŒì¼ë“¤ì˜ 리스트ì´ë‹¤. + README + ì´ íŒŒì¼ì€ 리눅스 커ë„ì— ê´€í•˜ì—¬ 간단한 ë°°ê²½ 설명과 커ë„ì„ ì„¤ì •í•˜ê³ + 빌드하기 위해 필요한 ê²ƒì„ ì„¤ëª…í•œë‹¤. 커ë„ì— ìž…ë¬¸í•˜ëŠ” ì‚¬ëžŒë“¤ì€ ì—¬ê¸°ì„œ + 시작해야 한다. + + Documentation/Changes + ì´ íŒŒì¼ì€ 커ë„ì„ ì„±ê³µì 으로 ë¹Œë“œí•˜ê³ ì‹¤í–‰ì‹œí‚¤ê¸° 위해 필요한 다양한 + 소프트웨어 íŒ¨í‚¤ì§€ë“¤ì˜ ìµœì†Œ ë²„ì ¼ì„ ë‚˜ì—´í•œë‹¤. + + Documentation/CodingStyle + ì´ ë¬¸ì„œëŠ” 리눅스 ì»¤ë„ ì½”ë”© 스타ì¼ê³¼ ê·¸ë ‡ê²Œ í•œ 몇몇 ì´ìœ 를 설명한다. + ëª¨ë“ ìƒˆë¡œìš´ 코드는 ì´ ë¬¸ì„œì— ê°€ì´ë“œë¼ì¸ë“¤ì„ ë”°ë¼ì•¼ 한다. ëŒ€ë¶€ë¶„ì˜ + ë©”ì¸íŠ¸ë„ˆë“¤ì€ ì´ ê·œì¹™ì„ ë”°ë¥´ëŠ” íŒ¨ì¹˜ë“¤ë§Œì„ ë°›ì•„ë“¤ì¼ ê²ƒì´ê³ ë§Žì€ ì‚¬ëžŒë“¤ì´ + ê·¸ 패치가 올바른 스타ì¼ì¼ 경우만 코드를 ê²€í† í• ê²ƒì´ë‹¤. + + Documentation/SubmittingPatches + Documentation/SubmittingDrivers + ì´ íŒŒì¼ë“¤ì€ 성공ì 으로 패치를 ë§Œë“¤ê³ ë³´ë‚´ëŠ” ë²•ì„ ë‹¤ìŒì˜ 내용들로 + 굉장히 ìƒì„¸ížˆ ì„¤ëª…í•˜ê³ ìžˆë‹¤(그러나 다ìŒìœ¼ë¡œ í•œì •ë˜ì§„ 않는다). + - Email 내용들 + - Email ì–‘ì‹ + - ê·¸ê²ƒì„ ëˆ„êµ¬ì—게 보낼지 + ì´ëŸ¬í•œ ê·œì¹™ë“¤ì„ ë”°ë¥´ëŠ” ê²ƒì´ ì„±ê³µì„ ë³´ìž¥í•˜ì§„ 않는다(왜ëƒí•˜ë©´ ëª¨ë“ + íŒ¨ì¹˜ë“¤ì€ ë‚´ìš©ê³¼ 스타ì¼ì— 관하여 면밀히 ê²€í† ë˜ê¸° 때문ì´ë‹¤). + 그러나 ê·œì¹™ì„ ë”°ë¥´ì§€ 않는다면 ê±°ì˜ ì„±ê³µí•˜ì§€ë„ ëª»í• ê²ƒì´ë‹¤. + + 올바른 íŒ¨ì¹˜ë“¤ì„ ë§Œë“œëŠ” ë²•ì— ê´€í•œ 훌ë¥í•œ 다른 ë¬¸ì„œë“¤ì´ ìžˆë‹¤. + "The Perfect Patch" + http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt + "Linux kernel patch submission format" + http://linux.yyz.us/patch-format.html + + Documentation/stable_api_nonsense.txt + ì´ ë¬¸ì„œëŠ” ì˜ë„ì 으로 커ë„ì´ ë³€í•˜ì§€ 않는 API를 갖지 ì•Šë„ë¡ ê²°ì •í•œ + ì´ìœ 를 설명하며 다ìŒê³¼ ê°™ì€ ê²ƒë“¤ì„ í¬í•¨í•œë‹¤. + - 서브시스템 shim-layer(í˜¸í™˜ì„±ì„ ìœ„í•´?) + - ìš´ì˜ ì²´ì œë“¤ ê°„ì˜ ë“œë¼ì´ë²„ ì´ì‹ì„± + - ì»¤ë„ ì†ŒìŠ¤ íŠ¸ë¦¬ë‚´ì— ë¹ ë¥¸ 변화를 늦추는 것(ë˜ëŠ” ë¹ ë¥¸ 변화를 막는 것) + ì´ ë¬¸ì„œëŠ” 리눅스 개발 ì² í•™ì„ ì´í•´í•˜ëŠ”ë° í•„ìˆ˜ì ì´ë©° 다른 ìš´ì˜ì²´ì œì—ì„œ + 리눅스로 옮겨오는 사람들ì—게는 매우 중요하다. + + + Documentation/SecurityBugs + ì—¬ëŸ¬ë¶„ë“¤ì´ ë¦¬ëˆ…ìŠ¤ 커ë„ì˜ ë³´ì•ˆ ë¬¸ì œë¥¼ ë°œê²¬í–ˆë‹¤ê³ ìƒê°í•œë‹¤ë©´ ì´ ë¬¸ì„œì— + 나온 ë‹¨ê³„ì— ë”°ë¼ì„œ ì»¤ë„ ê°œë°œìžë“¤ì—게 ì•Œë¦¬ê³ ê·¸ ë¬¸ì œë¥¼ í•´ê²°í• ìˆ˜ 있ë„ë¡ + ë„와 달ë¼. + + Documentation/ManagementStyle + ì´ ë¬¸ì„œëŠ” 리눅스 ì»¤ë„ ë©”ì¸íŠ¸ë„ˆë“¤ì´ 어떻게 ê·¸ë“¤ì˜ ë°©ë²•ë¡ ì˜ ì •ì‹ ì„ + 어떻게 ê³µìœ í•˜ê³ ìš´ì˜í•˜ëŠ”지를 설명한다. ì´ê²ƒì€ ì»¤ë„ ê°œë°œì— ìž…ë¬¸í•˜ëŠ” + ëª¨ë“ ì‚¬ëžŒë“¤(ë˜ëŠ” ì»¤ë„ ê°œë°œì— ìž‘ì€ í˜¸ê¸°ì‹¬ì´ë¼ë„ 있는 사람들)ì´ + ì½ì–´ì•¼ í• ì¤‘ìš”í•œ 문서ì´ë‹¤. 왜ëƒí•˜ë©´ ì´ ë¬¸ì„œëŠ” ì»¤ë„ ë©”ì¸íŠ¸ë„ˆë“¤ì˜ + ë…특한 í–‰ë™ì— 관하여 í”히 있는 오해들과 í˜¼ëž€ë“¤ì„ í•´ì†Œí•˜ê³ ìžˆê¸° + 때문ì´ë‹¤. + + Documentation/stable_kernel_rules.txt + ì´ ë¬¸ì„œëŠ” ì•ˆì •ì ì¸ ì»¤ë„ ë°°í¬ê°€ ì´ë£¨ì–´ì§€ëŠ” ê·œì¹™ì„ ì„¤ëª…í•˜ê³ ìžˆìœ¼ë©° + ì—¬ëŸ¬ë¶„ë“¤ì´ ì´ëŸ¬í•œ ë°°í¬ë“¤ 중 í•˜ë‚˜ì— ë³€ê²½ì„ í•˜ê¸¸ ì›í•œë‹¤ë©´ + ë¬´ì—‡ì„ í•´ì•¼ 하는지를 설명한다. + + Documentation/kernel-docs.txt + ì»¤ë„ ê°œë°œì— ê´€ê³„ëœ ì™¸ë¶€ ë¬¸ì„œì˜ ë¦¬ìŠ¤íŠ¸ì´ë‹¤. ì»¤ë„ ë‚´ì˜ í¬í•¨ëœ 문서들 + ì¤‘ì— ì—¬ëŸ¬ë¶„ì´ ì°¾ê³ ì‹¶ì€ ë¬¸ì„œë¥¼ 발견하지 ëª»í• ê²½ìš° ì´ ë¦¬ìŠ¤íŠ¸ë¥¼ + 살펴보ë¼. + + Documentation/applying-patches.txt + 패치가 무엇ì´ë©° ê·¸ê²ƒì„ ì»¤ë„ì˜ ë‹¤ë¥¸ 개발 ë¸Œëžœì¹˜ë“¤ì— ì–´ë–»ê²Œ + ì ìš©í•˜ëŠ”ì§€ì— ê´€í•˜ì—¬ ìžì„¸ížˆ 설명 í•˜ê³ ìžˆëŠ” ì¢‹ì€ ìž…ë¬¸ì„œì´ë‹¤. + +커ë„ì€ ì†ŒìŠ¤ 코드 ê·¸ ìžì²´ì—ì„œ ìžë™ì 으로 만들어질 수 있는 ë§Žì€ ë¬¸ì„œë“¤ì„ +ê°€ì§€ê³ ìžˆë‹¤. ì´ê²ƒì€ ì»¤ë„ ë‚´ì˜ APIì— ëŒ€í•œ ëª¨ë“ ì„¤ëª…, ê·¸ë¦¬ê³ ë½í‚¹ì„ +올바르게 처리하는 ë²•ì— ê´€í•œ ê·œì¹™ì„ í¬í•¨í•˜ê³ 있다. ì´ ë¬¸ì„œëŠ” +Documentation/DocBook/ ë””ë ‰í† ë¦¬ ë‚´ì—ì„œ 만들어지며 PDF, Postscript, HTML, +ê·¸ë¦¬ê³ man 페ì´ì§€ë“¤ë¡œ 다ìŒê³¼ ê°™ì´ ì‹¤í–‰í•˜ì—¬ 만들어 진다. + make pdfdocs + make psdocs + make htmldocs + make mandocs +ê°ê°ì˜ ëª…ë ¹ì„ ë©”ì¸ ì»¤ë„ ì†ŒìŠ¤ ë””ë ‰í† ë¦¬ë¡œë¶€í„° 실행한다. + + +ì»¤ë„ ê°œë°œìžê°€ ë˜ëŠ” 것 +--------------------- + +ì—¬ëŸ¬ë¶„ì´ ë¦¬ëˆ…ìŠ¤ ì»¤ë„ ê°œë°œì— ê´€í•˜ì—¬ ì•„ë¬´ê²ƒë„ ëª¨ë¥¸ë‹¤ë©´ Linux KernelNewbies +프로ì 트를 ë´ì•¼ 한다. + http://kernelnewbies.org +ê·¸ê³³ì€ ê±°ì˜ ëª¨ë“ ì¢…ë¥˜ì˜ ê¸°ë³¸ì ì¸ ì»¤ë„ ê°œë°œ 질문들(질문하기 ì „ì— ë¨¼ì € +ì•„ì¹´ì´ë¸Œë¥¼ 찾아ë´ë¼. ê³¼ê±°ì— ì´ë¯¸ 답변ë˜ì—ˆì„ ìˆ˜ë„ ìžˆë‹¤)ì„ í• ìˆ˜ìžˆëŠ” ë„ì›€ì´ +ë 만한 ë©”ì¼ë§ 리스트가 있다. ë˜í•œ 실시간으로 질문 í• ìˆ˜ 있는 IRC 채ë„ë„ +ê°€ì§€ê³ ìžˆìœ¼ë©° 리눅스 ì»¤ë„ ê°œë°œì„ ë°°ìš°ëŠ” ë° ìœ ìš©í•œ ë¬¸ì„œë“¤ì„ ë³´ìœ í•˜ê³ ìžˆë‹¤. + +웹사ì´íŠ¸ëŠ” 코드구성, 서브시스템들, ê·¸ë¦¬ê³ í˜„ìž¬ 프로ì 트들 +(트리 ë‚´, ì™¸ë¶€ì— ì¡´ìž¬í•˜ëŠ”)ì— ê´€í•œ 기본ì ì¸ ì •ë³´ë“¤ì„ ê°€ì§€ê³ ìžˆë‹¤. ë˜í•œ +ê·¸ê³³ì€ ì»¤ë„ ì»´íŒŒì¼ì´ë‚˜ 패치를 하는 법과 ê°™ì€ ê¸°ë³¸ì ì¸ ê²ƒë“¤ì„ ì„¤ëª…í•œë‹¤. + +ì—¬ëŸ¬ë¶„ì´ ì–´ë””ì„œ 시작해야 í• ì§„ 모르지만 ì»¤ë„ ê°œë°œ ì»¤ë®¤ë‹ˆí‹°ì— ì°¸ì—¬í• ìˆ˜ +있는 ì¼ë“¤ì„ 찾길 ì›í•œë‹¤ë©´ 리눅스 ì»¤ë„ Janitor 프로ì 트를 살펴ë´ë¼. + http://janitor.kernelnewbies.org/ +ê·¸ê³³ì€ ì‹œìž‘í•˜ê¸°ì— ì•„ì£¼ ë”± ì¢‹ì€ ê³³ì´ë‹¤. ê·¸ê³³ì€ ë¦¬ëˆ…ìŠ¤ ì»¤ë„ ì†ŒìŠ¤ íŠ¸ë¦¬ë‚´ì— +간단히 ì •ë¦¬ë˜ê³ ìˆ˜ì •ë 수 있는 ë¬¸ì œë“¤ì— ê´€í•˜ì—¬ 설명한다. ì—¬ëŸ¬ë¶„ì€ ì´ +프로ì 트를 대표하는 개발ìžë“¤ê³¼ ì¼í•˜ë©´ì„œ ìžì‹ ì˜ íŒ¨ì¹˜ë¥¼ 리눅스 ì»¤ë„ íŠ¸ë¦¬ì— +ë°˜ì˜í•˜ê¸° 위한 기본ì ì¸ ê²ƒë“¤ì„ ë°°ìš°ê²Œ ë 것ì´ë©° ì—¬ëŸ¬ë¶„ì´ ì•„ì§ ì•„ì´ë””어를 +ê°€ì§€ê³ ìžˆì§€ 않다면 다ìŒì— ë¬´ì—‡ì„ í•´ì•¼í• ì§€ì— ê´€í•œ ë°©í–¥ì„ ë°°ìš¸ 수 ìžˆì„ +것ì´ë‹¤. + +ì—¬ëŸ¬ë¶„ë“¤ì´ ì´ë¯¸ ì»¤ë„ íŠ¸ë¦¬ì— ë°˜ì˜í•˜ê¸¸ ì›í•˜ëŠ” 코드 묶ìŒì„ ê°€ì§€ê³ ìžˆì§€ë§Œ +올바른 í¬ë§·ìœ¼ë¡œ í¬ìž¥í•˜ëŠ”ë° ë„ì›€ì´ í•„ìš”í•˜ë‹¤ë©´ 그러한 ë¬¸ì œë¥¼ ë•ê¸° 위해 +만들어진 kernel-mentors 프로ì 트가 있다. ê·¸ê³³ì€ ë©”ì¼ë§ 리스트ì´ë©° +다ìŒì—ì„œ ì°¸ì¡°í• ìˆ˜ 있다. + http://selenic.com/mailman/listinfo/kernel-mentors + +리눅스 ì»¤ë„ ì½”ë“œì— ì‹¤ì œ ë³€ê²½ì„ í•˜ê¸° ì „ì— ë°˜ë“œì‹œ ê·¸ 코드가 어떻게 +ë™ìž‘하는지 ì´í•´í•˜ê³ 있어야 한다. 코드를 분ì„하기 위하여 íŠ¹ì •í•œ íˆ´ì˜ +ë„ì›€ì„ ë¹Œë ¤ì„œë¼ë„ 코드를 ì§ì ‘ ì½ëŠ” 것보다 ì¢‹ì€ ê²ƒì€ ì—†ë‹¤(ëŒ€ë¶€ë¶„ì˜ +ìžìž˜í•œ ë¶€ë¶„ë“¤ì€ ìž˜ 코멘트ë˜ì–´ 있다). 그런 툴들 ì¤‘ì— íŠ¹ížˆ ì¶”ì²œí• ë§Œí•œ +ê²ƒì€ Linux Cross-Reference projectì´ë©° ê·¸ê²ƒì€ ìžê¸° 참조 ë°©ì‹ì´ë©° +소스코드를 ì¸ë±ìŠ¤ëœ 웹 페ì´ì§€ë“¤ì˜ 형태로 보여준다. ìµœì‹ ì˜ ë©‹ì§„ ì»¤ë„ +코드 ì €ìž¥ì†ŒëŠ” 다ìŒì„ 통하여 ì°¸ì¡°í• ìˆ˜ 있다. + http://sosdg.org/~coywolf/lxr/ + + +개발 프로세스 +------------- + +리눅스 ì»¤ë„ ê°œë°œ 프로세스는 현재 몇몇 다른 ë©”ì¸ ì»¤ë„ "브랜치들"ê³¼ +ì„œë¸Œì‹œìŠ¤í…œì— íŠ¹í™”ëœ ì»¤ë„ ë¸Œëžœì¹˜ë“¤ë¡œ 구성ëœë‹¤. 몇몇 다른 ë©”ì¸ +ë¸Œëžœì¹˜ë“¤ì€ ë‹¤ìŒê³¼ 같다. + - main 2.6.x ì»¤ë„ íŠ¸ë¦¬ + - 2.6.x.y - ì•ˆì •ëœ ì»¤ë„ íŠ¸ë¦¬ + - 2.6.x -git ì»¤ë„ íŒ¨ì¹˜ë“¤ + - 2.6.x -mm ì»¤ë„ íŒ¨ì¹˜ë“¤ + - ì„œë¸Œì‹œìŠ¤í…œì„ ìœ„í•œ ì»¤ë„ íŠ¸ë¦¬ë“¤ê³¼ 패치들 + +2.6.x ì»¤ë„ íŠ¸ë¦¬ +--------------- + +2.6.x 커ë„ë“¤ì€ Linux Torvaldsê°€ 관리하며 kernel.orgì˜ pub/linux/kernel/v2.6/ +ë””ë ‰í† ë¦¬ì—ì„œ 참조ë 수 있다.개발 프로세스는 다ìŒê³¼ 같다. + - 새로운 커ë„ì´ ë°°í¬ë˜ìžë§ˆìž 2ì£¼ì˜ ì‹œê°„ì´ ì£¼ì–´ì§„ë‹¤. ì´ ê¸°ê°„ë™ì€ + ë©”ì¸íŠ¸ë„ˆë“¤ì€ í° diffë“¤ì„ Linusì—게 ì œì¶œí• ìˆ˜ 있다. 대개 ì´ íŒ¨ì¹˜ë“¤ì€ + 몇 주 ë™ì•ˆ -mm 커ë„ë‚´ì— ì´ë¯¸ ìžˆì—ˆë˜ ê²ƒë“¤ì´ë‹¤. í° ë³€ê²½ë“¤ì„ ì œì¶œí•˜ëŠ” ë° + ì„ í˜¸ë˜ëŠ” ë°©ë²•ì€ git(커ë„ì˜ ì†ŒìŠ¤ 관리 툴, ë” ë§Žì€ ì •ë³´ë“¤ì€ http://git.or.cz/ + ì—ì„œ ì°¸ì¡°í• ìˆ˜ 있다)를 사용하는 것ì´ì§€ë§Œ 순수한 패치파ì¼ì˜ 형ì‹ìœ¼ë¡œ ë³´ë‚´ë„ + ê²ƒë„ ë¬´ê´€í•˜ë‹¤. + - 2주 í›„ì— -rc1 커ë„ì´ ë°°í¬ë˜ë©° 지금부터는 ì „ì²´ 커ë„ì˜ ì•ˆì •ì„±ì— ì˜í–¥ì„ + ë¯¸ì¹ ìˆ˜ 있는 새로운 ê¸°ëŠ¥ë“¤ì„ í¬í•¨í•˜ì§€ 않는 íŒ¨ì¹˜ë“¤ë§Œì„ ì¶”ê°€ë 수 있다. + ì™„ì „ížˆ 새로운 ë“œë¼ì´ë²„(í˜¹ì€ íŒŒì¼ì‹œìŠ¤í…œ)는 -rc1 ì´í›„ì—만 받아들여진다는 + ê²ƒì„ ê¸°ì–µí•´ë¼. 왜ëƒí•˜ë©´ ë³€ê²½ì´ ìžì²´ë‚´ì—서만 ë°œìƒí•˜ê³ ì¶”ê°€ëœ ì½”ë“œê°€ + ë“œë¼ì´ë²„ ì™¸ë¶€ì˜ ë‹¤ë¥¸ 부분ì—는 ì˜í–¥ì„ 주지 않으므로 그런 ë³€ê²½ì€ + 퇴보(regression)를 ì¼ìœ¼í‚¬ 만한 ìœ„í—˜ì„ ê°€ì§€ê³ ìžˆì§€ 않기 때문ì´ë‹¤. -rc1ì´ + ë°°í¬ëœ ì´í›„ì— git를 사용하여 íŒ¨ì¹˜ë“¤ì„ Linusì—게 보낼수 있지만 íŒ¨ì¹˜ë“¤ì€ + ê³µì‹ì ì¸ ë©”ì¼ë§ 리스트로 ë³´ë‚´ì„œ ê²€í† ë¥¼ ë°›ì„ í•„ìš”ê°€ 있다. + - 새로운 -rc는 Linus는 현재 git treeê°€ 테스트 í•˜ê¸°ì— ì¶©ë¶„ížˆ ì•ˆì •ëœ ìƒíƒœì— + ìžˆë‹¤ê³ íŒë‹¨ë 때마다 ë°°í¬ëœë‹¤. 목표는 새로운 -rc 커ë„ì„ ë§¤ì£¼ ë°°í¬í•˜ëŠ” + 것ì´ë‹¤. + - ì´ëŸ¬í•œ 프로세스는 커ë„ì´ "준비"ë˜ì—ˆë‹¤ê³ 여겨질때까지 계ì†ëœë‹¤. + 프로세스는 대체로 6주간 지ì†ëœë‹¤. + - ê° -rc ë°°í¬ì— 있는 ì•Œë ¤ì§„ í‡´ë³´ì˜ ëª©ë¡ë“¤ì€ ë‹¤ìŒ URIì— ë‚¨ê²¨ì§„ë‹¤. + http://kernelnewbies.org/known_regressions + +ì»¤ë„ ë°°í¬ì— 있어서 ì–¸ê¸‰í• ë§Œí•œ 가치가 있는 리눅스 ì»¤ë„ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì˜ +Andrew Mortonì˜ ê¸€ì´ ìžˆë‹¤. + "커ë„ì´ ì–¸ì œ ë°°í¬ë 지는 아무로 모른다. 왜ëƒí•˜ë©´ ë°°í¬ëŠ” ì•Œë ¤ì§„ + ë²„ê·¸ì˜ ìƒí™©ì— ë”°ë¼ ë°°í¬ë˜ëŠ” 것ì´ì§€ ë¯¸ë¦¬ì •í•´ ë†“ì€ ì‹œê°„ì— ë”°ë¼ + ë°°í¬ë˜ëŠ” ê²ƒì€ ì•„ë‹ˆê¸° 때문ì´ë‹¤." + +2.6.x.y - ì•ˆì • ì»¤ë„ íŠ¸ë¦¬ +------------------------ + +4 ìžë¦¬ 숫ìžë¡œ ì´ë£¨ì–´ì§„ ë²„ì ¼ì˜ ì»¤ë„ë“¤ì€ -stable 커ë„들ì´ë‹¤. ê·¸ê²ƒë“¤ì€ 2.6.x +커ë„ì—ì„œ ë°œê²¬ëœ í° í‡´ë³´ë“¤ì´ë‚˜ 보안 ë¬¸ì œë“¤ 중 비êµì ìž‘ê³ ì¤‘ìš”í•œ ìˆ˜ì •ë“¤ì„ +í¬í•¨í•œë‹¤. + +ì´ê²ƒì€ 가장 ìµœê·¼ì˜ ì•ˆì •ì ì¸ ì»¤ë„ì„ ì›í•˜ëŠ” 사용ìžì—게 추천ë˜ëŠ” 브랜치ì´ë©°, +개발/실험ì ë²„ì ¼ì„ í…ŒìŠ¤íŠ¸í•˜ëŠ” ê²ƒì„ ë•ëŠ”ë°ëŠ” 별로 ê´€ì‹¬ì´ ì—†ë‹¤. + +ì–´ë–¤ 2.6.x.y 커ë„ë„ ì‚¬ìš©ê°€ëŠ¥í•˜ì§€ 않다면 그때는 가장 ë†’ì€ ìˆ«ìžì˜ 2.6.x +커ë„ì´ í˜„ìž¬ì˜ ì•ˆì • 커ë„ì´ë‹¤. + +2.6.x.y는 "stable" 팀<stable@kernel.org>ì— ì˜í•´ 관리ë˜ë©° ê±°ì˜ ë§¤ë²ˆ 격주로 +ë°°í¬ëœë‹¤. + +ì»¤ë„ íŠ¸ë¦¬ 문서들 ë‚´ì— Documentation/stable_kernel_rules.txt 파ì¼ì€ ì–´ë–¤ +ì¢…ë¥˜ì˜ ë³€ê²½ë“¤ì´ -stable 트리로 들어왔는지와 ë°°í¬ í”„ë¡œì„¸ìŠ¤ê°€ 어떻게 +진행ë˜ëŠ”지를 설명한다. + + +2.6.x -git 패치들 +------------------ +git ì €ìž¥ì†Œ(그러므로 -gitì´ë¼ëŠ” ì´ë¦„ì´ ë¶™ìŒ)ì—는 ë‚ ë§ˆë‹¤ 관리ë˜ëŠ” Linusì˜ +ì»¤ë„ íŠ¸ë¦¬ì˜ snapshot ë“¤ì´ ìžˆë‹¤. ì´ íŒ¨ì¹˜ë“¤ì€ ì¼ë°˜ì 으로 ë‚ ë§ˆë‹¤ ë°°í¬ë˜ë©° +Linusì˜ íŠ¸ë¦¬ì˜ í˜„ìž¬ ìƒíƒœë¥¼ 나타낸다. ì´ íŒ¨ì¹˜ë“¤ì€ ì •ìƒì ì¸ì§€ ì¡°ê¸ˆë„ +살펴보지 ì•Šê³ ìžë™ì 으로 ìƒì„±ëœ 것ì´ë¯€ë¡œ -rc 커ë„들 ë³´ë‹¤ë„ ë” ì‹¤í—˜ì ì´ë‹¤. + +2.6.x -mm ì»¤ë„ íŒ¨ì¹˜ë“¤ +--------------------- +Andrew Mortonì— ì˜í•´ ë°°í¬ëœ 실험ì ì¸ ì»¤ë„ íŒ¨ì¹˜ë“¤ì´ë‹¤. Andrew는 ëª¨ë“ ë‹¤ë¥¸ +서브시스템 ì»¤ë„ íŠ¸ë¦¬ì™€ íŒ¨ì¹˜ë“¤ì„ ê°€ì ¸ì™€ì„œ 리눅스 ì»¤ë„ ë©”ì¼ë§ 리스트로 +온 ë§Žì€ íŒ¨ì¹˜ë“¤ê³¼ í•œë° ë¬¶ëŠ”ë‹¤. ì´ íŠ¸ë¦¬ëŠ” 새로운 기능들과 íŒ¨ì¹˜ë“¤ì„ ìœ„í•œ +장소를 ì œê³µí•˜ëŠ” ì—í• ì„ í•œë‹¤. í•˜ë‚˜ì˜ íŒ¨ì¹˜ê°€ -mmì— í•œë™ì•ˆ 있으면서 ê·¸ 가치가 +ì¦ëª…ë˜ê²Œ ë˜ë©´ Andrew나 서브시스템 ë©”ì¸íŠ¸ë„ˆëŠ” ê·¸ê²ƒì„ ë©”ì¸ë¼ì¸ì— í¬í•¨ì‹œí‚¤ê¸° +위하여 Linusì—게 보낸다. + +ì»¤ë„ íŠ¸ë¦¬ì— í¬í•¨í•˜ê³ ì‹¶ì€ ëª¨ë“ ìƒˆë¡œìš´ íŒ¨ì¹˜ë“¤ì€ Linusì—게 보내지기 ì „ì— +-mm 트리ì—ì„œ 테스트를 하는 ê²ƒì„ ì ê·¹ 추천한다. + +ì´ ì»¤ë„ë“¤ì€ ì•ˆì •ë˜ê²Œ ì‚¬ìš©í• ì‹œìŠ¤í…œì—ì„œì— ì‹¤í–‰í•˜ëŠ” ê²ƒì€ ì 합하지 않으며 +다른 ë¸Œëžœì¹˜ë“¤ì˜ ì–´ë–¤ 것들보다 위험하다. + +ì—¬ëŸ¬ë¶„ì´ ì»¤ë„ ê°œë°œ 프로세스를 ë•ê¸¸ ì›í•œë‹¤ë©´ ì´ ì»¤ë„ ë°°í¬ë“¤ì„ ì‚¬ìš©í•˜ê³ +테스트한 후 ì–´ë–¤ ë¬¸ì œë¥¼ 발견하거나 ë˜ëŠ” ëª¨ë“ ê²ƒì´ ìž˜ ë™ìž‘한다면 리눅스 +ì»¤ë„ ë©”ì¼ë§ 리스트로 í”¼ë“œë°±ì„ í•´ë‹¬ë¼. + +ì´ ì»¤ë„ë“¤ì€ ì¼ë°˜ì 으로 ëª¨ë“ ë‹¤ë¥¸ 실험ì ì¸ íŒ¨ì¹˜ë“¤ê³¼ ë°°í¬ë ë‹¹ì‹œì˜ +사용가능한 ë©”ì¸ë¼ì¸ -git 커ë„ë“¤ì˜ ëª‡ëª‡ ë³€ê²½ì„ í¬í•¨í•œë‹¤. + +-mm 커ë„ë“¤ì€ ì •í•´ì§„ ì¼ì •ëŒ€ë¡œ ë°°í¬ë˜ì§€ 않는다. 하지만 대개 몇몇 -mm 커ë„ë“¤ì€ +ê° -rc 커ë„(1부터 3ì´ í”함) 사ì´ì—ì„œ ë°°í¬ëœë‹¤. + +서브시스템 ì»¤ë„ íŠ¸ë¦¬ë“¤ê³¼ 패치들 +------------------------------- +ë§Žì€ ë‹¤ë¥¸ ì»¤ë„ ì„œë¸Œì‹œìŠ¤í…œ 개발ìžë“¤ì€ 커ë„ì˜ ë‹¤ë¥¸ 부분들ì—ì„œ 무슨 ì¼ì´ +ì¼ì–´ë‚˜ê³ 있는지를 볼수 있ë„ë¡ ê·¸ë“¤ì˜ ê°œë°œ 트리를 공개한다. ì´ íŠ¸ë¦¬ë“¤ì€ +위ì—ì„œ ì„¤ëª…í•˜ì˜€ë˜ ê²ƒ 처럼 -mm ì»¤ë„ ë°°í¬ë“¤ë¡œ í•©ì³ì§„다. + +다ìŒì€ 활용가능한 ì»¤ë„ íŠ¸ë¦¬ë“¤ì„ ë‚˜ì—´í•œë‹¤. + git trees: + - Kbuild development tree, Sam Ravnborg < sam@ravnborg.org> + git.kernel.org:/pub/scm/linux/kernel/git/sam/kbuild.git + + - ACPI development tree, Len Brown <len.brown@intel.com > + git.kernel.org:/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6.git + + - Block development tree, Jens Axboe <axboe@suse.de> + git.kernel.org:/pub/scm/linux/kernel/git/axboe/linux-2.6-block.git + + - DRM development tree, Dave Airlie <airlied@linux.ie> + git.kernel.org:/pub/scm/linux/kernel/git/airlied/drm-2.6.git + + - ia64 development tree, Tony Luck < tony.luck@intel.com> + git.kernel.org:/pub/scm/linux/kernel/git/aegl/linux-2.6.git + + - infiniband, Roland Dreier <rolandd@cisco.com > + git.kernel.org:/pub/scm/linux/kernel/git/roland/infiniband.git + + - libata, Jeff Garzik <jgarzik@pobox.com> + git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev.git + + - network drivers, Jeff Garzik <jgarzik@pobox.com> + git.kernel.org:/pub/scm/linux/kernel/git/jgarzik/netdev-2.6.git + + - pcmcia, Dominik Brodowski < linux@dominikbrodowski.net> + git.kernel.org:/pub/scm/linux/kernel/git/brodo/pcmcia-2.6.git + + - SCSI, James Bottomley < James.Bottomley@SteelEye.com> + git.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6.git + + quilt trees: + - USB, PCI, Driver Core, and I2C, Greg Kroah-Hartman < gregkh@suse.de> + kernel.org/pub/linux/kernel/people/gregkh/gregkh-2.6/ + - x86-64, partly i386, Andi Kleen < ak@suse.de> + ftp.firstfloor.org:/pub/ak/x86_64/quilt/ + + 다른 ì»¤ë„ íŠ¸ë¦¬ë“¤ì€ http://kernel.org/git와 MAINTAINERS 파ì¼ì—ì„œ ì°¸ì¡°í• ìˆ˜ + 있다. + +버그 ë³´ê³ +--------- +bugzilla.kernel.org는 리눅스 ì»¤ë„ ê°œë°œìžë“¤ì´ 커ë„ì˜ ë²„ê·¸ë¥¼ 추ì 하는 ê³³ì´ë‹¤. +사용ìžë“¤ì€ 발견한 ëª¨ë“ ë²„ê·¸ë“¤ì„ ë³´ê³ í•˜ê¸° 위하여 ì´ íˆ´ì„ ì‚¬ìš©í• ê²ƒì„ ê¶Œìž¥í•œë‹¤. +kernel bugzilla를 사용하는 ìžì„¸í•œ ë°©ë²•ì€ ë‹¤ìŒì„ 참조하ë¼. + http://test.kernel.org/bugzilla/faq.html + +ë©”ì¸ ì»¤ë„ ì†ŒìŠ¤ ë””ë ‰í† ë¦¬ì— ìžˆëŠ” REPORTING-BUGS 파ì¼ì€ ì»¤ë„ ë²„ê·¸ì¼ ê²ƒ ê°™ì€ +ê²ƒì„ ë³´ê³ í•˜ëŠ”ëŠ” ë²•ì— ê´€í•œ ì¢‹ì€ í…œí”Œë¦¿ì´ê³ ë¬¸ì œë¥¼ 추ì 하기 위해서 ì»¤ë„ +개발ìžë“¤ì´ 필요로 하는 ì •ë³´ê°€ 무엇들ì¸ì§€ë¥¼ ìƒì„¸ížˆ ì„¤ëª…í•˜ê³ ìžˆë‹¤. + + +버그 리í¬íŠ¸ë“¤ì˜ 관리 +-------------------- + +ì—¬ëŸ¬ë¶„ì˜ í•´í‚¹ ê¸°ìˆ ì„ ì—°ìŠµí•˜ëŠ” 가장 ì¢‹ì€ ë°©ë²• ì¤‘ì˜ í•˜ëŠ” 다른 ì‚¬ëžŒë“¤ì´ +ë³´ê³ í•œ ë²„ê·¸ë“¤ì„ ìˆ˜ì •í•˜ëŠ” 것ì´ë‹¤. ì—¬ëŸ¬ë¶„ì€ ì»¤ë„ì„ ë”ìš± ì•ˆì •í™”ì‹œí‚¤ëŠ”ë° +ë„ì›€ì„ ì¤„ ë¿ë§Œì´ ì•„ë‹ˆë¼ ì‹¤ì œìžˆëŠ” ë¬¸ì œë“¤ì„ ìˆ˜ì •í•˜ëŠ” ë²•ì„ ë°°ìš°ê²Œ ë˜ê³ +그와 함께 ì—¬ëŸ¬ë¶„ë“¤ì˜ ê¸°ìˆ ì€ í–¥ìƒë 것ì´ë©° 다른 개발ìžë“¤ì´ ì—¬ëŸ¬ë¶„ì˜ +ì¡´ìž¬ì— ëŒ€í•´ 알게 ë 것ì´ë‹¤. 버그를 ìˆ˜ì •í•˜ëŠ” ê²ƒì€ ê°œë°œìžë“¤ 사ì´ì—ì„œ +ì 수를 ì–»ì„ ìˆ˜ 있는 가장 ì¢‹ì€ ë°©ë²•ì¤‘ì˜ í•˜ë‚˜ì´ë‹¤. 왜ëƒí•˜ë©´ ë§Žì€ ì‚¬ëžŒë“¤ì€ +다른 ì‚¬ëžŒë“¤ì˜ ë²„ê·¸ë“¤ì„ ìˆ˜ì •í•˜ê¸° 위하여 ì‹œê°„ì„ ë‚비하지 않기 때문ì´ë‹¤. + +ì´ë¯¸ ë³´ê³ ëœ ë²„ê·¸ 리í¬íŠ¸ë“¤ì„ ê°€ì§€ê³ ìž‘ì—…í•˜ê¸° 위해서 http://bugzilla.kernelorg를 +참조하ë¼. ì—¬ëŸ¬ë¶„ì´ ì•žìœ¼ë¡œ ìƒê²¨ë‚ 버그 리í¬íŠ¸ë“¤ì˜ ì¡°ì–¸ìžê°€ ë˜ê¸¸ ì›í•œë‹¤ë©´ +bugme-new ë©”ì¼ë§ 리스트나(새로운 버그 리í¬íŠ¸ë“¤ë§Œì´ ì´ê³³ì—ì„œ ë©”ì¼ë¡œ ì „í•´ì§„ë‹¤) +bugme-janitor ë©”ì¼ë§ 리스트(bugzillaì— ëª¨ë“ ë³€í™”ë“¤ì´ ì—¬ê¸°ì„œ ë©”ì¼ë¡œ ì „í•´ì§„ë‹¤) +ì— ë“±ë¡í•˜ë©´ ëœë‹¤. + + http://lists.osdl.org/mailman/listinfo/bugme-new + http://lists.osdl.org/mailman/listinfo/bugme-janitors + + + +ë©”ì¼ë§ 리스트들 +--------------- + +ìœ„ì˜ ëª‡ëª‡ ë¬¸ì„œë“¤ì´ ì„¤ëª…í•˜ì˜€ì§€ë§Œ 핵심 ì»¤ë„ ê°œë°œìžë“¤ì˜ 대다수는 +리눅스 ì»¤ë„ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì— ì°¸ì—¬í•˜ê³ ìžˆë‹¤. ë¦¬ìŠ¤íŠ¸ì— ë“±ë¡í•˜ê³ 해지하는 +ë°©ë²•ì— ê´€í•œ ìžì„¸í•œ 사í•ì€ 다ìŒì—ì„œ ì°¸ì¡°í• ìˆ˜ 있다. + http://vger.kernel.org/vger-lists.html#linux-kernel +웹ìƒì˜ ë§Žì€ ë‹¤ë¥¸ ê³³ì—ë„ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì˜ ì•„ì¹´ì´ë¸Œë“¤ì´ 있다. +ì´ëŸ¬í•œ ì•„ì¹´ì´ë¸Œë“¤ì„ ì°¾ìœ¼ë ¤ë©´ 검색 ì—”ì§„ì„ ì‚¬ìš©í•˜ë¼. 예를 들어: + http://dir.gmane.org/gmane.linux.kernel +ì—¬ëŸ¬ë¶„ì´ ìƒˆë¡œìš´ ë¬¸ì œì— ê´€í•´ ë¦¬ìŠ¤íŠ¸ì— ì˜¬ë¦¬ê¸° ì „ì— ë§í•˜ê³ ì‹¶ì€ ì£¼ì œì— ëŒ€í•œ +ê²ƒì„ ì•„ì¹´ì´ë¸Œì—ì„œ ë¨¼ì € 찾기를 ê°•ë ¥ížˆ 권장한다. ì´ë¯¸ ìƒì„¸í•˜ê²Œ í† ë¡ ëœ ë§Žì€ +ê²ƒë“¤ì´ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì˜ ì•„ì¹´ì´ë¸Œì— 기ë¡ë˜ì–´ 있다. + +ê°ê°ì˜ ì»¤ë„ ì„œë¸Œì‹œìŠ¤í…œë“¤ì˜ ëŒ€ë¶€ë¶„ì€ ìžì‹ ë“¤ì˜ ê°œë°œì— ê´€í•œ ë…¸ë ¥ë“¤ë¡œ ì´ë£¨ì–´ì§„ +ë¶„ë¦¬ëœ ë©”ì¼ë§ 리스트를 ë”°ë¡œ ê°€ì§€ê³ ìžˆë‹¤. 다른 ê·¸ë£¹ë“¤ì´ ë¬´ìŠ¨ 리스트를 ê°€ì§€ê³ +있는지는 MAINTAINERS 파ì¼ì„ 참조하ë¼. + +ë§Žì€ ë¦¬ìŠ¤íŠ¸ë“¤ì€ kernel.orgì—ì„œ 호스트ë˜ê³ 있다. ê·¸ ì •ë³´ë“¤ì€ ë‹¤ìŒì—ì„œ 참조ë 수 있다. + http://vger.kernel.org/vger-lists.html + +ë¦¬ìŠ¤íŠ¸ë“¤ì„ ì‚¬ìš©í• ë•ŒëŠ” 올바른 ì˜ˆì ˆì„ ë”°ë¥¼ ê²ƒì„ ìœ ë…í•´ë¼. +대단하진 않지만 ë‹¤ìŒ URLì€ ë¦¬ìŠ¤íŠ¸(í˜¹ì€ ëª¨ë“ ë¦¬ìŠ¤íŠ¸)와 대화하는 몇몇 간단한 +ê°€ì´ë“œë¼ì¸ì„ ê°€ì§€ê³ ìžˆë‹¤. + http://www.albion.com/netiquette/ + +여러 ì‚¬ëžŒë“¤ì´ ì—¬ëŸ¬ë¶„ì˜ ë©”ì¼ì— ì‘답한다면 CC: 즉 ìˆ˜ì‹ ë¦¬ìŠ¤íŠ¸ëŠ” 꽤 커지게 +ë 것ì´ë‹¤. 아무 ì´ìœ ì—†ì´ CCì—ì„œ ì–´ë–¤ ì‚¬ëžŒë„ ì œê±°í•˜ê±°ë‚˜ 리스트 주소로만 +íšŒì‹ í•˜ì§€ 마ë¼. ë©”ì¼ì„ 보낸 사람으로서 하나를 ë°›ê³ ë¦¬ìŠ¤íŠ¸ë¡œë¶€í„° ë˜ +하나를 받아 ë‘번 받는 ê²ƒì— ìµìˆ™í•˜ì—¬ 있으니 mail-header를 ì¡°ìž‘í•˜ë ¤ê³ í•˜ì§€ +ë§ì•„ë¼. ì‚¬ëžŒë“¤ì€ ê·¸ëŸ° ê²ƒì„ ì¢‹ì•„í•˜ì§€ ì•Šì„ ê²ƒì´ë‹¤. + +ì—¬ëŸ¬ë¶„ì˜ íšŒì‹ ì˜ ë¬¸ë§¥ì„ ì›ëž˜ëŒ€ë¡œ ìœ ì§€í•´ì•¼ 한다. ì—¬ëŸ¬ë¶„ë“¤ì˜ íšŒì‹ ì˜ ìœ—ë¶€ë¶„ì— +"John 커ë„해커는 작성했다...."를 ìœ ì§€í•˜ë©° ì—¬ëŸ¬ë¶„ë“¤ì˜ ì˜ê²¬ì„ ê·¸ ë©”ì¼ì˜ ìœ—ë¶€ë¶„ì— +작성하지 ë§ê³ ê° ì¸ìš©í•œ 단ë½ë“¤ 사ì´ì— 넣어ë¼. + +ì—¬ëŸ¬ë¶„ë“¤ì´ íŒ¨ì¹˜ë“¤ì„ ë©”ì¼ì— 넣는다면 ê·¸ê²ƒë“¤ì€ Documentation/SubmittingPatchesì— +나와있는ë°ë¡œ 명백히(plain) ì½ì„ 수 있는 í…스트여야 한다. ì»¤ë„ ê°œë°œìžë“¤ì€ +첨부파ì¼ì´ë‚˜ ì••ì¶•ëœ íŒ¨ì¹˜ë“¤ì„ ì›í•˜ì§€ 않는다. ê·¸ë“¤ì€ ì—¬ëŸ¬ë¶„ë“¤ì˜ íŒ¨ì¹˜ì˜ +ê° ë¼ì¸ 단위로 코멘트를 하길 ì›í•˜ë©° 압축하거나 첨부하지 ì•Šê³ ë³´ë‚´ëŠ” ê²ƒì´ +ê·¸ë ‡ê²Œ í• ìˆ˜ 있는 ìœ ì¼í•œ 방법ì´ë‹¤. ì—¬ëŸ¬ë¶„ë“¤ì´ ì‚¬ìš©í•˜ëŠ” ë©”ì¼ í”„ë¡œê·¸ëž¨ì´ +스페ì´ìŠ¤ë‚˜ íƒ ë¬¸ìžë“¤ì„ 조작하지 않는지 확ì¸í•˜ë¼. 가장 ì¢‹ì€ ì²« 테스트는 +ë©”ì¼ì„ ìžì‹ ì—게 ë³´ë‚´ë³´ê³ ìŠ¤ìŠ¤ë¡œ ê·¸ 패치를 ì ìš©í•´ë³´ë¼. ê·¸ê²ƒì´ ë™ìž‘하지 +않는다면 ì—¬ëŸ¬ë¶„ì˜ ë©”ì¼ í”„ë¡œê·¸ëž¨ì„ ê³ ì¹˜ë˜ê°€ ì œëŒ€ë¡œ ë™ìž‘하는 프로그램으로 +바꾸어ë¼. + +ë¬´ì—‡ë³´ë‹¤ë„ ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì˜ ë‹¤ë¥¸ 구ë…ìžë“¤ì—게 ë³´ì—¬ì£¼ë ¤ 한다는 ê²ƒì„ ê¸°ì–µí•˜ë¼. + + +커뮤니티와 ì¼í•˜ëŠ” 법 +-------------------- + +ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ì˜ ëª©ì ì€ ê°€ëŠ¥í•œí•œ 가장 ì¢‹ì€ ì»¤ë„ì„ ì œê³µí•˜ëŠ” 것ì´ë‹¤. ì—¬ëŸ¬ë¶„ì´ +받아들여질 패치를 ì œì¶œí•˜ê²Œ ë˜ë©´ ê·¸ íŒ¨ì¹˜ì˜ ê¸°ìˆ ì ì¸ ì´ì 으로 ê²€í† ë 것ì´ë‹¤. +그럼 ì—¬ëŸ¬ë¶„ë“¤ì€ ë¬´ì—‡ì„ ê¸°ëŒ€í•˜ê³ ìžˆì–´ì•¼ 하는가? + - ë¹„íŒ + - ì˜ê²¬ + - ë³€ê²½ì„ ìœ„í•œ 요구 + - ë‹¹ìœ„ì„±ì„ ìœ„í•œ 요구 + - ê³ ìš” + +기억하ë¼. ì´ê²ƒë“¤ì€ ì—¬ëŸ¬ë¶„ì˜ íŒ¨ì¹˜ê°€ 커ë„ë¡œ 들어가기 위한 ê³¼ì •ì´ë‹¤. ì—¬ëŸ¬ë¶„ì˜ +íŒ¨ì¹˜ë“¤ì€ ë¹„íŒê³¼ 다른 ì˜ê²¬ì„ ë°›ì„ ìˆ˜ ìžˆê³ ê·¸ê²ƒë“¤ì„ ê¸°ìˆ ì ì¸ ë ˆë²¨ë¡œ í‰ê°€í•˜ê³ +재작업하거나 ë˜ëŠ” 왜 ìˆ˜ì •í•˜ë©´ 안ë˜ëŠ”ì§€ì— ê´€í•˜ì—¬ ëª…ë£Œí•˜ê³ ê°„ê²°í•œ ì´ìœ 를 +ë§í• 수 있어야 한다. ì—¬ëŸ¬ë¶„ì´ ì œì¶œí•œ ê²ƒì— ì–´ë–¤ ì‘ë‹µë„ ìžˆì§€ 않다면 몇 ì¼ì„ +ê¸°ë‹¤ë ¤ë³´ê³ ë‹¤ì‹œ ì‹œë„í•´ë¼. ë•Œë¡ ë„ˆë¬´ ë§Žì€ ë©”ì¼ë“¤ ì†ì— ë¬»í˜€ë²„ë¦¬ê¸°ë„ í•œë‹¤. + +ì—¬ëŸ¬ë¶„ì€ ë¬´ì—‡ì„ í•´ì„œëŠ” 안ë˜ëŠ”ê°€? + - ì—¬ëŸ¬ë¶„ì˜ íŒ¨ì¹˜ê°€ 아무 질문 ì—†ì´ ë°›ì•„ë“¤ì—¬ì§€ê¸°ë¥¼ 기대하는 것 + - ë°©ì–´ì ì´ ë˜ëŠ” 것 + - ì˜ê²¬ì„ 무시하는 것 + - ìš”ì²ëœ ë³€ê²½ì„ í•˜ì§€ ì•Šê³ íŒ¨ì¹˜ë¥¼ 다시 ì œì¶œí•˜ëŠ” 것 + +가능한한 가장 ì¢‹ì€ ê¸°ìˆ ì ì¸ í•´ë‹µì„ ì°¾ê³ ìžˆëŠ” 커뮤니티ì—서는 í•ìƒ +ì–´ë–¤ 패치가 얼마나 좋ì€ì§€ì— 관하여 다른 ì˜ê²¬ë“¤ì´ ìžˆì„ ìˆ˜ 있다. ì—¬ëŸ¬ë¶„ì€ +협조ì ì´ì–´ì•¼ í•˜ê³ ê¸°êº¼ì´ ì—¬ëŸ¬ë¶„ì˜ ìƒê°ì„ ì»¤ë„ ë‚´ì— ë§žì¶”ì–´ì•¼ 한다. 아니면 +ì ì–´ë„ ì—¬ëŸ¬ë¶„ì˜ ê²ƒì´ ê°€ì¹˜ìžˆë‹¤ëŠ” ê²ƒì„ ì¤‘ëª…í•˜ì—¬ì•¼ 한다. ìž˜ëª»ëœ ê²ƒë„ ì—¬ëŸ¬ë¶„ì´ +올바른 ë°©í–¥ì˜ í•´ê²°ì±…ìœ¼ë¡œ ì´ëŒì–´ê°ˆ ì˜ì§€ê°€ 있다면 받아들여질 것ì´ë¼ëŠ” ì ì„ +기억하ë¼. + +ì—¬ëŸ¬ë¶„ì˜ ì²« íŒ¨ì¹˜ì— ì—¬ëŸ¬ë¶„ì´ ìˆ˜ì •í•´ì•¼í•˜ëŠ” ì‹ì—¬ê°œ ì •ë„ì˜ íšŒì‹ ì´ ì˜¤ëŠ” +ê²½ìš°ë„ í”하다. ì´ê²ƒì€ ì—¬ëŸ¬ë¶„ì˜ íŒ¨ì¹˜ê°€ 받아들여지지 ì•Šì„ ê²ƒì´ë¼ëŠ” ê²ƒì„ +ì˜ë¯¸í•˜ëŠ” ê²ƒì´ ì•„ë‹ˆê³ ê°œì¸ì 으로 여러분ì—게 ê°ì •ì´ 있어서 그러는 ê²ƒë„ +아니다. 간단히 ì—¬ëŸ¬ë¶„ì˜ íŒ¨ì¹˜ì— ì œê¸°ëœ ë¬¸ì œë“¤ì„ ìˆ˜ì •í•˜ê³ ê·¸ê²ƒì„ ë‹¤ì‹œ +ë³´ë‚´ë¼. + + +ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ì™€ 기업 ì¡°ì§ê°„ì˜ ì°¨ì´ì +----------------------------------------------------------------- +ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ëŠ” 가장 ì „í†µì ì¸ íšŒì‚¬ì˜ ê°œë°œ 환경과는 다르다. ì—¬ê¸°ì— ì—¬ëŸ¬ë¶„ë“¤ì˜ +ë¬¸ì œë¥¼ 피하기 위한 목ë¡ì´ 있다. + ì—¬ëŸ¬ë¶„ë“¤ì´ ì œì•ˆí•œ ë³€ê²½ë“¤ì— ê´€í•˜ì—¬ ë§í• ë•Œ ì¢‹ì€ ê²ƒë“¤ : + - " ì´ê²ƒì€ 여러 ë¬¸ì œë“¤ì„ í•´ê²¹í•©ë‹ˆë‹¤." + - "ì´ê²ƒì€ 2000 ë¼ì¸ì˜ 코드를 ì œê±°í•©ë‹ˆë‹¤." + - "ì´ê²ƒì€ ë‚´ê°€ ë§í•˜ë ¤ëŠ” ê²ƒì— ê´€í•´ 설명하는 패치입니다." + - "나는 5ê°œì˜ ë‹¤ë¥¸ 아키í…ì³ì—ì„œ ê·¸ê²ƒì„ í…ŒìŠ¤íŠ¸í–ˆìŠ´ìœ¼ë¡œ..." + - "ì—¬ê¸°ì— ì¼ë ¨ì˜ ìž‘ì€ íŒ¨ì¹˜ë“¤ì´ ìžˆìŠµìŒë¡œ..." + - "ì´ê²ƒì€ ì¼ë°˜ì ì¸ ë¨¸ì‹ ì—ì„œ ì„±ëŠ¥ì„ í–¥ìƒì‹œí‚¤ë¯€ë¡œ..." + + ì—¬ëŸ¬ë¶„ë“¤ì´ ë§í• ë•Œ 피해야 í• ì¢‹ì§€ ì•Šì€ ê²ƒë“¤ : + - "우리를 ê·¸ê²ƒì„ AIT/ptx/Solarisì—ì„œ ì´ëŸ¬í•œ 방법으로 했다. 그러므로 ê·¸ê²ƒì€ ì¢‹ì€ ê²ƒìž„ì— í‹€ë¦½ì—†ë‹¤..." + - "나는 20ë…„ë™ì•ˆ ì´ê²ƒì„ 해왔다. 그러므로..." + - "ì´ê²ƒì€ ëˆì„ 벌기위해 ë‚˜ì˜ íšŒì‚¬ê°€ 필요로 하는 것ì´ë‹¤." + - "ì´ê²ƒì€ ìš°ë¦¬ì˜ ì—”í„°í”„ë¼ì´ì¦ˆ ìƒí’ˆ ë¼ì¸ì„ 위한 것ì´ë‹¤." + - "ì—¬ê¸°ì— ë‚˜ì˜ ìƒê°ì„ ë§í•˜ê³ 있는 1000 페ì´ì§€ 설계 문서가 있다." + - "나는 6달ë™ì•ˆ ì´ê²ƒì„ 했으니..." + - "여기세 5000ë¼ì¸ 짜리 패치가 있으니..." + - "나는 현재 ë’¤ì£½ë°•ì£½ì¸ ê²ƒì„ ìž¬ìž‘ì„±í–ˆë‹¤. ê·¸ë¦¬ê³ ì—¬ê¸°ì—..." + - "나는 마ê°ì‹œí•œì„ ê°€ì§€ê³ ìžˆìœ¼ë¯€ë¡œ ì´ íŒ¨ì¹˜ëŠ” 지금 ì ìš©ë 필요가 있다." + +ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ê°€ ì „í†µì ì¸ ì†Œí”„íŠ¸ì›¨ì–´ ì—”ì§€ë‹ˆì–´ë§ ê°œë°œ 환경들과 +ë˜ ë‹¤ë¥¸ ì ì€ ì–¼êµ´ì„ ë³´ì§€ ì•Šê³ ì¼í•œë‹¤ëŠ” ì ì´ë‹¤. ì´ë©”ì¼ê³¼ irc를 ëŒ€í™”ì˜ +주요수단으로 사용하는 ê²ƒì˜ í•œê°€ì§€ 장ì ì€ ì„±ë³„ì´ë‚˜ ì¸ì¢…ì˜ ì°¨ë³„ì´ +없다는 것ì´ë‹¤. 리눅스 커ë„ì˜ ìž‘ì—… 환경ì—서는 단지 ì´ë©”ì¼ ì£¼ì†Œë§Œ +알수 있기 ë•Œë¬¸ì— ì—¬ì„±ê³¼ 소수 ë¯¼ì¡±ë“¤ë„ ëª¨ë‘ ë°›ì•„ë“¤ì—¬ì§„ë‹¤. êµì œì 으로 +ì¼í•˜ê²Œ ë˜ëŠ” ì¸¡ë©´ì€ ì‚¬ëžŒì˜ ì´ë¦„ì— ê·¼ê±°í•˜ì—¬ ì„±ë³„ì„ ì¶”ì¸¡í• ìˆ˜ 없게 +í•˜ê¸°ë•Œë¬¸ì— ì°¨ë³„ì„ ì—†ì• ëŠ” ë° ë„ì›€ì„ ì¤€ë‹¤. Andreaë¼ëŠ” ì´ë¦„ì„ ê°€ì§„ 남ìžì™€ +Patì´ë¼ëŠ” ì´ë¦„ì„ ê°€ì§„ ì—¬ìžê°€ ìžˆì„ ìˆ˜ë„ ìžˆëŠ” 것ì´ë‹¤. 리눅스 커ë„ì—ì„œ +작업하며 ìƒê°ì„ í‘œí˜„í•´ì™”ë˜ ëŒ€ë¶€ë¶„ì˜ ì—¬ì„±ë“¤ì€ ê¸ì •ì ì¸ ê²½í—˜ì„ ê°€ì§€ê³ +있다. + +언어 ìž¥ë²½ì€ ì˜ì–´ì— ìµìˆ™í•˜ì§€ ì•Šì€ ëª‡ëª‡ 사람들ì—게 ë¬¸ì œê°€ ë ìˆ˜ë„ ìžˆë‹¤. + ì–¸ì–´ì˜ í›Œë¥í•œ 구사는 ë©”ì¼ë§ 리스트ì—ì„œ 올바르게 ìžì‹ ì˜ ìƒê°ì„ +표현하기 위하여 필요하다. 그래서 ì—¬ëŸ¬ë¶„ì€ ì´ë©”ì¼ì„ 보내기 ì „ì— +ì˜ì–´ë¥¼ 올바르게 ì‚¬ìš©í•˜ê³ ìžˆëŠ”ì§€ë¥¼ ì²´í¬í•˜ëŠ” ê²ƒì´ ë°”ëžŒì§í•˜ë‹¤. + + +ì—¬ëŸ¬ë¶„ì˜ ë³€ê²½ì„ ë‚˜ëˆ„ì–´ë¼ +------------------------ + +리눅스 ì»¤ë„ ì»¤ë®¤ë‹ˆí‹°ëŠ” í•œêº¼ë²ˆì— êµ‰ìž¥ížˆ í° ì½”ë“œì˜ ë¬¶ìŒì„ 쉽게 +받아들ì´ì§€ 않는다. ë³€ê²½ì€ ì ì ˆí•˜ê²Œ 소개ë˜ê³ , ê²€í† ë˜ê³ , ê°ê°ì˜ +부분으로 작게 ë‚˜ëˆ„ì–´ì ¸ì•¼ 한다. ì´ê²ƒì€ 회사ì—ì„œ 하는 것과는 ì •í™•ížˆ +반대ë˜ëŠ” 것ì´ë‹¤. ì—¬ëŸ¬ë¶„ë“¤ì˜ ì œì•ˆì€ ê°œë°œ ì´ˆê¸°ì— ì¼ì°ì´ 소개ë˜ì•¼ 한다. +그래서 ì—¬ëŸ¬ë¶„ë“¤ì€ ìžì‹ ì´ í•˜ê³ ìžˆëŠ” ê²ƒì— ê´€í•˜ì—¬ í”¼ë“œë°±ì„ ë°›ì„ ìˆ˜ 있게 +ëœë‹¤. 커뮤니티가 ì—¬ëŸ¬ë¶„ë“¤ì´ ì»¤ë®¤ë‹ˆí‹°ì™€ 함께 ì¼í•˜ê³ 있다는 ê²ƒì„ +ëŠë¼ë„ë¡ ë§Œë“¤ê³ ì»¤ë®¤ë‹ˆí‹°ê°€ ì—¬ëŸ¬ë¶„ì˜ ê¸°ëŠ¥ì„ ìœ„í•œ ì“°ë ˆê¸° 장으로서 +사용ë˜ì§€ ì•Šê³ ìžˆë‹¤ëŠ” ê²ƒì„ ëŠë¼ê²Œ 하ìž. 그러나 ë©”ì¼ë§ ë¦¬ìŠ¤íŠ¸ì— í•œë²ˆì— +50ê°œì˜ ì´ë©”ì¼ì„ 보내지는 ë§ì•„ë¼. ì—¬ëŸ¬ë¶„ë“¤ì˜ ì¼ë ¨ì˜ íŒ¨ì¹˜ë“¤ì€ í•ìƒ +ë” ìž‘ì•„ì•¼ 한다. + +패치를 나누는 ì´ìœ 는 다ìŒê³¼ 같다. + +1) ìž‘ì€ íŒ¨ì¹˜ë“¤ì€ ì—¬ëŸ¬ë¶„ì˜ íŒ¨ì¹˜ë“¤ì´ ì ìš©ë 수 있는 í™•ë¥ ì„ ë†’ì—¬ì¤€ë‹¤. + 왜ëƒí•˜ë©´ 다른 ì‚¬ëžŒë“¤ì€ ì •í™•ì„±ì„ ê²€ì¦í•˜ê¸° 위하여 ë§Žì€ ì‹œê°„ê³¼ ë…¸ë ¥ì„ + 들ì´ê¸°ë¥¼ ì›í•˜ì§€ 않는다. 5ì¤„ì˜ íŒ¨ì¹˜ëŠ” ë©”ì¸íŠ¸ë„ˆê°€ ê±°ì˜ ëª‡ 초간 ížë— + ë³´ë©´ ì ìš©ë 수 있다. 그러나 500 ì¤„ì˜ íŒ¨ì¹˜ëŠ” ì •í™•ì„±ì„ ê²€í† í•˜ê¸° 위하여 + ëª‡ì‹œê°„ì´ ê±¸ë¦´ ìˆ˜ë„ ìžˆë‹¤(걸리는 ì‹œê°„ì€ íŒ¨ì¹˜ì˜ í¬ê¸° í˜¹ì€ ë‹¤ë¥¸ ê²ƒì— + 비례하여 기하급수ì 으로 늘어난다). + + 패치를 작게 만드는 ê²ƒì€ ë¬´ì—‡ì¸ê°€ 잘못ë˜ì—ˆì„ ë•Œ 디버그하는 ê²ƒì„ + 쉽게 ë§Œë“ ë‹¤. 즉, ê·¸ë ‡ê²Œ 만드는 ê²ƒì€ ë§¤ìš° í° íŒ¨ì¹˜ë¥¼ ì ìš©í•œ í›„ì— + 조사하는 것 보다 ìž‘ì€ íŒ¨ì¹˜ë¥¼ ì ìš©í•œ í›„ì— (ê·¸ë¦¬ê³ ëª‡ëª‡ì˜ ê²ƒì´ + ê¹¨ì¡Œì„ ë•Œ) 하나씩 íŒ¨ì¹˜ë“¤ì„ ì œê±°í•´ê°€ë©° 디버그 하기 쉽ë„ë¡ ë§Œë“¤ì–´ 준다. + +2) ìž‘ì€ íŒ¨ì¹˜ë“¤ì„ ë³´ë‚´ëŠ” 것ë¿ë§Œ ì•„ë‹ˆë¼ íŒ¨ì¹˜ë“¤ì„ ì œì¶œí•˜ê¸°ì „ì— ìž¬ìž‘ì„±í•˜ê³ + 간단하게(í˜¹ì€ ê°„ë‹¨í•œê²Œ 재배치하여) 하는 ê²ƒë„ ì¤‘ìš”í•˜ë‹¤. + +ì—¬ê¸°ì— ì»¤ë„ ê°œë°œìž Al Viroì˜ ì´ì•¼ê¸°ê°€ 있다. + "í•™ìƒì˜ 수학 ìˆ™ì œë¥¼ 채ì 하는 ì„ ìƒë‹˜ì„ ìƒê°í•´ë³´ë¼. ì„ ìƒë‹˜ì€ í•™ìƒë“¤ì´ + ë‹µì„ ì–»ì„때까지 ê²ªì€ ì‹œí–‰ì°©ì˜¤ë¥¼ 보길 ì›í•˜ì§€ 않는다. ì„ ìƒë‹˜ë“¤ì€ + ê°„ê²°í•˜ê³ ê°€ìž¥ ë›°ì–´ë‚œ ë‹µì„ ë³´ê¸¸ ì›í•œë‹¤. 훌ë¥í•œ í•™ìƒì€ ì´ê²ƒì„ ì•Œê³ + 마지막으로 ë‹µì„ ì–»ê¸° ì „ 중간 ê³¼ì •ë“¤ì„ ì œì¶œí•˜ì§„ 않는다. + + ì»¤ë„ ê°œë°œë„ ë§ˆì°¬ê°€ì§€ì´ë‹¤. ë©”ì¸íŠ¸ë„ˆë“¤ê³¼ ê²€í† í•˜ëŠ” ì‚¬ëžŒë“¤ì€ ë¬¸ì œë¥¼ + 풀어나가는 ê³¼ì •ì†ì— 숨겨진 ê³¼ì •ì„ ë³´ê¸¸ ì›í•˜ì§„ 않는다. ê·¸ë“¤ì€ + ê°„ê²°í•˜ê³ ë©‹ì§„ ë‹µì„ ë³´ê¸¸ ì›í•œë‹¤." + +커뮤니티와 함께 ì¼í•˜ë©° ë›°ì–´ë‚œ ë‹µì„ ì°¾ê³ ì—¬ëŸ¬ë¶„ë“¤ì˜ ì™„ì„±ë˜ì§€ ì•Šì€ ì¼ë“¤ +사ì´ì— ê· í˜•ì„ ìœ ì§€í•´ì•¼ 하는 ì–´ë ¤ì›€ì´ ìžˆì„ ìˆ˜ 있다. 그러므로 í”„ë¡œì„¸ìŠ¤ì˜ +ì´ˆë°˜ì— ì—¬ëŸ¬ë¶„ì˜ ì¼ì„ í–¥ìƒì‹œí‚¤ê¸°ìœ„í•œ í”¼ë“œë°±ì„ ì–»ëŠ” 것 ë¿ë§Œ ì•„ë‹ˆë¼ +ì—¬ëŸ¬ë¶„ë“¤ì˜ ë³€ê²½ë“¤ì„ ìž‘ì€ ë¬¶ìŒìœ¼ë¡œ ìœ ì§€í•´ì„œ 심지어는 ì—¬ëŸ¬ë¶„ì˜ ìž‘ì—…ì˜ +ëª¨ë“ ë¶€ë¶„ì´ ì§€ê¸ˆì€ í¬í•¨ë 준비가 ë˜ì–´ìžˆì§€ 않지만 ìž‘ì€ ë¶€ë¶„ì€ ì´ë¯¸ +받아들여질 수 있ë„ë¡ ìœ ì§€í•˜ëŠ” ê²ƒì´ ë°”ëžŒì§í•˜ë‹¤. + +ë˜í•œ 완성ë˜ì§€ ì•Šì•˜ê³ "ë‚˜ì¤‘ì— ìˆ˜ì •ë 것ì´ë‹¤." 와 ê°™ì€ ê²ƒë“¤ì€ í¬í•¨í•˜ëŠ” +íŒ¨ì¹˜ë“¤ì€ ë°›ì•„ë“¤ì—¬ì§€ì§€ ì•Šì„ ê²ƒì´ë¼ëŠ” ì ì„ ìœ ë…하ë¼. + +ë³€ê²½ì„ ì •ë‹¹í™”í•´ë¼ +----------------- + +ì—¬ëŸ¬ë¶„ë“¤ì˜ ë‚˜ëˆ„ì–´ì§„ íŒ¨ì¹˜ë“¤ì„ ë¦¬ëˆ…ìŠ¤ 커뮤니티가 왜 ë°˜ì˜í•´ì•¼ 하는지를 +ì•Œë„ë¡ í•˜ëŠ” ê²ƒì€ ë§¤ìš° 중요하다. 새로운 ê¸°ëŠ¥ë“¤ì´ í•„ìš”í•˜ê³ ìœ ìš©í•˜ë‹¤ëŠ” +ê²ƒì€ ë°˜ë“œì‹œ ê·¸ì— ë§žëŠ” ì´ìœ ê°€ 있어야 한다. + + +ë³€ê²½ì„ ë¬¸ì„œí™”í•´ë¼ +----------------- + +ì—¬ëŸ¬ë¶„ì´ íŒ¨ì¹˜ë¥¼ ë³´ë‚´ë ¤ í• ë•ŒëŠ” ì—¬ëŸ¬ë¶„ì´ ë¬´ì—‡ì„ ë§í•˜ë ¤ê³ 하는지를 충분히 +ìƒê°í•˜ì—¬ ì´ë©”ì¼ì„ 작성해야 한다. ì´ ì •ë³´ëŠ” 패치를 위한 ChangeLogê°€ ë +것ì´ë‹¤. ê·¸ë¦¬ê³ í•ìƒ ê·¸ ë‚´ìš©ì„ ë³´ê¸¸ ì›í•˜ëŠ” ëª¨ë“ ì‚¬ëžŒë“¤ì„ ìœ„í•´ ë³´ì¡´ë +것ì´ë‹¤. 패치는 완벽하게 다ìŒê³¼ ê°™ì€ ë‚´ìš©ë“¤ì„ í¬í•¨í•˜ì—¬ 설명해야 한다. + - ë³€ê²½ì´ ì™œ 필요한지 + - íŒ¨ì¹˜ì— ê´€í•œ ì „ì²´ 설계 어프로치 + - 구현 ìƒì„¸ë“¤ + - 테스트 결과들 + +ì´ê²ƒì´ 무엇ì¸ì§€ ë” ìžì„¸í•œ ê²ƒì„ ì•Œê³ ì‹¶ë‹¤ë©´ ë‹¤ìŒ ë¬¸ì„œì˜ ChageLog í•ì„ ë´ë¼. + "The Perfect Patch" + http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt + + + + +ì´ ëª¨ë“ ê²ƒì„ í•˜ëŠ” ê²ƒì€ ë§¤ìš° ì–´ë ¤ìš´ ì¼ì´ë‹¤. 완벽히 소화하는 ë°ëŠ” ì ì–´ë„ ëª‡ë…„ì´ +걸릴 ìˆ˜ë„ ìžˆë‹¤. ë§Žì€ ì¸ë‚´ì™€ ê²°ì˜ê°€ 필요한 계ì†ë˜ëŠ” ê°œì„ ì˜ ê³¼ì •ì´ë‹¤. 그러나 +가능한한 í¬ê¸°í•˜ì§€ ë§ë¼. ë§Žì€ ì‚¬ëžŒë“¤ì€ ì´ì „부터 í•´ì™”ë˜ ê²ƒì´ê³ ê·¸ ì‚¬ëžŒë“¤ë„ +ì •í™•í•˜ê²Œ ì—¬ëŸ¬ë¶„ë“¤ì´ ì§€ê¸ˆ ì„œ 있는 ê·¸ 곳부터 시작했었다. + + + + +---------- +"개발 프로세스"(http://linux.tar.gz/articles/2.6-development_process) ì„¹ì…˜ì„ +ìž‘ì„±í•˜ëŠ”ë° ìžˆì–´ ì°¸ê³ í• ë¬¸ì„œë¥¼ 사용하ë„ë¡ í—ˆë½í•´ì¤€ Paolo Ciarrocchiì—게 +ê°ì‚¬í•œë‹¤. ì—¬ëŸ¬ë¶„ë“¤ì´ ë§í•´ì•¼ í• ê²ƒê³¼ ë§í•´ì„œëŠ” 안ë˜ëŠ” ê²ƒì˜ ëª©ë¡ ì¤‘ ì¼ë¶€ë¥¼ ì œê³µí•´ì¤€ +Randy Dunlapê³¼ Gerrit Huizengaì—게 ê°ì‚¬í•œë‹¤. ë˜í•œ ê²€í† ì™€ ì˜ê²¬ ê·¸ë¦¬ê³ +ê³µí—Œì„ ì•„ë¼ì§€ ì•Šì€ Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, +Vojtech Pavlik, Jan Kara, Josh Boyer, Kees Cook, Andrew Morton, Andi Kleen, +Vadim Lobanov, Jesper Juhl, Adrian Bunk, Keri Harris, Frans Pop, +David A. Wheeler, Junio Hamano, Michael Kerrisk, and Alex Shepardì—ê²Œë„ ê°ì‚¬ë¥¼ ì „í•œë‹¤. +ê·¸ë“¤ì˜ ë„ì›€ì´ ì—†ì—ˆë‹¤ë©´ ì´ ë¬¸ì„œëŠ” 존재하지 ì•Šì•˜ì„ ê²ƒì´ë‹¤. + + + +ë©”ì¸íŠ¸ë„ˆ: Greg Kroah-Hartman <greg@kroah.com> -- GitLab