본문 바로가기

Skills/Linuxworld

LWN 기사중 LFCS 관련 기사 -1-

그동안 LWN에 흥미로운 기사들이 무쟈게 떴었는데,

귀차니즘과 먹고사니즘때문에 계속 헤드라인정도만 확인하고 시간이 흘러버렸었다..

지금 아직 번역중인것도 있고, 번역은 완료 했는데, 내용정리가 안되있는것들 몇가지 있긴하지만,

차츰차츰 올릴 예정이고, 일단 지금은 샌프란시스코에서 열린 LFCS 에 관한 기사이다.

뭐 왜 흥미로웠냐면, Graybeards (내용 상 의미로하자면 노땅이라고 해야 할려나 ㅠㅠ) 에 관한 부분인데,

사실 현인이나 고수, 고참파일럿을 뜻하는 단어인데,

기사내용에 의하면 요즘 커널 개발자들의 새로운 피가 수혈되지 않아 어찌 해결해야 할지에 대한토론이다.

링크를 걸었기 때문에 보면 재밌을 것이라고 생각한다 :)

대략 결론만 요약하자면 커널 개발자의 노령화가 진행되고 있는것 같아 보이지만 실재론 그렇지 않다는 것.

매 커널 릴리즈 주기마다 1000명 이상의 개발자들이 참여하게 되며,

그 중의 상당 부분이 처음으로 릴리즈에 공헌 (constribution) 하는 사람들로,

그중 약 20%정도는 페이에 상관 없이 스스로, 그리고 취미로 contribution 을 즐기는 사람이라고 말하며,

오히려 contributor 중 일부는 다른 프로젝트에 참여하게 하는것이 차라리 나을 것이라는 얘기까지

돌고있을 정도로 많은 개발자들이 충원되어 발전하고 있다는 것이다.

내가 알기로도, 단순한 패치를 올리고 리뷰하는 코더들은 물론 릴리즈까지 직접 관여하여 각 부분별

프로젝트에 참여하고 있는 개발자들이 너무나도 많아 커널 릴리즈 속도가 엄청 빨라진걸로 알고 있는데..

여기 새로운 커널 개발자들이 너무 없다라고 했던 링크된 기사에서 새로운 피가 수혈되지 않는 이유가 있다.
 ( http://www.jfplayhouse.com/2010/04/why-linux-is-not-attracting-young.html )

링크에 의하면 신선한 피들의 수혈이 안되는 이유로 Linux 가 이미 기업소속개발자 들의 주도로

발전되고 있으며, 이로 인해 개인이 취미로 활동하는 부분들에서 얻을 수 있는 만족감이 크지 않다는 것이다.

이거 우리나라에서 쓴건가 라는 생각을 할정도로 재밌는 기사였다 :)

하지만 난 좀 다른 이유로 본다.

메인라인 커널 커뮤니티에서는 대부분 각각의 분야가 있다.

서로가 각각 맡은 분야에 집중하다 보면 충분한 만족할 수 있다고 생각한다.

실재로 난 아직 커널 메인라인에 기여할 만큼 코드를 리뷰하거나 패치하지 않고 있고 실력도 안된다.

오픈소스 경험이라고는 골랑 vsftpd 와 tar, apache 에 아주아주 소소한 그것도 메일 보냈으나,

필요없을것 같아 포함하진 않겠으나 감사하다 따위의 메일정도만 받아 봤을 뿐...

개인별로 어느 정도의 기여를 해야만 자신이 그 프로젝트에 참여하고 있으며,

자랑스럽다고 느낄 수 있을지 모르겠지만,

그 메일 조차 나에게는 감격이였으니까.....

하지만 반면에, 이미 돈을 받으며 메인라인에 참여하고 있는 풀타임 개발자들의 비중이

대하고 중요하다는 것은 사실이고, 전체적으로 따져 보았을 때 필요한 부분이기 때문에

Linux 가 더 발전되고 퍼져나가는 것이라고도 생각한다. (왠지 내가 그냥 뿌듯 ㅠㅠ)

리눅스 개발의 진입장벽에 대한 또 다른 시각도 있었다.

커널 코어 개발자들의 경험치가 높아지는 반면 더 복잡한 코드가 포함되고 있다는 내용...

이로 인해 커널 개발의 진입장벽이 덩달아 높아지고, 그로 인해 코드 유지보수 역시

계속되서 어려워질 것이라는 이슈가 있다.

사실 개발자가 없는 이유를 들자면 난 이 말에 손을 들어 공감한다.

지금 리눅스 커널은 예전 한참 공부했던.. 시작하던때와 완벽하게 달라졌다.

feature 및 모듈들은 계속 증가하고, 변화하며 제거되고 있으며,

IT 산업자체의 흐름에도 맞추어 가야 하기 때문에, 쉽게 말해 짜바리들은 꺼져 가 되는 것이다.

"너 커널 개발 참여하고 싶으면 이거부터 알고와..." 라고 해서 조낸 공부하다보면

이미 커널은 저~~ 멀리 달아나있다. 당장 어디서부터 시작해야 할 지 모를 정도로 멀리 와버린 것이다.

"응 나 그냥 무작정 걷다보니 지구를 얼마나 돌았는지 모르겠네..선그어논거 있으니 쭉 그거 따라오면서

몇바퀴 돌았는지 세어보면 알꺼야" 라는....

몇년 전가지 커널 책들은 아직도 한참 옛날 커널들에 맞추어진 책들만 쏟아져 나왔었고,

현재 변화된 커널에 맞는 개발에 대한 양서를 찾기란 매우 어려운 상황이 되어버렸다.
( 심지어 시스템엔지니어를 위한 서적들은 아직도 레드햇 9계열이다 !!! )

무엇보다 이 커널 변화동안의 갭을 채워줄 훌륭한 서적들이 절대적으로 부족하다는 점...

물론 참여하기 위해 외국놈들에게 마구 물어보면 git 와 kernel source 에 있는 주석들 그리고 문서들을

이용하면 충분하다고 답해주고, 실제로 투덜대며 보면 잘되있다라는 게 요즘 그나마 다행이라는 점이다 ㅠㅠ

요즘은 또한 커널개발 책들도 괜찮은 것들이 보이긴 한다..

모 고객사 커널레벨 이슈로 인해 커널에 대한 관심을 깊히 가지게 된 뒤로 계속 행동하진 못하고 있지만,

이번 기회에 정말로 최대한 참여해 봐야 겠다는 생각을 할 수 있었다.

일단 커널 공부를 위한 계획을 세워야 하고, 어떻게 어디서부터 시작해야 할지를 정해야 겠지....
( 어디 사부라도 있으면 정말 도시락 쌓들고 당기면서 배우고 싶은 심정 ㅠㅠ )

나도 나름 커널개발의 젊은(응~?) 피 가 될 수 있을까... 도전해 볼 과제다..(응?)