유닉스의 탄생
누군가의 추천으로 읽게되었는데 생각보다 재미있었다. 유닉스, MAC OS, 우분투, 리눅스의 차이가 뭔지 대충만 알고 잘 몰랐는데 멀틱스부터 시작하는 유닉스의 탄생기를 보고나니 어느정도 이해가 됐다. 간단한 미니쉘을 만드는 프로젝트를 진행중인데 파이프와 리다이렉션을 같이 구현하는 것도 생각보다 어렵다. 나야 있는 명령어를 따라 구현하는거지만 처음 명령어를 개발할 때는 없는 개념을 코드로 구현했던 것일텐데 새삼 유닉스의 개발자가 대단해 보인다. 유닉스의 네이밍이나 awk 명령어의 유래(개발자 세 명의 이니셜) 등도 재미있다.
유닉스의 파일시스템 관리의 특징 중 하나가 계층적 파일시스템이라고 하는데 지금 우리에게는 너무도 당연하지만 예전에는 깊이를 제한하는 경우도 있었다고 한다. 예를들면 폴더 안에 폴더, 안에 폴더(리눅스에서는 디렉토리)의 깊이가 제한되는 것이다. 지금은 너무도 당연한 것들이 새로운 개념이었던 시절의 이야기를 보는 것도 재미있다.
유닉스 탄생 배경
벨 연구소에서 유닉스가 탄생되었는데 당시 AT&T의 풍부한 현금흐름을 바탕으로 꽤 자유로운 분위기에서 벨 연구소가 운영되었다고 한다. 우수한 인력(동료), 자유로운 분위기, 장기적인 관점(을 뒷받침하는 현금흐름)이 혁신의 배경이 아닐까? 재밌는건 그러한 벨 연구소에서도 마음대로 원하는 장비를 사주진 않았고 어느정도 구매에 제한이 있었다고 한다. 그리고 이 제한 속에서 더 나은 제품이 탄생할 수 있었다고 책에서는 말하고 있다. 자유 역시 중요하지만 어느정도의 제한이나 한계 속에서도 돌파구를 찾다보면 새로운 아이디어가 나올 수 있는 것이다.
리눅스의 탄생
유닉스 역시 어찌보면 사이드프로젝트로 시작했지만 리눅스 역시 어찌보면 가벼운 마음으로 개인이 시작한 프로젝트이다. 개인 개발자가 오픈소스 정신으로 코드를 공개하고 생태계는 더욱 커진다. 자신이 흥미가 있는 것에 가벼운 마음으로 시작한다. 아이디어가 뺏길 걱정을 하거나 자신의 결과물을 독점하려는 대신 모두와 공유하고 교류하는 것이 더 나은 결과를 만들어 낼 수 있다. 꼭 개발뿐 아니라 오픈소스 정신은 어디에서나 필요하다.
느낀점 요약
- 혁신에는 뛰어난 동료, 안정적이지만 자유로운 환경, 새로운 시도를 장려하는 분위기 등이 필요
- 자신이 흥미를 느끼고 필요로 하는 것을 가벼운 마음으로 시작
- 2를 지속적으로 발전시켜 나가거나 사람들과 공유
- 개인의 작업 과정에서는 몰입이 필요하나 그 몰입의 결과물을 공유하고 다른이들과 소통하려는 자세 역시 중요
'책' 카테고리의 다른 글
해커와 화가- 폴 그레이엄 (0) | 2021.03.15 |
---|---|
조엘 온 소프트웨어 - 읽기 편한 책 (0) | 2021.03.03 |
책) 나는 LINE 개발자입니다 (0) | 2021.01.17 |