Andrew Morton에게 배운 Linux 커널의 또다른 모습

권순선의 이미지

http://kldp.org/node/83487 에 썼듯이, 오늘 저희 회사에서 Andrew Morton(이하 akpm)씨의 강연이 있었습니다. 지금은 오늘 일정을 모두 마무리한 후 호텔에 모셔다 드리고 저도 집에 왔지요. 아침 10시경부터 거의 저녁 7시 30분까지 서로 다른 자리에서 서로 다른 사람들의 질문에 끊임없이 답변을 해야 하는 꽤나 피곤한 일정이었는데 얼굴한번 찡그리지 않고 모든 질문에 성의있게 대답하는 모습이 너무나 인상적이었습니다. (물론 한자리에서 계속 이야기했던 것은 아니었고 점심식사, 강연, 강연후 질문/답변, 저녁식사 등으로 일정이 각각 나뉘어져 있었고 중간중간 비는 시간도 꽤 있었지요.)

akpm은 Linux 커널이 어떻게 돌아가는지 오랫동안 보아온 사람으로서 여러가지 재미있는 이야기들을 많이 전했습니다. 기억에 남는 몇가지를 돌이켜 보면...

- 리눅스 커널은 여러 subsystem으로 이루어져 있고 각각의 subsystem(예: usb, ide 등등...)들은 개별적으로 메인테이너가 있는데 그중 제때 응답을 않는 사람도 꽤 된다. 버그리포트를 해도 그냥 묻혀버리는 경우도 많다. 물론 제때제때 응답을 하는 사람도 많다.

- lkml에는 가끔 정말로 심한 말을 하는 사람들이 있는데 신경쓸 필요 없다. lkml이 어떻게 돌아가는지 잘 아는 사람들은 그냥 무시한다.

- 커널의 어떤 부분에 대해 개발자들이 의견차가 있어 싸우다가 어떤 사람이 자기 구현을 좀 도와달라고 나(akpm)에게 메일을 보낸 적이 있는데 나도 잘 모르는 분야라 그냥 가만히 있는 수밖에 없었다.

- 내가 현재 속한 구글의 부서는 OS와 시스템 SW를 다루는데 팀원들의 나이가 많다. 그러나 우리 부서 건물 밖에 나가 보면 다른 직원들은 모두 기저귀를 차고 다닌다. (어리다는 뜻)

그리고 개인적으로 가장 인상깊게 들은 부분은... '리눅스 커널에 대해서 잘 알려면 어떻게 하는 것이 좋은가?'에 대한 답변으로

- 나는 리눅스 커널을 처음 다루기 시작했을 때 버그를 고치면서 커널에 대해 가장 많이 배웠다. 어떤 버그냐에 상관없이 누군가 메일링 리스트에 버그를 보고하면 무조건 재현해 보고 무조건 고치려고 달려들었다. 리눅스 커널 소스코드의 어딘가를 고치는 일은 정말로 많은 지식이 필요하기 때문에 그러한 과정을 거쳐서 리눅스 커널에 대해 잘 알 수 있게 되었다. 여러분들도 그냥 소스만 보지 말고 알려진 버그를 고치는 일을 통해서 스스로 뭔가 고쳐 보기 바란다. 리눅스 커널에 대해 훨씬 빠르게 전문가가 될 수 있을 것이다.

너무너무 아쉽지만 이제 내일 아침이면 akpm은 다시 미국으로 돌아갑니다. http://kldp.org/node/83487 에도 썼듯이 내일 아침에는 허태준님을 비롯한 국내의 몇몇 커널 관련 개발자 분들과 조촐하게 조찬미팅을 가질 예정입니다. 아직 시간이 있으니 lkml에서 활동하시는 커널 개발자가 있으시다면 부담갖지 마시고 저에게 연락 주시기 바랍니다.

댓글

ganadist의 이미지

아시는 분은 아시겠지만 커널의 서브시스템별 git repository는 http://git.kernel.org/ 에서 볼 수 있습니다.

저걸 다 merge해서 수시로 mm커널을 내놓는걸 보면 akpm씨는 정말 괴물입니다 -ㅅ-

----
데스크탑 프로그래머를 꿈꾸는 임베디드 삽질러

saxboy의 이미지

굉장히 재미있었어요 :-)

제가 제일 인상깊었던 것은 아무래도 dde.
이 아저씨한테 vi냐 emacs냐 물어봤더니 옛날옛날에 직접 만든 에디터를 쓰고 있다고 하더군요.
요놈입니다 http://www.zipworld.com.au/~akpm/

이 아저씨가 말하는 모습을 보고 싶으신 분은 Google Techtalks에서 http://video.google.com/videoplay?docid=1742374580386548257 를 구경하셔도 좋겠습니다. 발음이 그렇게 익숙하지는 않더군요.

ATOM의 이미지

영어를 잘 못해서 잘 안들리네요..

무슨 이야기를 열심히 하시는듯 한데.. 전 이해를 못하고..ㅠㅠ

영어 공부를 열심히 해야 하는 현실..ㅋㅋ

아무튼 좋은 정보 감사합니다.. 담에 저장해 놨다.. 다시 들어 봐야 겠네요..

권순선의 이미지

원래 이름은 그냥 e였다고 하죠... 아주 오래전에 자기가 싱글보드 컴퓨터를 직접 만든 적이 있는데 그때 같이 만들었던 에디터라고 이야기했던 것으로 기억합니다. 홈페이지에도 공개되어 있긴 한데 버그가 많을 테니 웬만하면 쓰지 말라고... :-)

gurugio의 이미지

정신없이 일하다가 2시 반쯤에 들어갔더니 사람이 많더라구요.
뒷자리에 앉았더니 말씀하시는 소리가 좀 울려서 웅얼웅얼로 들렸습니다.
가뜩이나 영어도 못하고 분명 좋은 말씀들이었을텐데 아쉬워요...
다시한번 영어 공부를 더 해야겠다라고 다짐했습니다.

끝나고 인사를 드리려고 했는데
바쁘신 것 같아서 좀 서있다 나왔습니다.
우리 회사에 리눅스에 관심이 많으신것 같아서 기분은 좋았습니다.
좋은 행사 감사합니다.

----
세상을 바꾸는 것은 단 한 사람. 오직 하나님의 사람뿐이다.

권순선의 이미지

토요일 아침에 허태준님, 몬타비스타 코리아 지사장님, 저, 그리고 akpm과 조촐하게 조찬 미팅을 가졌습니다. 허태준님이 lkml에서 활동을 많이 하시는지라 허태준님과 이야기를 많이 나누었습니다. 현재 libata 관련 문제점, 향후 계획, 기존 활동 내용 등등... 특별한 agenda를 가지고 만났던 것은 아니라서 굉장히 자유분방하고 즐거운 분위기였습니다.

대략 1시간 15분 정도 아침식사를 하면서 미팅을 가졌고, akpm은 10시쯤 한국에서의 모든 일정을 마치고 인천공항으로 떠났습니다. 만약 기회가 된다면 다시한번 초청하고 싶네요...

익명 사용자의 이미지

부럽네요.

익명 사용자의 이미지

부럽네요

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.