NOTE: This is a version of HOWTO do Linux kernel development translated into korean This document is maintained by Minchan Kim <minchan@kernel.org> 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.


์ด ๋ฌธ์„œ๋Š” HOWTO do Linux kernel development ์˜ ํ•œ๊ธ€ ๋ฒˆ์—ญ์ž…๋‹ˆ๋‹ค.

์—ญ์ž๏ผš ๊น€๋ฏผ์ฐฌ <minchan@kernel.org> ๊ฐ์ˆ˜๏ผš ์ด์ œ์ด๋ฏธ <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 C11 ํ‘œ์ค€์„ ๋”ฐ๋ฅด๋Š” ๋ฐ˜๋ฉด ํ‘œ์ค€์— ์žˆ์ง€ ์•Š์€ ๋งŽ์€ ํ™•์žฅ๊ธฐ๋Šฅ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ปค๋„์€ ํ‘œ์ค€ C ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€๋Š” ๊ด€๊ณ„์—†์ด freestanding C ํ™˜๊ฒฝ์ด์–ด์„œ C ํ‘œ์ค€์˜ ์ผ๋ถ€๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค. ์ž„์˜์˜ long long ๋‚˜๋ˆ„๊ธฐ๋‚˜ floating point๋Š” ์ง€์›๋˜์ง€ ์•Š๋Š”๋‹ค. ๋•Œ๋ก  ์ด๋Ÿฐ ์ด์œ ๋กœ ์ปค๋„์ด ๊ทธ๋Ÿฐ ํ™•์žฅ ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„ ํˆด์ฒด์ธ์„ ๊ฐ€์ง€๊ณ  ๋งŒ๋“ค์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์ด ์ดํ•ดํ•˜๊ธฐ ์–ด๋ ค์šธ ์ˆ˜๋„ ์žˆ๊ณ  ๊ฒŒ๋‹ค๊ฐ€ ๋ถˆํ–‰ํ•˜๊ฒŒ๋„ ๊ทธ๋Ÿฐ ๊ฒƒ์„ ์ •ํ™•ํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๋Š” ์–ด๋–ค ์ฐธ๊ณ ๋ฌธ์„œ๋„ ์žˆ์ง€ ์•Š๋‹ค. ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ๋Š” gcc info (info gcc)ํŽ˜์ด์ง€๋ฅผ ์‚ดํŽด๋ณด๋ผ.

์—ฌ๋Ÿฌ๋ถ„์€ ๊ธฐ์กด์˜ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๋ ค๊ณ  ํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜๋ผ. ์ฝ”๋”ฉ, ์Šคํƒ€์ผ, ํ•จ์ˆ˜์— ๊ด€ํ•œ ํ›Œ๋ฅญํ•œ ํ‘œ์ค€์„ ๊ฐ€์ง„ ์‚ฌ๋žŒ๋“ค์ด ๋ชจ์ธ ๋‹ค์–‘ํ•œ ๊ทธ๋ฃน์ด ์žˆ๋‹ค. ์ด ํ‘œ์ค€๋“ค์€ ์˜ค๋žœ๋™์•ˆ ํฌ๊ณ  ์ง€์—ญ์ ์œผ๋กœ ๋ถ„์‚ฐ๋œ ํŒ€๋“ค์— ์˜ํ•ด ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์œผ๋กœ ์ผํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์ฐพ์€ ๊ฒƒ์„ ๊ธฐ์ดˆ๋กœ ๋งŒ๋“ค์–ด์ ธ ์™”๋‹ค. ๊ทธ ํ‘œ์ค€๋“ค์€ ๋ฌธ์„œํ™”๊ฐ€ ์ž˜ ๋˜์–ด์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€๋Šฅํ•œํ•œ ๋ฏธ๋ฆฌ ๋งŽ์€ ํ‘œ์ค€๋“ค์— ๊ด€ํ•˜์—ฌ ๋ฐฐ์šฐ๋ ค๊ณ  ์‹œ๋„ํ•˜๋ผ. ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์ด๋‚˜ ์—ฌ๋Ÿฌ๋ถ„์˜ ํšŒ์‚ฌ๊ฐ€ ์ผํ•˜๋Š” ๋ฐฉ์‹์— ์ ์‘ํ•˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค.

๋ฒ•์  ๋ฌธ์ œยถ

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ์ฝ”๋“œ๋Š” GPL๋กœ ๋ฐฐํฌ(release)๋˜์—ˆ๋‹ค. ์†Œ์ŠคํŠธ๋ฆฌ์˜ ๋ฉ”์ธ ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” ๋ผ์ด์„ผ์Šค์— ๊ด€ํ•˜์—ฌ ์ƒ์„ธํ•˜๊ฒŒ ์“ฐ์—ฌ ์žˆ๋Š” COPYING์ด๋ผ๋Š” ํŒŒ์ผ์„ ๋ด๋ผ. ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ผ์ด์„ผ์‹ฑ ๊ทœ์น™๊ณผ ์†Œ์Šค ์ฝ”๋“œ ์•ˆ์˜ SPDX ์‹๋ณ„์ž ์‚ฌ์šฉ๋ฒ•์€ Documentation/process/license-rules.rst ์— ์„ค๋ช…๋˜์–ด ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ๋ผ์ด์„ผ์Šค์— ๊ด€ํ•œ ๋” ๊นŠ์€ ๋ฌธ์ œ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค๋ฉด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ๋ฌป์ง€๋ง๊ณ  ๋ณ€ํ˜ธ์‚ฌ์™€ ์—ฐ๋ฝํ•˜๋ผ. ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋“ค์— ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ณ€ํ˜ธ์‚ฌ๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฒ•์  ๋ฌธ์ œ์— ๊ด€ํ•˜์—ฌ ๊ทธ๋“ค์˜ ๋ง์— ์˜์ง€ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

GPL์— ๊ด€ํ•œ ์žฆ์€ ์งˆ๋ฌธ๋“ค๊ณผ ๋‹ต๋ณ€๋“ค์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜๋ผ.

๋ฌธ์„œยถ

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋Š” ์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ธฐ์œ„ํ•ด ํ›Œ๋ฅญํ•œ ๋‹ค์–‘ํ•œ ๋ฌธ์„œ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์ด ์ปค๋„์— ๋“ค์–ด๊ฐ€๊ฒŒ ๋  ๋•Œ, ๊ทธ ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ ์‚ฌ์šฉํ•˜๋Š”์ง€์— ๊ด€ํ•œ ์„ค๋ช…์„ ์œ„ํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฌธ์„œ ํŒŒ์ผ์„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค. ์ปค๋„์ด ์œ ์ €์ŠคํŽ˜์ด์Šค๋กœ ๋…ธ์ถœํ•˜๋Š” ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜๋ฉด ๋ณ€๊ฒฝ์„ ์„ค๋ช…ํ•˜๋Š” ๋ฉ”๋‰ด์–ผ ํŽ˜์ด์ง€๋“ค์— ๋Œ€ํ•œ ํŒจ์น˜๋‚˜ ์ •๋ณด๋ฅผ mtk.manpages@gmail.com์˜ ๋ฉ”์ธํ…Œ์ด๋„ˆ์—๊ฒŒ ๋ณด๋‚ผ ๊ฒƒ์„ ๊ถŒ์žฅํ•œ๋‹ค.

๋‹ค์Œ์€ ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ์— ์žˆ๋Š” ์ฝ์–ด์•ผ ํ•  ํŒŒ์ผ๋“ค์˜ ๋ฆฌ์ŠคํŠธ์ด๋‹ค.

Documentation/admin-guide/README.rst

์ด ํŒŒ์ผ์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์— ๊ด€ํ•˜์—ฌ ๊ฐ„๋‹จํ•œ ๋ฐฐ๊ฒฝ ์„ค๋ช…๊ณผ ์ปค๋„์„ ์„ค์ •ํ•˜๊ณ  ๋นŒ๋“œํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๊ฒƒ์„ ์„ค๋ช…ํ•œ๋‹ค. ์ปค๋„์— ์ž…๋ฌธํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ์—ฌ๊ธฐ์„œ ์‹œ์ž‘ํ•ด์•ผ ํ•œ๋‹ค.

Documentation/process/changes.rst

์ด ํŒŒ์ผ์€ ์ปค๋„์„ ์„ฑ๊ณต์ ์œผ๋กœ ๋นŒ๋“œํ•˜๊ณ  ์‹คํ–‰์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ๋‹ค์–‘ํ•œ ์†Œํ”„ํŠธ์›จ์–ด ํŒจํ‚ค์ง€๋“ค์˜ ์ตœ์†Œ ๋ฒ„์ ผ์„ ๋‚˜์—ดํ•œ๋‹ค.

Documentation/process/coding-style.rst

์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ฝ”๋”ฉ ์Šคํƒ€์ผ๊ณผ ๊ทธ๋ ‡๊ฒŒ ํ•œ ๋ช‡๋ช‡ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ๋ชจ๋“  ์ƒˆ๋กœ์šด ์ฝ”๋“œ๋Š” ์ด ๋ฌธ์„œ์— ๊ฐ€์ด๋“œ๋ผ์ธ๋“ค์„ ๋”ฐ๋ผ์•ผ ํ•œ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค์€ ์ด ๊ทœ์น™์„ ๋”ฐ๋ฅด๋Š” ํŒจ์น˜๋“ค๋งŒ์„ ๋ฐ›์•„๋“ค์ผ ๊ฒƒ์ด๊ณ  ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์ด ๊ทธ ํŒจ์น˜๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ์Šคํƒ€์ผ์ผ ๊ฒฝ์šฐ๋งŒ ์ฝ”๋“œ๋ฅผ ๊ฒ€ํ† ํ•  ๊ฒƒ์ด๋‹ค.

Documentation/process/submitting-patches.rst

์ด ํŒŒ์ผ๋“ค์€ ์„ฑ๊ณต์ ์œผ๋กœ ํŒจ์น˜๋ฅผ ๋งŒ๋“ค๊ณ  ๋ณด๋‚ด๋Š” ๋ฒ•์„ ๋‹ค์Œ์˜ ๋‚ด์šฉ๋“ค๋กœ ๊ต‰์žฅํžˆ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค(๊ทธ๋Ÿฌ๋‚˜ ๋‹ค์Œ์œผ๋กœ ํ•œ์ •๋˜์ง„ ์•Š๋Š”๋‹ค).

  • Email ๋‚ด์šฉ๋“ค

  • Email ์–‘์‹

  • ๊ทธ๊ฒƒ์„ ๋ˆ„๊ตฌ์—๊ฒŒ ๋ณด๋‚ผ์ง€

