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โ
- โ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๊ฐ์ ์ด๋ฉ์ผ์ ๋ณด๋ด์ง๋ ๋ง์๋ผ. ์ฌ๋ฌ๋ถ๋ค์ ์ผ๋ จ์ ํจ์น๋ค์ ํญ์ ๋ ์์์ผ ํ๋ค.
ํจ์น๋ฅผ ๋๋๋ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค.
์์ ํจ์น๋ค์ ์ฌ๋ฌ๋ถ์ ํจ์น๋ค์ด ์ ์ฉ๋ ์ ์๋ ํ๋ฅ ์ ๋์ฌ์ค๋ค. ์๋ํ๋ฉด ๋ค๋ฅธ ์ฌ๋๋ค์ ์ ํ์ฑ์ ๊ฒ์ฆํ๊ธฐ ์ํ์ฌ ๋ง์ ์๊ฐ๊ณผ ๋ ธ๋ ฅ์ ๋ค์ด๊ธฐ๋ฅผ ์ํ์ง ์๋๋ค. 5์ค์ ํจ์น๋ ๋ฉ์ธํ ์ด๋๊ฐ ๊ฑฐ์ ๋ช ์ด๊ฐ ํ๋ ๋ณด๋ฉด ์ ์ฉ๋ ์ ์๋ค. ๊ทธ๋ฌ๋ 500 ์ค์ ํจ์น๋ ์ ํ์ฑ์ ๊ฒํ ํ๊ธฐ ์ํ์ฌ ๋ช์๊ฐ์ด ๊ฑธ๋ฆด ์๋ ์๋ค(๊ฑธ๋ฆฌ๋ ์๊ฐ์ ํจ์น์ ํฌ๊ธฐ ํน์ ๋ค๋ฅธ ๊ฒ์ ๋น๋กํ์ฌ ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๋ค).
ํจ์น๋ฅผ ์๊ฒ ๋ง๋๋ ๊ฒ์ ๋ฌด์์ธ๊ฐ ์๋ชป๋์์ ๋ ๋๋ฒ๊ทธํ๋ ๊ฒ์ ์ฝ๊ฒ ๋ง๋ ๋ค. ์ฆ, ๊ทธ๋ ๊ฒ ๋ง๋๋ ๊ฒ์ ๋งค์ฐ ํฐ ํจ์น๋ฅผ ์ ์ฉํ ํ์ ์กฐ์ฌํ๋ ๊ฒ ๋ณด๋ค ์์ ํจ์น๋ฅผ ์ ์ฉํ ํ์ (๊ทธ๋ฆฌ๊ณ ๋ช๋ช์ ๊ฒ์ด ๊นจ์ก์ ๋) ํ๋์ฉ ํจ์น๋ค์ ์ ๊ฑฐํด๊ฐ๋ฉฐ ๋๋ฒ๊ทธ ํ๊ธฐ ์ฝ๋๋ก ๋ง๋ค์ด ์ค๋ค.
์์ ํจ์น๋ค์ ๋ณด๋ด๋ ๊ฒ๋ฟ๋ง ์๋๋ผ ํจ์น๋ค์ ์ ์ถํ๊ธฐ์ ์ ์ฌ์์ฑํ๊ณ ๊ฐ๋จํ๊ฒ(ํน์ ๊ฐ๋จํ๊ฒ ์ฌ๋ฐฐ์นํ์ฌ) ํ๋ ๊ฒ๋ ์ค์ํ๋ค.
์ฌ๊ธฐ์ ์ปค๋ ๊ฐ๋ฐ์ 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>