임베디드 개발자로 3년을 일하면서 임베디드 리눅스에 대해 가장 먼저 접했던 책이 바로 ‘임베디드 리눅스’이다. jhrogue 님이 쓰신 이 책을 보고 여러 모로 도움을 많이 받았었다. 책을 쓰시는 방식도 상당히 꼼꼼해서 기억에 남았던 기억이 난다. 그 이후로는 IBM developerWorks에서의 개발자 책꽂이 column 이나 블로그를 통해 접할 수 있었다.
이번에 새로 책을 쓰셨다는 소식을 RSS를 통해 듣고는 가봤는데 이벤트를 하신단다. 책 제목은 ‘열씨미와 게을러의 리눅스 개발 노하우 탐험기’라고 하는데, 좀 길기는 하지만 참신한 느낌이다. 아무튼 이벤트 참여가 재밌어 보여서 죽어가던 내 블로그에 이런 식으로라도 간만에 글을;; 우선 책의 디자인이나 목차를 보고는 상당히 맘에 들었다. 우리나라에 더 있어줬으면 하는 부류의 책이겠구나 하는 생각 때문에. Well-written 책이라고 생각하는 유닉스, 리눅스 프로그래밍 필수 유틸리티’ 와 약간은 비슷한 접근을 하고 있으면서도 보다 프로그래밍 흐름 자체에 초점을 맞춘 느낌이 들었다. 리눅스 환경에서 프로그래밍을 하는 데에 있어서 모르면 괴롭거나 안되는 것들, 알면 정말 도움되는 핵심 요소들을 모아 놓은 느낌이다. 타겟은 초급 혹은 초중급 개발자인 것 같다.
이 책의 후속편을 만든다면 어떤 내용을 담으면 좋을까? 우선 나의 경험을 생각해 보았다. 나의 경험에서는 오픈소스 패키지들을 내가 작업하는 시스템에 통합시키는 작업이 가장 많은 시간을 요하고 또 삽질을 유발하는 작업이었다. 시즌 1에서 기본적인 프로그래밍 환경과 툴들을 다루었다면, 시즌 2에서는 오픈소스 패키지 활용에 대한 내용을 엮으면 어떨까 하는 생각이 든다. 프로그래밍 과정도 결국에는 여타의 과학 분야처럼 뉴턴의 말마따나 ‘거인의 어깨 위에 서서’ 하는 것이니 말이다.
독창적인 프로그램을 만드는 것만큼이나 기존에 구현되어 있는 특화된 기능 block 들을 어떻게 조립하느냐가 요즈음과 같은 모듈화와 API(Application Programming Interface) 시대에 필요한 스킬이 아닐까 싶다.
요약하면, 시즌 2에서 다루어 주었으면 하는 내용은
- 다양한 오픈소스 패키지 활용법 (웹서버, FTP, SSL, SSH 관련)
- 오픈소스 라이브러리 활용법 (내 프로그램에 integrate 하기)
- 다양한 모듈 / 패키지 통합해서 하나의 완성된 시스템 만들기
등이 되겠다. 이거 보통 일이 아니겠는데 -_-;;; 좀 더 욕심을 내면 오픈소스 개발에 참여하기라든가 커뮤니티 활동하기 등도 다루어볼 수 있지 않을까 싶다.