์ด๋Ÿฌํ•œ ๊ทœ์น™๋“ค์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์„ฑ๊ณต(์—ญ์ž์ฃผ: ํŒจ์น˜๊ฐ€ ๋ฐ›์•„๋“ค์—ฌ ์ง€๋Š” ๊ฒƒ)์„ ๋ณด์žฅํ•˜์ง„ ์•Š๋Š”๋‹ค(์™œ๋ƒํ•˜๋ฉด ๋ชจ๋“  ํŒจ์น˜๋“ค์€ ๋‚ด์šฉ๊ณผ ์Šคํƒ€์ผ์— ๊ด€ํ•˜์—ฌ ๋ฉด๋ฐ€ํžˆ ๊ฒ€ํ† ๋˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค). ๊ทธ๋Ÿฌ๋‚˜ ๊ทœ์น™์„ ๋”ฐ๋ฅด์ง€ ์•Š๋Š”๋‹ค๋ฉด ๊ฑฐ์˜ ์„ฑ๊ณตํ•˜์ง€๋„ ๋ชปํ•  ๊ฒƒ์ด๋‹ค.

์˜ฌ๋ฐ”๋ฅธ ํŒจ์น˜๋“ค์„ ๋งŒ๋“œ๋Š” ๋ฒ•์— ๊ด€ํ•œ ํ›Œ๋ฅญํ•œ ๋‹ค๋ฅธ ๋ฌธ์„œ๋“ค์ด ์žˆ๋‹ค.

โ€œThe Perfect Patchโ€

https://www.ozlabs.org/~akpm/stuff/tpp.txt

โ€œLinux kernel patch submission formatโ€

https://web.archive.org/web/20180829112450/http://linux.yyz.us/patch-format.html

Documentation/process/stable-api-nonsense.rst

์ด ๋ฌธ์„œ๋Š” ์˜๋„์ ์œผ๋กœ ์ปค๋„์ด ๋ถˆ๋ณ€ํ•˜๋Š” API๋ฅผ ๊ฐ–์ง€ ์•Š๋„๋ก ๊ฒฐ์ •ํ•œ ์ด์œ ๋ฅผ ์„ค๋ช…ํ•˜๋ฉฐ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํฌํ•จํ•œ๋‹ค.

  • ์„œ๋ธŒ์‹œ์Šคํ…œ shim-layer(ํ˜ธํ™˜์„ฑ์„ ์œ„ํ•ด?)

  • ์šด์˜์ฒด์ œ๋“ค๊ฐ„์˜ ๋“œ๋ผ์ด๋ฒ„ ์ด์‹์„ฑ

  • ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋‚ด์— ๋น ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋Šฆ์ถ”๋Š” ๊ฒƒ(๋˜๋Š” ๋น ๋ฅธ ๋ณ€ํ™”๋ฅผ ๋ง‰๋Š” ๊ฒƒ)

์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ๊ฐœ๋ฐœ ์ฒ ํ•™์„ ์ดํ•ดํ•˜๋Š”๋ฐ ํ•„์ˆ˜์ ์ด๋ฉฐ ๋‹ค๋ฅธ ์šด์˜์ฒด์ œ์—์„œ ๋ฆฌ๋ˆ…์Šค๋กœ ์ „ํ–ฅํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์—๊ฒŒ๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค.

Documentation/process/security-bugs.rst

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ๋ณด์•ˆ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค๋ฉด ์ด ๋ฌธ์„œ์— ๋‚˜์˜จ ๋‹จ๊ณ„์— ๋”ฐ๋ผ์„œ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์—๊ฒŒ ์•Œ๋ฆฌ๊ณ  ๊ทธ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋„๋ก ๋„์™€ ๋‹ฌ๋ผ.

Documentation/process/management-style.rst

์ด ๋ฌธ์„œ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค์ด ๊ทธ๋“ค์˜ ๋ฐฉ๋ฒ•๋ก ์— ๋…น์•„ ์žˆ๋Š” ์ •์‹ ์„ ์–ด๋–ป๊ฒŒ ๊ณต์œ ํ•˜๊ณ  ์šด์˜ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค. ์ด๊ฒƒ์€ ์ปค๋„ ๊ฐœ๋ฐœ์— ์ž…๋ฌธํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค(๋˜๋Š” ์ปค๋„ ๊ฐœ๋ฐœ์— ์ž‘์€ ํ˜ธ๊ธฐ์‹ฌ์ด๋ผ๋„ ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค)์ด ์ฝ์–ด์•ผ ํ•  ์ค‘์š”ํ•œ ๋ฌธ์„œ์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ด ๋ฌธ์„œ๋Š” ์ปค๋„ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค์˜ ๋…ํŠนํ•œ ํ–‰๋™์— ๊ด€ํ•˜์—ฌ ํ”ํžˆ ์žˆ๋Š” ์˜คํ•ด๋“ค๊ณผ ํ˜ผ๋ž€๋“ค์„ ํ•ด์†Œํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

Documentation/process/stable-kernel-rules.rst

์ด ๋ฌธ์„œ๋Š” ์•ˆ์ •์ ์ธ ์ปค๋„ ๋ฐฐํฌ๊ฐ€ ์ด๋ฃจ์–ด์ง€๋Š” ๊ทœ์น™์„ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ด๋Ÿฌํ•œ ๋ฐฐํฌ๋“ค ์ค‘ ํ•˜๋‚˜์— ๋ณ€๊ฒฝ์„ ํ•˜๊ธธ ์›ํ•œ๋‹ค๋ฉด ๋ฌด์—‡์„ ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

Documentation/process/kernel-docs.rst

์ปค๋„ ๊ฐœ๋ฐœ์— ๊ด€๊ณ„๋œ ์™ธ๋ถ€ ๋ฌธ์„œ์˜ ๋ฆฌ์ŠคํŠธ์ด๋‹ค. ์ปค๋„ ๋‚ด์˜ ํฌํ•จ๋œ ๋ฌธ์„œ๋“ค ์ค‘์— ์—ฌ๋Ÿฌ๋ถ„์ด ์ฐพ๊ณ  ์‹ถ์€ ๋ฌธ์„œ๋ฅผ ๋ฐœ๊ฒฌํ•˜์ง€ ๋ชปํ•  ๊ฒฝ์šฐ ์ด ๋ฆฌ์ŠคํŠธ๋ฅผ ์‚ดํŽด๋ณด๋ผ.

Documentation/process/applying-patches.rst

ํŒจ์น˜๊ฐ€ ๋ฌด์—‡์ด๋ฉฐ ๊ทธ๊ฒƒ์„ ์ปค๋„์˜ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋“ค์— ์–ด๋–ป๊ฒŒ ์ ์šฉํ•˜๋Š”์ง€์— ๊ด€ํ•˜์—ฌ ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋Š” ์ข‹์€ ์ž…๋ฌธ์„œ์ด๋‹ค.

์ปค๋„์€ ์†Œ์Šค ์ฝ”๋“œ ๊ทธ ์ž์ฒด์—์„œ ๋˜๋Š” ์ด๊ฒƒ๊ณผ ๊ฐ™์€ ReStructuredText ๋งˆํฌ์—… (ReST) ์„ ํ†ตํ•ด ์ž๋™์ ์œผ๋กœ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๋งŽ์€ ๋ฌธ์„œ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ด๊ฒƒ์€ ์ปค๋„ ๋‚ด์˜ API์— ๋Œ€ํ•œ ๋ชจ๋“  ์„ค๋ช…, ๊ทธ๋ฆฌ๊ณ  ๋ฝํ‚น์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฒ•์— ๊ด€ํ•œ ๊ทœ์น™์„ ํฌํ•จํ•˜๊ณ  ์žˆ๋‹ค.

๋ชจ๋“  ๊ทธ๋Ÿฐ ๋ฌธ์„œ๋“ค์€ ์ปค๋„ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ์—์„œ ๋‹ค์Œ ์ปค๋งจ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ํ†ตํ•ด PDF ๋‚˜ HTML ์˜ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค:

make pdfdocs
make htmldocs

ReST ๋งˆํฌ์—…์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์„œ๋“ค์€ Documentation/output ์— ์ƒ์„ฑ๋œ๋‹ค. ํ•ด๋‹น ๋ฌธ์„œ๋“ค์€ ๋‹ค์Œ์˜ ์ปค๋งจ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด LaTeX ์ด๋‚˜ ePub ๋กœ๋„ ๋งŒ๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค:

make latexdocs
make epubdocs

์ปค๋„ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๋Š” ๊ฒƒยถ

์—ฌ๋Ÿฌ๋ถ„์ด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์— ๊ด€ํ•˜์—ฌ ์•„๋ฌด๊ฒƒ๋„ ๋ชจ๋ฅธ๋‹ค๋ฉด Linux KernelNewbies ํ”„๋กœ์ ํŠธ๋ฅผ ๋ด์•ผ ํ•œ๋‹ค.

๊ทธ๊ณณ์€ ๊ฑฐ์˜ ๋ชจ๋“  ์ข…๋ฅ˜์˜ ๊ธฐ๋ณธ์ ์ธ ์ปค๋„ ๊ฐœ๋ฐœ ์งˆ๋ฌธ๋“ค(์งˆ๋ฌธํ•˜๊ธฐ ์ „์— ๋จผ์ € ์•„์นด์ด๋ธŒ๋ฅผ ์ฐพ์•„๋ด๋ผ. ๊ณผ๊ฑฐ์— ์ด๋ฏธ ๋‹ต๋ณ€๋˜์—ˆ์„ ์ˆ˜๋„ ์žˆ๋‹ค)์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋„์›€์ด ๋ ๋งŒํ•œ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๊ฐ€ ์žˆ๋‹ค. ๋˜ํ•œ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์งˆ๋ฌธ ํ•  ์ˆ˜ ์žˆ๋Š” IRC ์ฑ„๋„๋„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ์„ ๋ฐฐ์šฐ๋Š” ๋ฐ ์œ ์šฉํ•œ ๋ฌธ์„œ๋“ค์„ ๋ณด์œ ํ•˜๊ณ  ์žˆ๋‹ค.

์›น์‚ฌ์ดํŠธ๋Š” ์ฝ”๋“œ๊ตฌ์„ฑ, ์„œ๋ธŒ์‹œ์Šคํ…œ๋“ค, ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ํ”„๋กœ์ ํŠธ๋“ค (ํŠธ๋ฆฌ ๋‚ด, ์™ธ๋ถ€์— ์กด์žฌํ•˜๋Š”)์— ๊ด€ํ•œ ๊ธฐ๋ณธ์ ์ธ ์ •๋ณด๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋˜ํ•œ ๊ทธ๊ณณ์€ ์ปค๋„ ์ปดํŒŒ์ผ์ด๋‚˜ ํŒจ์น˜๋ฅผ ํ•˜๋Š” ๋ฒ•๊ณผ ๊ฐ™์€ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค์„ ์„ค๋ช…ํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์ด ์–ด๋””์„œ ์‹œ์ž‘ํ•ด์•ผ ํ• ์ง„ ๋ชจ๋ฅด์ง€๋งŒ ์ปค๋„ ๊ฐœ๋ฐœ ์ปค๋ฎค๋‹ˆํ‹ฐ์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ์ผ๋“ค์„ ์ฐพ๊ธธ ์›ํ•œ๋‹ค๋ฉด ๋ฆฌ๋ˆ…์Šค ์ปค๋„ Janitor ํ”„๋กœ์ ํŠธ๋ฅผ ์‚ดํŽด๋ด๋ผ.

