Search

'Open Source / Free Software'에 해당되는 글 1건

  1. 2011.10.14 성당과 시장 2

성당과 시장

Open Source / Free Software 2011. 10. 14. 13:27 Posted by 알 수 없는 사용자
Eric Raymond가 쓴 글로 open source에 대한 자신의 생각을 쓴 좋은 글이다. 대학교 3학년 때쯤 읽었으니 거의 10년만에 다시 한 번 읽게 됐다. 다시 읽으면서 역시 좋은 글이라는 것을 또 한 번 느꼈고 일부 맘에 와닿는 내용을 정리했다. 번역된 글이 있으니 읽어보는 것도 좋겠다.

쌍따옴표로 묶인 것은 원문의 표현을 거의 그대로 가져온 것이고, 나머지는 내 생각대로 적은 것이다.

- "좋은 소프트웨어는 개인의 가려운 곳을 긁는 것으로 시작한다."
필요한 것을 만들게 되면 남도 그것을 필요로 하는 경우가 있다. 그게 상당히 일반적인 성질의 것이라면 프로그램은 인기를 얻을 수 있다. 이건 상업용 프로그램(혹은 성당 스타일의 프로그램)과 크게 차별성을 가지지는 않는다고 생각한다. 상업용 프로그램도 모두 다른 사람이 필요로 하고 있다고 파악하고 제작하는 것이니까.

- "좋은 프로그래머는 어떤 프로그램을 만들어야 할 지 알고, 훌륭한 프로그래머는 어떤 프로그램을 다시 만들어야 할 지 안다."
기존 프로그램을 재사용 할 줄 알아야 한다는 이야기다. 모든 것을 혼자 다 다시 만드는 것은 바보같은 짓이 아닌가.

- "개발자들에 대한 빠른 피드백, 그 방법은 잦은 발표(release)"
개발자들이 성취감을 느낄 수 있도록 해준다. 자주 발표될 때마다 내가 기여한 코드가 mainstream에 반영되면 기쁨을 느낄 수 있을 것이다. 어딘가 기여했다는 느낌. 그 프로젝트에 소속되었다는 느낌. 또한 빨리 수정하고 빨리 발표하면 그만큼 디버깅에 중복이 발생하지 않는다. 남이 고친 것을 내가 고칠 필요는 없으니까.

- "누군가에게는 간단할 것이다."
내게는 어려운 문제라도 다른 어떤 사람에게는 간단한 문제일 수 있다. 문제 해결의 속도가 상당히 빨라질 수 있다는 거다. 훈수가 좋은 비유가 될 듯.

- 리누스 토발즈 왈, "문제를 발견하는 사람과 이해하는 사람이 동일할 필요가 없다."
문제(버그)를 발견하는 것이 더 중요하다고 토발즈는 말했다. 하지만 사실 둘 다 중요하다고 본다.
여튼 여기서 말하고자 하는 것은 발견을 잘 하는 사람이 해결을 잘 할 필요는 없다는 것. <좋은 테스터 = 좋은 개발자>일 필요가 없다는 것이다. 오픈 소스 정책을 취하게 되면 수많은 테스터와 수많은 개발자를 내편으로 만들 수 있다. 베타 테스터를 품는 것이 중요하다. 정말로 열정적으로 헌신해 주는 사람들이 있다. 적극적으로 베타 테스터와 소통하고, 리스트에 사람들을 포함시키고 릴리즈가 있을 때마다 발표하고 의견을 듣고 버그 리포트도 받고 소스에 대한 수정본을 보내주는 사람이 있으면 적극적으로 검토하고 취하자. 이렇게 하다보면 베타 테스터 리스트에서 점점 사람들이 빠져나가는 현상이 발생한다고 하는데, 그 이유는 '잘 동작하니 더 이상 듣고 싶지 않다'란다. 이 때쯤 되면 "베타"딱지를 뗄 수 있는 것이 아닐까.

- 사회학에서의 델파이 효과: "비슷하게 전문적인 (혹은 비슷하게 무지한) 관찰자들로 이루어진 대중의 평균적인 의견이 그 관찰자 중 무작위로 뽑은 한 명의 의견보다 더 신뢰할 만하다."
전체의 의견이 그리 바보같지는 않다는 것. 집단 지성이 그리 나쁜 결과로 이어지지는 않는다는 것. 리눅스와 위키피디아를 통해 증명되었다고 생각한다.

- "널리 사용되는 프로그램의 유지, 보수에 들어가는 비용은 40퍼센트 혹은 그 이상이다. 놀랍게도 사용자 수에 큰 영향을 받는다. 사용자가 많을 수록 유지 보수에 더 많은 비용이 들어간다는 것."
왜? 더 많은 사용자가 더 많은 버그를 찾아내기 때문이다. 더 많이 사용되는 윈도우에서 더 많은 취약점이 발견되고 더 많은 악성코드가 제작된다. 윈도우 자체의 보안 결함은 논외로 하자. 더 많은 보안 이슈가 발생하는 건 그만큼 많은 사용자가 있어서 그렇다는 것을 다들 인정할 거다.

- 많은 사용자가 있고 그들과 소통하면  좋은 아이디어를 얻게 되는 경우도 있다. 때로는 그것이 천금같은 것일 수도 있다.
일반 사용자와 오픈 소스에서의 참여자는 다르다. 참여하는 사람들은 그 프로젝트에 소속감을 가지고 있다. 좋은 아이디어가 떠오르면 제공할 의사가 더 많다는 의미도 된다.

- 생택쥐베리 왈: "(설계에 있어서) 완벽함이란 더 이상 추가할 것이 없을 때 이루어지는 것이 아니라 더 이상 버릴 것이 없을 때 이루어진다. (Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away)"
그냥 멋진 말.

- open source project의 leader는 사회성이 좋아야 된다.
어쩔 수 없는 것이다. 어디서든 리더가 되려면 그럴 수밖에. 유시민님의 강연에서 이런 말을 들은 적이 있다. 리더는 두 가지 중 하나를 갖춰야 한다. 엄청 똑똑하거나, 인간적으로 존경스럽거나. 각각 너무 똑똑하니 배신하면 걸리겠지, 이렇게 좋은 분을 내가 배신할 수는 없어라고 생각해서 그렇단다. 재밌는 이야기다. 사실 대규모 open source project의 leader가 되려면 둘 다 갖춰야 할 것 같다. 아무나 못하는 것은 확실하다.