๊ทธ๊ณณ์€ ์‹œ์ž‘ํ•˜๊ธฐ์— ํ›Œ๋ฅญํ•œ ์žฅ์†Œ์ด๋‹ค. ๊ทธ๊ณณ์€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์†Œ์Šค ํŠธ๋ฆฌ๋‚ด์— ๊ฐ„๋‹จํžˆ ์ •๋ฆฌ๋˜๊ณ  ์ˆ˜์ •๋  ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ๋“ค์— ๊ด€ํ•˜์—ฌ ์„ค๋ช…ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ด ํ”„๋กœ์ ํŠธ๋ฅผ ๋Œ€ํ‘œํ•˜๋Š” ๊ฐœ๋ฐœ์ž๋“ค๊ณผ ์ผํ•˜๋ฉด์„œ ์ž์‹ ์˜ ํŒจ์น˜๋ฅผ ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ํŠธ๋ฆฌ์— ๋ฐ˜์˜ํ•˜๊ธฐ ์œ„ํ•œ ๊ธฐ๋ณธ์ ์ธ ๊ฒƒ๋“ค์„ ๋ฐฐ์šฐ๊ฒŒ ๋ ๊ฒƒ์ด๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„์ด ์•„์ง ์•„์ด๋””์–ด๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋‹ค์Œ์— ๋ฌด์—‡์„ ํ•ด์•ผํ• ์ง€์— ๊ด€ํ•œ ๋ฐฉํ–ฅ์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค.

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ฝ”๋“œ์— ์‹ค์ œ ๋ณ€๊ฒฝ์„ ํ•˜๊ธฐ ์ „์— ๋ฐ˜๋“œ์‹œ ๊ทธ ์ฝ”๋“œ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋™์ž‘ํ•˜๋Š”์ง€ ์ดํ•ดํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํŠน์ •ํ•œ ํˆด์˜ ๋„์›€์„ ๋นŒ๋ ค์„œ๋ผ๋„ ์ฝ”๋“œ๋ฅผ ์ง์ ‘ ์ฝ๋Š” ๊ฒƒ๋ณด๋‹ค ์ข‹์€ ๊ฒƒ์€ ์—†๋‹ค(๋Œ€๋ถ€๋ถ„์˜ ์ž์ž˜ํ•œ ๋ถ€๋ถ„๋“ค์€ ์ž˜ ์ฝ”๋ฉ˜ํŠธ๋˜์–ด ์žˆ๋‹ค). ๊ทธ๋Ÿฐ ํˆด๋“ค ์ค‘์— ํŠนํžˆ ์ถ”์ฒœํ• ๋งŒํ•œ ๊ฒƒ์€ Linux Cross-Reference project์ด๋ฉฐ ๊ทธ๊ฒƒ์€ ์ž๊ธฐ ์ฐธ์กฐ ๋ฐฉ์‹์ด๋ฉฐ ์†Œ์Šค์ฝ”๋“œ๋ฅผ ์ธ๋ฑ์Šค๋œ ์›น ํŽ˜์ด์ง€๋“ค์˜ ํ˜•ํƒœ๋กœ ๋ณด์—ฌ์ค€๋‹ค. ์ตœ์‹ ์˜ ๋ฉ‹์ง„ ์ปค๋„ ์ฝ”๋“œ ์ €์žฅ์†Œ๋Š” ๋‹ค์Œ์„ ํ†ตํ•˜์—ฌ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šคยถ

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ํ˜„์žฌ ๋ช‡๋ช‡ ๋‹ค๋ฅธ ๋ฉ”์ธ ์ปค๋„ โ€œ๋ธŒ๋žœ์น˜๋“คโ€๊ณผ ์„œ๋ธŒ์‹œ์Šคํ…œ์— ํŠนํ™”๋œ ์ปค๋„ ๋ธŒ๋žœ์น˜๋“ค๋กœ ๊ตฌ์„ฑ๋œ๋‹ค. ๋ช‡๋ช‡ ๋‹ค๋ฅธ ๋ฉ”์ธ ๋ธŒ๋žœ์น˜๋“ค์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ๋ฆฌ๋ˆ„์Šค์˜ ๋ฉ”์ธ๋ผ์ธ ํŠธ๋ฆฌ

  • ์—ฌ๋Ÿฌ ๋ฉ”์ด์ € ๋„˜๋ฒ„๋ฅผ ๊ฐ–๋Š” ๋‹ค์–‘ํ•œ ์•ˆ์ •๋œ ์ปค๋„ ํŠธ๋ฆฌ๋“ค

  • ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ์œ„ํ•œ ์ปค๋„ ํŠธ๋ฆฌ๋“ค

  • ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ linux-next ์ปค๋„ ํŠธ๋ฆฌ

๋ฉ”์ธ๋ผ์ธ ํŠธ๋ฆฌยถ

๋ฉ”์ธ๋ผ์ธ ํŠธ๋ฆฌ๋Š” Linus Torvalds๊ฐ€ ๊ด€๋ฆฌํ•˜๋ฉฐ https://kernel.org ๋˜๋Š” ์†Œ์Šค ์ €์žฅ์†Œ์—์„œ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • ์ƒˆ๋กœ์šด ์ปค๋„์ด ๋ฐฐํฌ๋˜์ž๋งˆ์ž 2์ฃผ์˜ ์‹œ๊ฐ„์ด ์ฃผ์–ด์ง„๋‹ค. ์ด ๊ธฐ๊ฐ„๋™์€ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค์€ ํฐ diff๋“ค์„ Linus์—๊ฒŒ ์ œ์ถœํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๊ฐœ ์ด ํŒจ์น˜๋“ค์€ ๋ช‡ ์ฃผ ๋™์•ˆ linux-next ์ปค๋„๋‚ด์— ์ด๋ฏธ ์žˆ์—ˆ๋˜ ๊ฒƒ๋“ค์ด๋‹ค. ํฐ ๋ณ€๊ฒฝ๋“ค์„ ์ œ์ถœํ•˜๋Š” ๋ฐ ์„ ํ˜ธ๋˜๋Š” ๋ฐฉ๋ฒ•์€ git(์ปค๋„์˜ ์†Œ์Šค ๊ด€๋ฆฌ ํˆด, ๋” ๋งŽ์€ ์ •๋ณด๋“ค์€ https://git-scm.com/ ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค)๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด์ง€๋งŒ ์ˆœ์ˆ˜ํ•œ ํŒจ์น˜ํŒŒ์ผ์˜ ํ˜•์‹์œผ๋กœ ๋ณด๋‚ด๋Š” ๊ฒƒ๋„ ๋ฌด๊ด€ํ•˜๋‹ค.

  • 2์ฃผ ํ›„์— -rc1 ์ปค๋„์ด ๋ฆด๋ฆฌ์ฆˆ๋˜๋ฉฐ ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ์˜ ์ฃผ์•ˆ์ ์€ ์ƒˆ๋กœ์šด ์ปค๋„์„ ๊ฐ€๋Šฅํ•œํ•œ ์•ˆ์ •๋˜๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์ด ์‹œ์ ์—์„œ์˜ ๋Œ€๋ถ€๋ถ„์˜ ํŒจ์น˜๋“ค์€ ํšŒ๊ท€(์—ญ์ž์ฃผ: ์ด์ „์—๋Š” ์กด์žฌํ•˜์ง€ ์•Š์•˜์ง€๋งŒ ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ์ถ”๊ฐ€๋‚˜ ๋ณ€๊ฒฝ์œผ๋กœ ์ธํ•ด ์ƒ๊ฒจ๋‚œ ๋ฒ„๊ทธ)๋ฅผ ๊ณ ์ณ์•ผ ํ•œ๋‹ค. ์ด์ „๋ถ€ํ„ฐ ์กด์žฌํ•œ ๋ฒ„๊ทธ๋Š” ํšŒ๊ท€๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ, ๊ทธ๋Ÿฐ ๋ฒ„๊ทธ์— ๋Œ€ํ•œ ์ˆ˜์ •์‚ฌํ•ญ์€ ์ค‘์š”ํ•œ ๊ฒฝ์šฐ์—๋งŒ ๋ณด๋‚ด์ ธ์•ผ ํ•œ๋‹ค. ์™„์ „ํžˆ ์ƒˆ๋กœ์šด ๋“œ๋ผ์ด๋ฒ„(ํ˜น์€ ํŒŒ์ผ์‹œ์Šคํ…œ)๋Š” -rc1 ์ดํ›„์—๋งŒ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•ด๋ผ. ์™œ๋ƒํ•˜๋ฉด ๋ณ€๊ฒฝ์ด ์ž์ฒด๋‚ด์—์„œ๋งŒ ๋ฐœ์ƒํ•˜๊ณ  ์ถ”๊ฐ€๋œ ์ฝ”๋“œ๊ฐ€ ๋“œ๋ผ์ด๋ฒ„ ์™ธ๋ถ€์˜ ๋‹ค๋ฅธ ๋ถ€๋ถ„์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฏ€๋กœ ๊ทธ๋Ÿฐ ๋ณ€๊ฒฝ์€ ํšŒ๊ท€๋ฅผ ์ผ์œผํ‚ฌ ๋งŒํ•œ ์œ„ํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. -rc1์ด ๋ฐฐํฌ๋œ ์ดํ›„์— git๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํŒจ์น˜๋“ค์„ Linus์—๊ฒŒ ๋ณด๋‚ผ์ˆ˜ ์žˆ์ง€๋งŒ ํŒจ์น˜๋“ค์€ ๊ณต์‹์ ์ธ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋กœ ๋ณด๋‚ด์„œ ๊ฒ€ํ† ๋ฅผ ๋ฐ›์„ ํ•„์š”๊ฐ€ ์žˆ๋‹ค.

  • ์ƒˆ๋กœ์šด -rc๋Š” Linus๊ฐ€ ํ˜„์žฌ git tree๊ฐ€ ํ…Œ์ŠคํŠธ ํ•˜๊ธฐ์— ์ถฉ๋ถ„ํžˆ ์•ˆ์ •๋œ ์ƒํƒœ์— ์žˆ๋‹ค๊ณ  ํŒ๋‹จ๋  ๋•Œ๋งˆ๋‹ค ๋ฐฐํฌ๋œ๋‹ค. ๋ชฉํ‘œ๋Š” ์ƒˆ๋กœ์šด -rc ์ปค๋„์„ ๋งค์ฃผ ๋ฐฐํฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ์ด๋Ÿฌํ•œ ํ”„๋กœ์„ธ์Šค๋Š” ์ปค๋„์ด โ€œ์ค€๋น„(ready)โ€๋˜์—ˆ๋‹ค๊ณ  ์—ฌ๊ฒจ์งˆ๋•Œ๊นŒ์ง€ ๊ณ„์†๋œ๋‹ค. ํ”„๋กœ์„ธ์Šค๋Š” ๋Œ€์ฒด๋กœ 6์ฃผ๊ฐ„ ์ง€์†๋œ๋‹ค.

์ปค๋„ ๋ฐฐํฌ์— ์žˆ์–ด์„œ ์–ธ๊ธ‰ํ• ๋งŒํ•œ ๊ฐ€์น˜๊ฐ€ ์žˆ๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ Andrew Morton์˜ ๊ธ€์ด ์žˆ๋‹ค.

โ€œ์ปค๋„์ด ์–ธ์ œ ๋ฐฐํฌ๋ ์ง€๋Š” ์•„๋ฌด๋„ ๋ชจ๋ฅธ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋ฐฐํฌ๋Š” ์•Œ๋ ค์ง„ ๋ฒ„๊ทธ์˜ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์ด์ง€ ๋ฏธ๋ฆฌ์ •ํ•ด ๋†“์€ ์‹œ๊ฐ„์— ๋”ฐ๋ผ ๋ฐฐํฌ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.โ€

์—ฌ๋Ÿฌ ๋ฉ”์ด์ € ๋„˜๋ฒ„๋ฅผ ๊ฐ–๋Š” ๋‹ค์–‘ํ•œ ์•ˆ์ •๋œ ์ปค๋„ ํŠธ๋ฆฌ๋“คยถ

์„ธ๊ฐœ์˜ ๋ฒ„์ ผ ๋„˜๋ฒ„๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฒ„์ ผ์˜ ์ปค๋„๋“ค์€ -stable ์ปค๋„๋“ค์ด๋‹ค. ๊ทธ๊ฒƒ๋“ค์€ ํ•ด๋‹น ๋ฉ”์ด์ € ๋ฉ”์ธ๋ผ์ธ ๋ฆด๋ฆฌ์ฆˆ์—์„œ ๋ฐœ๊ฒฌ๋œ ํฐ ํšŒ๊ท€๋“ค์ด๋‚˜ ๋ณด์•ˆ ๋ฌธ์ œ๋“ค ์ค‘ ๋น„๊ต์  ์ž‘๊ณ  ์ค‘์š”ํ•œ ์ˆ˜์ •๋“ค์„ ํฌํ•จํ•œ๋‹ค. ์ฃผ์š” stable ์‹œ๋ฆฌ์ฆˆ ๋ฆด๋ฆฌ์ฆˆ๋Š” ์„ธ๋ฒˆ์งธ ๋ฒ„์ ผ ๋„˜๋ฒ„๋ฅผ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ์•ž์˜ ๋‘ ๋ฒ„์ ผ ๋„˜๋ฒ„๋Š” ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ๋‹ค.

์ด๊ฒƒ์€ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ์•ˆ์ •์ ์ธ ์ปค๋„์„ ์›ํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์ถ”์ฒœ๋˜๋Š” ๋ธŒ๋žœ์น˜์ด๋ฉฐ, ๊ฐœ๋ฐœ/์‹คํ—˜์  ๋ฒ„์ ผ์„ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์„ ๋•๊ณ ์ž ํ•˜๋Š” ์‚ฌ์šฉ์ž๋“ค๊ณผ๋Š” ๋ณ„๋กœ ๊ด€๋ จ์ด ์—†๋‹ค.

-stable ํŠธ๋ฆฌ๋“ค์€ โ€œstableโ€ ํŒ€<stable@vger.kernel.org>์— ์˜ํ•ด ๊ด€๋ฆฌ๋˜๋ฉฐ ๊ฑฐ์˜ ๋งค๋ฒˆ ๊ฒฉ์ฃผ๋กœ ๋ฐฐํฌ๋œ๋‹ค.

์ปค๋„ ํŠธ๋ฆฌ ๋ฌธ์„œ๋“ค ๋‚ด์˜ Documentation/process/stable-kernel-rules.rst ํŒŒ์ผ์€ ์–ด๋–ค ์ข…๋ฅ˜์˜ ๋ณ€๊ฒฝ๋“ค์ด -stable ํŠธ๋ฆฌ๋กœ ๋“ค์–ด์™”๋Š”์ง€์™€ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋˜๋Š”์ง€๋ฅผ ์„ค๋ช…ํ•œ๋‹ค.

์„œ๋ธŒ์‹œ์Šคํ…œ ์ปค๋„ ํŠธ๋ฆฌ๋“คยถ

๋‹ค์–‘ํ•œ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค --- ๊ทธ๋ฆฌ๊ณ  ๋งŽ์€ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ์ž๋“ค --- ์€ ๊ทธ๋“ค์˜ ํ˜„์žฌ ๊ฐœ๋ฐœ ์ƒํƒœ๋ฅผ ์†Œ์Šค ์ €์žฅ์†Œ๋กœ ๋…ธ์ถœํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค๋„ ์ปค๋„์˜ ๋‹ค๋ฅธ ์˜์—ญ์— ์–ด๋–ค ๋ณ€ํ™”๊ฐ€ ์ด๋ฃจ์–ด์ง€๊ณ  ์žˆ๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ธ‰์†ํžˆ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๋Š” ์˜์—ญ์ด ์žˆ๊ณ  ๊ทธ๋ ‡์ง€ ์•Š์€ ์˜์—ญ์ด ์žˆ์œผ๋ฏ€๋กœ, ๊ฐœ๋ฐœ์ž๋Š” ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๊ฐ€ ์ œ์ถœํ•œ ์ˆ˜์ • ์‚ฌํ•ญ๊ณผ ์ž์‹ ์˜ ์ˆ˜์ •์‚ฌํ•ญ์˜ ์ถฉ๋Œ์ด๋‚˜ ๋™์ผํ•œ ์ผ์„ ๋™์‹œ์— ๋‘์‚ฌ๋žŒ์ด ๋”ฐ๋กœ ์ง„ํ–‰ํ•˜๋Š” ์‚ฌํƒœ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ธ‰์†ํžˆ ๊ฐœ๋ฐœ์ด ์ง„ํ–‰๋˜๊ณ  ์žˆ๋Š” ์˜์—ญ์— ์ž‘์—…์˜ ๋ฒ ์ด์Šค๋ฅผ ๋งž์ถฐ์ค„ ๊ฒƒ์ด ์š”๊ตฌ๋œ๋‹ค.

๋Œ€๋ถ€๋ถ„์˜ ์ด๋Ÿฌํ•œ ์ €์žฅ์†Œ๋Š” git ํŠธ๋ฆฌ์ง€๋งŒ, git์ด ์•„๋‹Œ SCM์œผ๋กœ ๊ด€๋ฆฌ๋˜๊ฑฐ๋‚˜, quilt ์‹œ๋ฆฌ์ฆˆ๋กœ ์ œ๊ณต๋˜๋Š” ํŒจ์น˜๋“ค๋„ ์กด์žฌํ•œ๋‹ค. ์ด๋Ÿฌํ•œ ์„œ๋ธŒ์‹œ์Šคํ…œ ์ €์žฅ์†Œ๋“ค์€ MAINTAINERS ํŒŒ์ผ์— ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์€ https://git.kernel.org ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

์ œ์•ˆ๋œ ํŒจ์น˜๋Š” ์„œ๋ธŒ์‹œ์Šคํ…œ ํŠธ๋ฆฌ์— ์ปค๋ฐ‹๋˜๊ธฐ ์ „์— ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋ฅผ ํ†ตํ•ด ๋ฆฌ๋ทฐ๋œ๋‹ค(์•„๋ž˜์˜ ๊ด€๋ จ ์„น์…˜์„ ์ฐธ๊ณ ํ•˜๊ธฐ ๋ฐ”๋ž€๋‹ค). ์ผ๋ถ€ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ, ์ด ๋ฆฌ๋ทฐ ํ”„๋กœ์„ธ์Šค๋Š” patchwork๋ผ๋Š” ๋„๊ตฌ๋ฅผ ํ†ตํ•ด ์ถ”์ ๋œ๋‹ค. patchwork์€ ๋“ฑ๋ก๋œ ํŒจ์น˜์™€ ํŒจ์น˜์— ๋Œ€ํ•œ ์ฝ”๋ฉ˜ํŠธ, ํŒจ์น˜์˜ ๋ฒ„์ ผ์„ ๋ณผ ์ˆ˜ ์žˆ๋Š” ์›น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ , ๋ฉ”์ธํ…Œ์ด๋„ˆ๋Š” ํŒจ์น˜๋ฅผ ๋ฆฌ๋ทฐ ์ค‘, ๋ฆฌ๋ทฐ ํ†ต๊ณผ, ๋˜๋Š” ๋ฐ˜๋ ค๋จ์œผ๋กœ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. ๋Œ€๋ถ€๋ถ„์˜ ์ด๋Ÿฌํ•œ patchwork ์‚ฌ์ดํŠธ๋Š” https://patchwork.kernel.org/ ์— ๋‚˜์—ด๋˜์–ด ์žˆ๋‹ค.

ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ์œ„ํ•œ linux-next ์ปค๋„ ํŠธ๋ฆฌยถ

์„œ๋ธŒ์‹œ์Šคํ…œ ํŠธ๋ฆฌ๋“ค์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ๋“ค์€ mainline ํŠธ๋ฆฌ๋กœ ๋“ค์–ด์˜ค๊ธฐ ์ „์— ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ๋ชฉ์ ์œผ๋กœ, ๋ชจ๋“  ์„œ๋ธŒ์‹œ์Šคํ…œ ํŠธ๋ฆฌ์˜ ๋ณ€๊ฒฝ์‚ฌํ•ญ์„ ๊ฑฐ์˜ ๋งค์ผ ๋ฐ›์•„๊ฐ€๋Š” ํŠน์ˆ˜ํ•œ ํ…Œ์ŠคํŠธ ์ €์žฅ์†Œ๊ฐ€ ์กด์žฌํ•œ๋‹ค:

์ด๋Ÿฐ ์‹์œผ๋กœ, linux-next ์ปค๋„์„ ํ†ตํ•ด ๋‹ค์Œ ๋จธ์ง€ ๊ธฐ๊ฐ„์— ๋ฉ”์ธ๋ผ์ธ ์ปค๋„์— ์–ด๋–ค ๋ณ€๊ฒฝ์ด ๊ฐ€ํ•ด์งˆ ๊ฒƒ์ธ์ง€ ๊ฐ„๋žตํžˆ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๋ชจํ—˜์‹ฌ ๊ฐ•ํ•œ ํ…Œ์Šคํ„ฐ๋ผ๋ฉด linux-next ์ปค๋„์—์„œ ํ…Œ์ŠคํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ๋„ ์ข‹์„ ๊ฒƒ์ด๋‹ค.

๋ฒ„๊ทธ ๋ณด๊ณ ยถ

๋ฉ”์ธ ์ปค๋„ ์†Œ์Šค ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ๋Š” โ€˜Reporting issuesโ€™ ํŒŒ์ผ์€ ์ปค๋„ ๋ฒ„๊ทธ๋ผ๊ณ  ์ƒ๊ฐ๋˜๋Š” ๊ฒƒ์„ ์–ด๋–ป๊ฒŒ ๋ณด๊ณ ํ•˜๋ฉด ๋˜๋Š”์ง€, ๊ทธ๋ฆฌ๊ณ  ๋ฌธ์ œ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด์„œ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์ด ํ•„์š”๋กœ ํ•˜๋Š” ์ •๋ณด๊ฐ€ ๋ฌด์—‡๋“ค์ธ์ง€๋ฅผ ์ƒ์„ธํžˆ ์„ค๋ช…ํ•˜๊ณ  ์žˆ๋‹ค.

๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค์˜ ๊ด€๋ฆฌยถ

์—ฌ๋Ÿฌ๋ถ„์˜ ํ•ดํ‚น ๊ธฐ์ˆ ์„ ์—ฐ์Šตํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ• ์ค‘์˜ ํ•˜๋Š” ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์ด ๋ณด๊ณ ํ•œ ๋ฒ„๊ทธ๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ์ปค๋„์„ ๋”์šฑ ์•ˆ์ •ํ™”์‹œํ‚ค๋Š”๋ฐ ๋„์›€์„ ์ค„ ๋ฟ๋งŒ์ด ์•„๋‹ˆ๋ผ ์‹ค์ œ์žˆ๋Š” ๋ฌธ์ œ๋“ค์„ ์ˆ˜์ •ํ•˜๋Š” ๋ฒ•์„ ๋ฐฐ์šฐ๊ฒŒ ๋˜๊ณ  ๊ทธ์™€ ํ•จ๊ป˜ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๊ธฐ์ˆ ์€ ํ–ฅ์ƒ๋  ๊ฒƒ์ด๋ฉฐ ๋‹ค๋ฅธ ๊ฐœ๋ฐœ์ž๋“ค์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์กด์žฌ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ๋ฒ„๊ทธ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž๋“ค ์‚ฌ์ด์—์„œ ์ ์ˆ˜๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•์ค‘์˜ ํ•˜๋‚˜์ด๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์˜ ๋ฒ„๊ทธ๋“ค์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ์‹œ๊ฐ„์„ ๋‚ญ๋น„ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋ฏธ ๋ณด๊ณ ๋œ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋“ค์„ ๊ฐ€์ง€๊ณ  ์ž‘์—…ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๊ด€์‹ฌ์žˆ๋Š” ์„œ๋ธŒ์‹œ์Šคํ…œ์„ ์ฐพ์•„๋ผ. ํ•ด๋‹น ์„œ๋ธŒ์‹œ์Šคํ…œ์˜ ๋ฒ„๊ทธ๋“ค์ด ์–ด๋””๋กœ ๋ฆฌํฌํŠธ ๋˜๋Š”์ง€ MAINTAINERS ํŒŒ์ผ์„ ์ฒดํฌํ•˜๋ผ; ๊ทธ๊ฑด ๋Œ€๋ถ€๋ถ„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์ด๊ณ , ๊ฐ€๋”์€ ๋ฒ„๊ทธ ์ถ”์  ์‹œ์Šคํ…œ์ด๋‹ค. ๊ทธ ์žฅ์†Œ์— ์žˆ๋Š” ์ตœ๊ทผ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ ๊ธฐ๋ก๋“ค์„ ๊ฒ€์ƒ‰ํ•˜๊ณ  ์—ฌ๋Ÿฌ๋ถ„์ด ๋ณด๊ธฐ์— ์ ํ•ฉํ•˜๋‹ค ์‹ถ์€ ๊ฒƒ์„ ๋„์™€๋ผ. ์—ฌ๋Ÿฌ๋ถ„์€ ๋ฒ„๊ทธ ๋ฆฌํฌํŠธ๋ฅผ ์œ„ํ•ด https://bugzilla.kernel.org ๋ฅผ ์ฒดํฌํ•˜๊ณ ์ž ํ•  ์ˆ˜๋„ ์žˆ๋‹ค; ์†Œ์ˆ˜์˜ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ๋“ค๋งŒ์ด ๋ฒ„๊ทธ ์‹ ๊ณ ์™€ ์ถ”์ ์„ ์œ„ํ•ด ํ•ด๋‹น ์‹œ์Šคํ…œ์„ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋งŒ, ์ „์ฒด ์ปค๋„์˜ ๋ฒ„๊ทธ๋“ค์ด ๊ทธ๊ณณ์— ์ •๋ฆฌ๋œ๋‹ค.

๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋“คยถ

์œ„์˜ ๋ช‡๋ช‡ ๋ฌธ์„œ๋“ค์ด ์„ค๋ช…ํ•˜์˜€์ง€๋งŒ ํ•ต์‹ฌ ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์˜ ๋Œ€๋‹ค์ˆ˜๋Š” ๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ์ฐธ์—ฌํ•˜๊ณ  ์žˆ๋‹ค. ๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋กํ•˜๊ณ  ํ•ด์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ์‚ฌํ•ญ์€ ๋‹ค์Œ์—์„œ ์ฐธ์กฐํ•  ์ˆ˜ ์žˆ๋‹ค.

์›น์ƒ์˜ ๋งŽ์€ ๋‹ค๋ฅธ ๊ณณ์—๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ์•„์นด์ด๋ธŒ๋“ค์ด ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•„์นด์ด๋ธŒ๋“ค์„ ์ฐพ์œผ๋ ค๋ฉด ๊ฒ€์ƒ‰ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋ผ. ์˜ˆ๋ฅผ ๋“ค์–ด:

์—ฌ๋Ÿฌ๋ถ„์ด ์ƒˆ๋กœ์šด ๋ฌธ์ œ์— ๊ด€ํ•ด ๋ฆฌ์ŠคํŠธ์— ์˜ฌ๋ฆฌ๊ธฐ ์ „์— ๋งํ•˜๊ณ  ์‹ถ์€ ์ฃผ์ œ์— ๊ด€ํ•œ ๊ฒƒ์„ ์•„์นด์ด๋ธŒ์—์„œ ๋จผ์ € ์ฐพ์•„๋ณด๊ธฐ๋ฅผ ๊ฐ•๋ ฅํžˆ ๊ถŒ์žฅํ•œ๋‹ค. ์ด๋ฏธ ์ƒ์„ธํ•˜๊ฒŒ ํ† ๋ก ๋œ ๋งŽ์€ ๊ฒƒ๋“ค์ด ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ์•„์นด์ด๋ธŒ์— ๊ธฐ๋ก๋˜์–ด ์žˆ๋‹ค.

๊ฐ๊ฐ์˜ ์ปค๋„ ์„œ๋ธŒ์‹œ์Šคํ…œ๋“ค์˜ ๋Œ€๋ถ€๋ถ„์€ ์ž์‹ ๋“ค์˜ ๊ฐœ๋ฐœ์— ๊ด€ํ•œ ๋…ธ๋ ฅ๋“ค๋กœ ์ด๋ฃจ์–ด์ง„ ๋ถ„๋ฆฌ๋œ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ๋ฅผ ๋”ฐ๋กœ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ๋‹ค๋ฅธ ๊ทธ๋ฃน๋“ค์ด ๋ฌด์Šจ ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€๋Š” MAINTAINERS ํŒŒ์ผ์„ ์ฐธ์กฐํ•˜๋ผ.

๋งŽ์€ ๋ฆฌ์ŠคํŠธ๋“ค์€ kernel.org์—์„œ ํ˜ธ์ŠคํŠธ๋˜๊ณ  ์žˆ๋‹ค. ๊ทธ ์ •๋ณด๋“ค์€ ๋‹ค์Œ์—์„œ ์ฐธ์กฐ๋  ์ˆ˜ ์žˆ๋‹ค.

๋ฆฌ์ŠคํŠธ๋“ค์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์˜ˆ์ ˆ์„ ๋”ฐ๋ฅผ ๊ฒƒ์„ ์œ ๋…ํ•ด๋ผ. ๋Œ€๋‹จํ•˜์ง„ ์•Š์ง€๋งŒ ๋‹ค์Œ URL์€ ๋ฆฌ์ŠคํŠธ(ํ˜น์€ ๋ชจ๋“  ๋ฆฌ์ŠคํŠธ)์™€ ๋Œ€ํ™”ํ•˜๋Š” ๋ช‡๋ช‡ ๊ฐ„๋‹จํ•œ ๊ฐ€์ด๋“œ๋ผ์ธ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“ค์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฉ”์ผ์— ์‘๋‹ตํ•œ๋‹ค๋ฉด CC: ์ฆ‰ ์ˆ˜์‹  ๋ฆฌ์ŠคํŠธ๋Š” ๊ฝค ์ปค์ง€๊ฒŒ ๋  ๊ฒƒ์ด๋‹ค. ์•„๋ฌด ์ด์œ ์—†์ด CC์—์„œ ์–ด๋–ค ์‚ฌ๋žŒ๋„ ์ œ๊ฑฐํ•˜๊ฑฐ๋‚˜ ๋ฆฌ์ŠคํŠธ ์ฃผ์†Œ๋กœ๋งŒ ํšŒ์‹ ํ•˜์ง€ ๋งˆ๋ผ. ๋ฉ”์ผ์„ ๋ณด๋‚ธ ์‚ฌ๋žŒ์œผ๋กœ์„œ ํ•˜๋‚˜๋ฅผ ๋ฐ›๊ณ  ๋ฆฌ์ŠคํŠธ๋กœ๋ถ€ํ„ฐ ๋˜ ํ•˜๋‚˜๋ฅผ ๋ฐ›์•„ ๋‘๋ฒˆ ๋ฐ›๋Š” ๊ฒƒ์— ์ต์ˆ™ํ•˜์—ฌ ์žˆ์œผ๋‹ˆ mail-header๋ฅผ ์กฐ์ž‘ํ•˜๋ ค๊ณ  ํ•˜์ง€ ๋ง์•„๋ผ. ์‚ฌ๋žŒ๋“ค์€ ๊ทธ๋Ÿฐ ๊ฒƒ์„ ์ข‹์•„ํ•˜์ง€ ์•Š์„ ๊ฒƒ์ด๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์˜ ํšŒ์‹ ์˜ ๋ฌธ๋งฅ์„ ์›๋ž˜๋Œ€๋กœ ์œ ์ง€ํ•ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ํšŒ์‹ ์˜ ์œ—๋ถ€๋ถ„์— โ€œJohn ์ปค๋„ํ•ด์ปค๋Š” ์ž‘์„ฑํ–ˆ๋‹ค....โ€๋ฅผ ์œ ์ง€ํ•˜๋ฉฐ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์˜๊ฒฌ์„ ๊ทธ ๋ฉ”์ผ์˜ ์œ—๋ถ€๋ถ„์— ์ž‘์„ฑํ•˜์ง€ ๋ง๊ณ  ๊ฐ ์ธ์šฉํ•œ ๋‹จ๋ฝ๋“ค ์‚ฌ์ด์— ๋„ฃ์–ด๋ผ.

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ํŒจ์น˜๋“ค์„ ๋ฉ”์ผ์— ๋„ฃ๋Š”๋‹ค๋ฉด ๊ทธ๊ฒƒ๋“ค์€ Documentation/process/submitting-patches.rst ์— ๋‚˜์™€์žˆ๋Š”๋ฐ๋กœ ๋ช…๋ฐฑํžˆ(plain) ์ฝ์„ ์ˆ˜ ์žˆ๋Š” ํ…์ŠคํŠธ์—ฌ์•ผ ํ•œ๋‹ค. ์ปค๋„ ๊ฐœ๋ฐœ์ž๋“ค์€ ์ฒจ๋ถ€ํŒŒ์ผ์ด๋‚˜ ์••์ถ•๋œ ํŒจ์น˜๋“ค์„ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ํŒจ์น˜์˜ ๊ฐ ๋ผ์ธ ๋‹จ์œ„๋กœ ์ฝ”๋ฉ˜ํŠธ๋ฅผ ํ•˜๊ธธ ์›ํ•˜๋ฉฐ ์••์ถ•ํ•˜๊ฑฐ๋‚˜ ์ฒจ๋ถ€ํ•˜์ง€ ์•Š๊ณ  ๋ณด๋‚ด๋Š” ๊ฒƒ์ด ๊ทธ๋ ‡๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์‚ฌ์šฉํ•˜๋Š” ๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ์ด ์ŠคํŽ˜์ด์Šค๋‚˜ ํƒญ ๋ฌธ์ž๋“ค์„ ์กฐ์ž‘ํ•˜์ง€ ์•Š๋Š”์ง€ ํ™•์ธํ•˜๋ผ. ๊ฐ€์žฅ ์ข‹์€ ์ฒซ ํ…Œ์ŠคํŠธ๋Š” ๋ฉ”์ผ์„ ์ž์‹ ์—๊ฒŒ ๋ณด๋‚ด๋ณด๊ณ  ์Šค์Šค๋กœ ๊ทธ ํŒจ์น˜๋ฅผ ์ ์šฉํ•ด๋ณด๋ผ. ๊ทธ๊ฒƒ์ด ๋™์ž‘ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์—ฌ๋Ÿฌ๋ถ„์˜ ๋ฉ”์ผ ํ”„๋กœ๊ทธ๋žจ์„ ๊ณ ์น˜๋˜๊ฐ€ ์ œ๋Œ€๋กœ ๋™์ž‘ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๋ฐ”๊พธ์–ด๋ผ.

๋ฌด์—‡๋ณด๋‹ค๋„ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์˜ ๋‹ค๋ฅธ ๊ตฌ๋…์ž๋“ค์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋ ค ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๊ธฐ์–ตํ•˜๋ผ.

์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜๋Š” ๋ฒ•ยถ

์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์˜ ๋ชฉ์ ์€ ๊ฐ€๋Šฅํ•œํ•œ ๊ฐ€์žฅ ์ข‹์€ ์ปค๋„์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฐ›์•„๋“ค์—ฌ์งˆ ํŒจ์น˜๋ฅผ ์ œ์ถœํ•˜๊ฒŒ ๋˜๋ฉด ๊ทธ ํŒจ์น˜์˜ ๊ธฐ์ˆ ์ ์ธ ์ด์ ์œผ๋กœ ๊ฒ€ํ† ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿผ ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ๋ฌด์—‡์„ ๊ธฐ๋Œ€ํ•˜๊ณ  ์žˆ์–ด์•ผ ํ•˜๋Š”๊ฐ€?

  • ๋น„ํŒ

  • ์˜๊ฒฌ

  • ๋ณ€๊ฒฝ์„ ์œ„ํ•œ ์š”๊ตฌ

  • ๋‹น์œ„์„ฑ์„ ์œ„ํ•œ ์š”๊ตฌ

  • ์นจ๋ฌต

๊ธฐ์–ตํ•˜๋ผ. ์ด๊ฒƒ๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ์ปค๋„๋กœ ๋“ค์–ด๊ฐ€๊ธฐ ์œ„ํ•œ ๊ณผ์ •์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๋“ค์€ ๋น„ํŒ๊ณผ ๋‹ค๋ฅธ ์˜๊ฒฌ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ณ  ๊ทธ๊ฒƒ๋“ค์„ ๊ธฐ์ˆ ์ ์ธ ๋ ˆ๋ฒจ๋กœ ํ‰๊ฐ€ํ•˜๊ณ  ์žฌ์ž‘์—…ํ•˜๊ฑฐ๋‚˜ ๋˜๋Š” ์™œ ์ˆ˜์ •ํ•˜๋ฉด ์•ˆ๋˜๋Š”์ง€์— ๊ด€ํ•˜์—ฌ ๋ช…๋ฃŒํ•˜๊ณ  ๊ฐ„๊ฒฐํ•œ ์ด์œ ๋ฅผ ๋งํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ œ์ถœํ•œ ๊ฒƒ์— ์–ด๋–ค ์‘๋‹ต๋„ ์žˆ์ง€ ์•Š๋‹ค๋ฉด ๋ช‡ ์ผ์„ ๊ธฐ๋‹ค๋ ค๋ณด๊ณ  ๋‹ค์‹œ ์‹œ๋„ํ•ด๋ผ. ๋•Œ๋ก  ๋„ˆ๋ฌด ๋งŽ์€ ๋ฉ”์ผ๋“ค ์†์— ๋ฌปํ˜€๋ฒ„๋ฆฌ๊ธฐ๋„ ํ•œ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์€ ๋ฌด์—‡์„ ํ•ด์„œ๋Š” ์•ˆ๋˜๋Š”๊ฐ€?

  • ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ์•„๋ฌด ์งˆ๋ฌธ ์—†์ด ๋ฐ›์•„๋“ค์—ฌ์ง€๊ธฐ๋ฅผ ๊ธฐ๋Œ€ํ•˜๋Š” ๊ฒƒ

  • ๋ฐฉ์–ด์ ์ด ๋˜๋Š” ๊ฒƒ

  • ์˜๊ฒฌ์„ ๋ฌด์‹œํ•˜๋Š” ๊ฒƒ

  • ์š”์ฒญ๋œ ๋ณ€๊ฒฝ์„ ํ•˜์ง€ ์•Š๊ณ  ํŒจ์น˜๋ฅผ ๋‹ค์‹œ ์ œ์ถœํ•˜๋Š” ๊ฒƒ

๊ฐ€๋Šฅํ•œํ•œ ๊ฐ€์žฅ ์ข‹์€ ๊ธฐ์ˆ ์ ์ธ ํ•ด๋‹ต์„ ์ฐพ๊ณ  ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ์—์„œ๋Š” ํ•ญ์ƒ ์–ด๋–ค ํŒจ์น˜๊ฐ€ ์–ผ๋งˆ๋‚˜ ์ข‹์€์ง€์— ๊ด€ํ•˜์—ฌ ๋‹ค๋ฅธ ์˜๊ฒฌ๋“ค์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ํ˜‘์กฐ์ ์ด์–ด์•ผ ํ•˜๊ณ  ๊ธฐ๊บผ์ด ์—ฌ๋Ÿฌ๋ถ„์˜ ์ƒ๊ฐ์„ ์ปค๋„ ๋‚ด์— ๋งž์ถ”์–ด์•ผ ํ•œ๋‹ค. ์•„๋‹ˆ๋ฉด ์ ์–ด๋„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ฒƒ์ด ๊ฐ€์น˜์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์ฆ๋ช…ํ•˜์—ฌ์•ผ ํ•œ๋‹ค. ์ž˜๋ชป๋œ ๊ฒƒ๋„ ์—ฌ๋Ÿฌ๋ถ„์ด ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉํ–ฅ์˜ ํ•ด๊ฒฐ์ฑ…์œผ๋กœ ์ด๋Œ์–ด๊ฐˆ ์˜์ง€๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ฐ›์•„๋“ค์—ฌ์งˆ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ๊ธฐ์–ตํ•˜๋ผ.

์—ฌ๋Ÿฌ๋ถ„์˜ ์ฒซ ํŒจ์น˜์— ์—ฌ๋Ÿฌ๋ถ„์ด ์ˆ˜์ •ํ•ด์•ผํ•˜๋Š” ์‹ญ์—ฌ๊ฐœ ์ •๋„์˜ ํšŒ์‹ ์ด ์˜ค๋Š” ๊ฒฝ์šฐ๋„ ํ”ํ•˜๋‹ค. ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๊ฐ€ ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ณ  ๊ฐœ์ธ์ ์œผ๋กœ ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ๊ฐ์ •์ด ์žˆ์–ด์„œ ๊ทธ๋Ÿฌ๋Š” ๊ฒƒ๋„ ์•„๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜์— ์ œ๊ธฐ๋œ ๋ฌธ์ œ๋“ค์„ ์ˆ˜์ •ํ•˜๊ณ  ๊ทธ๊ฒƒ์„ ๋‹ค์‹œ ๋ณด๋‚ด๋ผ.

์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ๊ธฐ์—… ์กฐ์ง๊ฐ„์˜ ์ฐจ์ด์ ยถ

์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ๊ฐ€์žฅ ์ „ํ†ต์ ์ธ ํšŒ์‚ฌ์˜ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๊ณผ๋Š” ๋‹ค๋ฅด๋‹ค. ์—ฌ๊ธฐ์— ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋ฌธ์ œ๋ฅผ ํ”ผํ•˜๊ธฐ ์œ„ํ•œ ๋ชฉ๋ก์ด ์žˆ๋‹ค.

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ œ์•ˆํ•œ ๋ณ€๊ฒฝ๋“ค์— ๊ด€ํ•˜์—ฌ ๋งํ•  ๋•Œ ์ข‹์€ ๊ฒƒ๋“ค :

  • โ€œ์ด๊ฒƒ์€ ์—ฌ๋Ÿฌ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค.โ€

  • โ€œ์ด๊ฒƒ์€ 2000 ๋ผ์ธ์˜ ์ฝ”๋“œ๋ฅผ ์ค„์ž…๋‹ˆ๋‹ค.โ€

  • โ€œ์ด๊ฒƒ์€ ๋‚ด๊ฐ€ ๋งํ•˜๋ ค๋Š” ๊ฒƒ์— ๊ด€ํ•ด ์„ค๋ช…ํ•˜๋Š” ํŒจ์น˜์ž…๋‹ˆ๋‹ค.โ€

  • โ€œ๋‚˜๋Š” 5๊ฐœ์˜ ๋‹ค๋ฅธ ์•„ํ‚คํ…์ณ์—์„œ ๊ทธ๊ฒƒ์„ ํ…Œ์ŠคํŠธ ํ–ˆ์œผ๋ฏ€๋กœ...โ€

  • โ€œ์—ฌ๊ธฐ์— ์ผ๋ จ์˜ ์ž‘์€ ํŒจ์น˜๋“ค์ด ์žˆ์œผ๋ฏ€๋กœ...โ€

  • โ€œ์ด๊ฒƒ์€ ์ผ๋ฐ˜์ ์ธ ๋จธ์‹ ์—์„œ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒํ•จ์œผ๋กœ...โ€

์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ๋งํ•  ๋•Œ ํ”ผํ•ด์•ผ ํ•  ์ข‹์ง€ ์•Š์€ ๊ฒƒ๋“ค :

  • โ€œ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ AIX/ptx/Solaris์—์„œ ์ด๋Ÿฌํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ–ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ๊ทธ๊ฒƒ์€ ์ข‹์€ ๊ฒƒ์ž„์— ํ‹€๋ฆผ์—†๋‹ค...โ€

  • โ€œ๋‚˜๋Š” 20๋…„๋™์•ˆ ์ด๊ฒƒ์„ ํ•ด์™”๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ...โ€

  • โ€œ์ด๊ฒƒ์€ ๋ˆ์„ ๋ฒŒ๊ธฐ์œ„ํ•ด ๋‚˜์˜ ํšŒ์‚ฌ๊ฐ€ ํ•„์š”๋กœ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.โ€

  • โ€œ์ด๊ฒƒ์€ ์šฐ๋ฆฌ์˜ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ์ƒํ’ˆ ๋ผ์ธ์„ ์œ„ํ•œ ๊ฒƒ์ด๋‹ค.โ€

  • โ€œ์—ฌ๊ธฐ์— ๋‚˜์˜ ์ƒ๊ฐ์„ ๋งํ•˜๊ณ  ์žˆ๋Š” 1000 ํŽ˜์ด์ง€ ์„ค๊ณ„ ๋ฌธ์„œ๊ฐ€ ์žˆ๋‹ค.โ€

  • โ€œ๋‚˜๋Š” 6๋‹ฌ๋™์•ˆ ์ด๊ฒƒ์„ ํ–ˆ์œผ๋‹ˆ...โ€

  • โ€œ์—ฌ๊ธฐ์— 5000 ๋ผ์ธ ์งœ๋ฆฌ ํŒจ์น˜๊ฐ€ ์žˆ์œผ๋‹ˆ...โ€

  • โ€œ๋‚˜๋Š” ํ˜„์žฌ ๋’ค์ฃฝ๋ฐ•์ฃฝ์ธ ๊ฒƒ์„ ์žฌ์ž‘์„ฑํ–ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์—...โ€

  • โ€œ๋‚˜๋Š” ๋งˆ๊ฐ์‹œํ•œ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด ํŒจ์น˜๋Š” ์ง€๊ธˆ ์ ์šฉ๋  ํ•„์š”๊ฐ€ ์žˆ๋‹ค.โ€

์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์ „ํ†ต์ ์ธ ์†Œํ”„ํŠธ์›จ์–ด ์—”์ง€๋‹ˆ์–ด๋ง ๊ฐœ๋ฐœ ํ™˜๊ฒฝ๋“ค๊ณผ ๋˜ ๋‹ค๋ฅธ ์ ์€ ์–ผ๊ตด์„ ๋ณด์ง€ ์•Š๊ณ  ์ผํ•œ๋‹ค๋Š” ์ ์ด๋‹ค. ์ด๋ฉ”์ผ๊ณผ irc๋ฅผ ๋Œ€ํ™”์˜ ์ฃผ์š”์ˆ˜๋‹จ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์˜ ํ•œ๊ฐ€์ง€ ์žฅ์ ์€ ์„ฑ๋ณ„์ด๋‚˜ ์ธ์ข…์˜ ์ฐจ๋ณ„์ด ์—†๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์˜ ์ž‘์—… ํ™˜๊ฒฝ์—์„œ๋Š” ๋‹จ์ง€ ์ด๋ฉ”์ผ ์ฃผ์†Œ๋งŒ ์•Œ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์—ฌ์„ฑ๊ณผ ์†Œ์ˆ˜ ๋ฏผ์กฑ๋“ค๋„ ๋ชจ๋‘ ๋ฐ›์•„๋“ค์—ฌ์ง„๋‹ค. ๊ตญ์ œ์ ์œผ๋กœ ์ผํ•˜๊ฒŒ ๋˜๋Š” ์ธก๋ฉด์€ ์‚ฌ๋žŒ์˜ ์ด๋ฆ„์— ๊ทผ๊ฑฐํ•˜์—ฌ ์„ฑ๋ณ„์„ ์ถ”์ธกํ•  ์ˆ˜ ์—†๊ฒŒ ํ•˜๊ธฐ๋•Œ๋ฌธ์— ์ฐจ๋ณ„์„ ์—†์• ๋Š” ๋ฐ ๋„์›€์„ ์ค€๋‹ค. Andrea๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ๋‚จ์ž์™€ Pat์ด๋ผ๋Š” ์ด๋ฆ„์„ ๊ฐ€์ง„ ์—ฌ์ž๊ฐ€ ์žˆ์„ ์ˆ˜๋„ ์žˆ๋Š” ๊ฒƒ์ด๋‹ค. ๋ฆฌ๋ˆ…์Šค ์ปค๋„์—์„œ ์ž‘์—…ํ•˜๋ฉฐ ์ƒ๊ฐ์„ ํ‘œํ˜„ํ•ด์™”๋˜ ๋Œ€๋ถ€๋ถ„์˜ ์—ฌ์„ฑ๋“ค์€ ๊ธ์ •์ ์ธ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

์–ธ์–ด ์žฅ๋ฒฝ์€ ์˜์–ด์— ์ต์ˆ™ํ•˜์ง€ ์•Š์€ ๋ช‡๋ช‡ ์‚ฌ๋žŒ๋“ค์—๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜๋„ ์žˆ๋‹ค. ์–ธ์–ด์˜ ํ›Œ๋ฅญํ•œ ๊ตฌ์‚ฌ๋Š” ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์—์„œ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž์‹ ์˜ ์ƒ๊ฐ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ํ•„์š”ํ•˜๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ๋ถ„์€ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด๊ธฐ ์ „์— ์˜์–ด๋ฅผ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š”์ง€๋ฅผ ์ฒดํฌํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

์—ฌ๋Ÿฌ๋ถ„์˜ ๋ณ€๊ฒฝ์„ ๋‚˜๋ˆ„์–ด๋ผยถ

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ์ปค๋ฎค๋‹ˆํ‹ฐ๋Š” ํ•œ๊บผ๋ฒˆ์— ๊ต‰์žฅํžˆ ํฐ ์ฝ”๋“œ์˜ ๋ฌถ์Œ(chunk)์„ ์‰ฝ๊ฒŒ ๋ฐ›์•„๋“ค์ด์ง€ ์•Š๋Š”๋‹ค. ๋ณ€๊ฒฝ์€ ์ ์ ˆํ•˜๊ฒŒ ์†Œ๊ฐœ๋˜๊ณ , ๊ฒ€ํ† ๋˜๊ณ , ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„์œผ๋กœ ์ž‘๊ฒŒ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•œ๋‹ค. ์ด๊ฒƒ์€ ํšŒ์‚ฌ์—์„œ ํ•˜๋Š” ๊ฒƒ๊ณผ๋Š” ์ •ํ™•ํžˆ ๋ฐ˜๋Œ€๋˜๋Š” ๊ฒƒ์ด๋‹ค. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ œ์•ˆ์€ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ์ผ์ฐ์ด ์†Œ๊ฐœ๋˜์•ผ ํ•œ๋‹ค. ๊ทธ๋ž˜์„œ ์—ฌ๋Ÿฌ๋ถ„๋“ค์€ ์ž์‹ ์ด ํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์— ๊ด€ํ•˜์—ฌ ํ”ผ๋“œ๋ฐฑ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค. ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ•จ๊ป˜ ์ผํ•˜๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋А๋ผ๋„๋ก ๋งŒ๋“ค๊ณ  ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ธฐ๋Šฅ์„ ์œ„ํ•œ ์“ฐ๋ ˆ๊ธฐ ์žฅ์œผ๋กœ์จ ์‚ฌ์šฉ๋˜์ง€ ์•Š๊ณ  ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋А๋ผ๊ฒŒ ํ•˜์ž. ๊ทธ๋Ÿฌ๋‚˜ ๋ฉ”์ผ๋ง ๋ฆฌ์ŠคํŠธ์— ํ•œ๋ฒˆ์— 50๊ฐœ์˜ ์ด๋ฉ”์ผ์„ ๋ณด๋‚ด์ง€๋Š” ๋ง์•„๋ผ. ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ์ผ๋ จ์˜ ํŒจ์น˜๋“ค์€ ํ•ญ์ƒ ๋” ์ž‘์•„์•ผ ํ•œ๋‹ค.

ํŒจ์น˜๋ฅผ ๋‚˜๋ˆ„๋Š” ์ด์œ ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ž‘์€ ํŒจ์น˜๋“ค์€ ์—ฌ๋Ÿฌ๋ถ„์˜ ํŒจ์น˜๋“ค์ด ์ ์šฉ๋  ์ˆ˜ ์žˆ๋Š” ํ™•๋ฅ ์„ ๋†’์—ฌ์ค€๋‹ค. ์™œ๋ƒํ•˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ๋“ค์€ ์ •ํ™•์„ฑ์„ ๊ฒ€์ฆํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋งŽ์€ ์‹œ๊ฐ„๊ณผ ๋…ธ๋ ฅ์„ ๋“ค์ด๊ธฐ๋ฅผ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. 5์ค„์˜ ํŒจ์น˜๋Š” ๋ฉ”์ธํ…Œ์ด๋„ˆ๊ฐ€ ๊ฑฐ์˜ ๋ช‡ ์ดˆ๊ฐ„ ํž๋— ๋ณด๋ฉด ์ ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ 500 ์ค„์˜ ํŒจ์น˜๋Š” ์ •ํ™•์„ฑ์„ ๊ฒ€ํ† ํ•˜๊ธฐ ์œ„ํ•˜์—ฌ ๋ช‡์‹œ๊ฐ„์ด ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค(๊ฑธ๋ฆฌ๋Š” ์‹œ๊ฐ„์€ ํŒจ์น˜์˜ ํฌ๊ธฐ ํ˜น์€ ๋‹ค๋ฅธ ๊ฒƒ์— ๋น„๋ก€ํ•˜์—ฌ ๊ธฐํ•˜๊ธ‰์ˆ˜์ ์œผ๋กœ ๋Š˜์–ด๋‚œ๋‹ค).

    ํŒจ์น˜๋ฅผ ์ž‘๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋ฌด์—‡์ธ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ์„ ๋•Œ ๋””๋ฒ„๊ทธํ•˜๋Š” ๊ฒƒ์„ ์‰ฝ๊ฒŒ ๋งŒ๋“ ๋‹ค. ์ฆ‰, ๊ทธ๋ ‡๊ฒŒ ๋งŒ๋“œ๋Š” ๊ฒƒ์€ ๋งค์šฐ ํฐ ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ ํ›„์— ์กฐ์‚ฌํ•˜๋Š” ๊ฒƒ ๋ณด๋‹ค ์ž‘์€ ํŒจ์น˜๋ฅผ ์ ์šฉํ•œ ํ›„์— (๊ทธ๋ฆฌ๊ณ  ๋ช‡๋ช‡์˜ ๊ฒƒ์ด ๊นจ์กŒ์„ ๋•Œ) ํ•˜๋‚˜์”ฉ ํŒจ์น˜๋“ค์„ ์ œ๊ฑฐํ•ด๊ฐ€๋ฉฐ ๋””๋ฒ„๊ทธ ํ•˜๊ธฐ ์‰ฝ๋„๋ก ๋งŒ๋“ค์–ด ์ค€๋‹ค.

  2. ์ž‘์€ ํŒจ์น˜๋“ค์„ ๋ณด๋‚ด๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํŒจ์น˜๋“ค์„ ์ œ์ถœํ•˜๊ธฐ์ „์— ์žฌ์ž‘์„ฑํ•˜๊ณ  ๊ฐ„๋‹จํ•˜๊ฒŒ(ํ˜น์€ ๊ฐ„๋‹จํ•œ๊ฒŒ ์žฌ๋ฐฐ์น˜ํ•˜์—ฌ) ํ•˜๋Š” ๊ฒƒ๋„ ์ค‘์š”ํ•˜๋‹ค.

์—ฌ๊ธฐ์— ์ปค๋„ ๊ฐœ๋ฐœ์ž Al Viro์˜ ์ด์•ผ๊ธฐ๊ฐ€ ์žˆ๋‹ค.

โ€œํ•™์ƒ์˜ ์ˆ˜ํ•™ ์ˆ™์ œ๋ฅผ ์ฑ„์ ํ•˜๋Š” ์„ ์ƒ๋‹˜์„ ์ƒ๊ฐํ•ด๋ณด๋ผ. ์„ ์ƒ๋‹˜์€ ํ•™์ƒ๋“ค์ด ๋‹ต์„ ์–ป์„๋•Œ๊นŒ์ง€ ๊ฒช์€ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ๋ณด๊ธธ ์›ํ•˜์ง€ ์•Š๋Š”๋‹ค. ์„ ์ƒ๋‹˜๋“ค์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๊ฐ€์žฅ ๋›ฐ์–ด๋‚œ ๋‹ต์„ ๋ณด๊ธธ ์›ํ•œ๋‹ค. ํ›Œ๋ฅญํ•œ ํ•™์ƒ์€ ์ด๊ฒƒ์„ ์•Œ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ๋‹ต์„ ์–ป๊ธฐ ์ „ ์ค‘๊ฐ„ ๊ณผ์ •๋“ค์„ ์ œ์ถœํ•˜์ง„ ์•Š๋Š”๋‹ค.

์ปค๋„ ๊ฐœ๋ฐœ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค. ๋ฉ”์ธํ…Œ์ด๋„ˆ๋“ค๊ณผ ๊ฒ€ํ† ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์€ ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋‚˜๊ฐ€๋Š” ๊ณผ์ •์†์— ์ˆจ๊ฒจ์ง„ ๊ณผ์ •์„ ๋ณด๊ธธ ์›ํ•˜์ง„ ์•Š๋Š”๋‹ค. ๊ทธ๋“ค์€ ๊ฐ„๊ฒฐํ•˜๊ณ  ๋ฉ‹์ง„ ๋‹ต์„ ๋ณด๊ธธ ์›ํ•œ๋‹ค.โ€

์ปค๋ฎค๋‹ˆํ‹ฐ์™€ ํ˜‘๋ ฅํ•˜๋ฉฐ ๋›ฐ์–ด๋‚œ ๋‹ต์„ ์ฐพ๋Š” ๊ฒƒ๊ณผ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋๋งˆ์น˜์ง€ ๋ชปํ•œ ์ž‘์—…๋“ค ์‚ฌ์ด์— ๊ท ํ˜•์„ ์œ ์ง€ํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ์€ ์–ด๋ ค์šธ์ง€๋„ ๋ชจ๋ฅธ๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ ํ”„๋กœ์„ธ์Šค์˜ ์ดˆ๋ฐ˜์— ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž‘์—…์„ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ์œ„ํ•œ ํ”ผ๋“œ๋ฐฑ์„ ์–ป๋Š” ๊ฒƒ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋ณ€๊ฒฝ๋“ค์„ ์ž‘์€ ๋ฌถ์Œ์œผ๋กœ ์œ ์ง€ํ•ด์„œ ์‹ฌ์ง€์–ด๋Š” ์—ฌ๋Ÿฌ๋ถ„์˜ ์ž‘์—…์˜ ๋ชจ๋“  ๋ถ€๋ถ„์ด ์ง€๊ธˆ์€ ํฌํ•จ๋  ์ค€๋น„๊ฐ€ ๋˜์–ด์žˆ์ง€ ์•Š์ง€๋งŒ ์ž‘์€ ๋ถ€๋ถ„์€ ๋ฒŒ์จ ๋ฐ›์•„๋“ค์—ฌ์งˆ ์ˆ˜ ์žˆ๋„๋ก ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ๋ฐ”๋žŒ์งํ•˜๋‹ค.

๋˜ํ•œ ์™„์„ฑ๋˜์ง€ ์•Š์•˜๊ณ  โ€œ๋‚˜์ค‘์— ์ˆ˜์ •๋  ๊ฒƒ์ด๋‹ค.โ€ ์™€ ๊ฐ™์€ ๊ฒƒ๋“ค์„ ํฌํ•จํ•˜๋Š” ํŒจ์น˜๋“ค์€ ๋ฐ›์•„๋“ค์—ฌ์ง€์ง€ ์•Š์„ ๊ฒƒ์ด๋ผ๋Š” ์ ์„ ์œ ๋…ํ•˜๋ผ.

๋ณ€๊ฒฝ์„ ์ •๋‹นํ™”ํ•ด๋ผยถ

์—ฌ๋Ÿฌ๋ถ„๋“ค์˜ ๋‚˜๋ˆ„์–ด์ง„ ํŒจ์น˜๋“ค์„ ๋ฆฌ๋ˆ…์Šค ์ปค๋ฎค๋‹ˆํ‹ฐ๊ฐ€ ์™œ ๋ฐ˜์˜ํ•ด์•ผ ํ•˜๋Š”์ง€๋ฅผ ์•Œ๋„๋ก ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•˜๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ๋Šฅ๋“ค์ด ํ•„์š”ํ•˜๊ณ  ์œ ์šฉํ•˜๋‹ค๋Š” ๊ฒƒ์€ ๋ฐ˜๋“œ์‹œ ๊ทธ์— ํ•ฉ๋‹นํ•œ ์ด์œ ๊ฐ€ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋ณ€๊ฒฝ์„ ๋ฌธ์„œํ™”ํ•ด๋ผยถ

์—ฌ๋Ÿฌ๋ถ„์ด ํŒจ์น˜๋ฅผ ๋ณด๋‚ด๋ ค ํ• ๋•Œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ๋ฌด์—‡์„ ๋งํ•˜๋ ค๊ณ  ํ•˜๋Š”์ง€๋ฅผ ์ถฉ๋ถ„ํžˆ ์ƒ๊ฐํ•˜์—ฌ ์ด๋ฉ”์ผ์„ ์ž‘์„ฑํ•ด์•ผ ํ•œ๋‹ค. ์ด ์ •๋ณด๋Š” ํŒจ์น˜๋ฅผ ์œ„ํ•œ ChangeLog๊ฐ€ ๋  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ•ญ์ƒ ๊ทธ ๋‚ด์šฉ์„ ๋ณด๊ธธ ์›ํ•˜๋Š” ๋ชจ๋“  ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋ณด์กด๋  ๊ฒƒ์ด๋‹ค. ํŒจ์น˜๋Š” ์™„๋ฒฝํ•˜๊ฒŒ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ๋“ค์„ ํฌํ•จํ•˜์—ฌ ์„ค๋ช…ํ•ด์•ผ ํ•œ๋‹ค.

  • ๋ณ€๊ฒฝ์ด ์™œ ํ•„์š”ํ•œ์ง€

  • ํŒจ์น˜์— ๊ด€ํ•œ ์ „์ฒด ์„ค๊ณ„ ์ ‘๊ทผ(approach)

  • ๊ตฌํ˜„ ์ƒ์„ธ๋“ค

  • ํ…Œ์ŠคํŠธ ๊ฒฐ๊ณผ๋“ค

์ด๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ๋” ์ž์„ธํ•œ ๊ฒƒ์„ ์•Œ๊ณ  ์‹ถ๋‹ค๋ฉด ๋‹ค์Œ ๋ฌธ์„œ์˜ ChageLog ํ•ญ์„ ๋ด๋ผ.

โ€œThe Perfect Patchโ€

์ด ๋ชจ๋“  ๊ฒƒ์„ ํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์–ด๋ ค์šด ์ผ์ด๋‹ค. ์™„๋ฒฝํžˆ ์†Œํ™”ํ•˜๋Š” ๋ฐ๋Š” ์ ์–ด๋„ ๋ช‡๋…„์ด ๊ฑธ๋ฆด ์ˆ˜๋„ ์žˆ๋‹ค. ๋งŽ์€ ์ธ๋‚ด์™€ ๊ฒฐ์‹ฌ์ด ํ•„์š”ํ•œ ๊ณ„์†๋˜๋Š” ๊ฐœ์„ ์˜ ๊ณผ์ •์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ฐ€๋Šฅํ•œํ•œ ํฌ๊ธฐํ•˜์ง€ ๋ง๋ผ. ๋งŽ์€ ์‚ฌ๋žŒ๋“ค์€ ์ด์ „๋ถ€ํ„ฐ ํ•ด์™”๋˜ ๊ฒƒ์ด๊ณ  ๊ทธ ์‚ฌ๋žŒ๋“ค๋„ ์ •ํ™•ํ•˜๊ฒŒ ์—ฌ๋Ÿฌ๋ถ„๋“ค์ด ์ง€๊ธˆ ์„œ ์žˆ๋Š” ๊ทธ ๊ณณ๋ถ€ํ„ฐ ์‹œ์ž‘ํ–ˆ์—ˆ๋‹ค.


โ€œ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šคโ€(https://lwn.net/Articles/94386/) ์„น์…˜์„ ์ž‘์„ฑํ•˜๋Š”๋ฐ ์žˆ์–ด ์ฐธ๊ณ ํ•  ๋ฌธ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋„๋ก ํ—ˆ๋ฝํ•ด์ค€ 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>