성당과 시장

〈**성당과 시장**〉(The Cathedral and the Bazaar, 정식 명칭: **성당과 시장: 우연한 혁명가의 리눅스와 오픈 소스에 대한 단상**, The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary, 줄여서 **CatB**)은 에릭 레이먼드가 리눅스 커널 개발 과정에 대한 그의 관찰과 페치메일(fetchmail)과 같은 오픈 소스 프로젝트를 관리한 경험을 바탕으로 소프트웨어 공학 방법에 대해 쓴 수필이자 나중에 책으로 출판된 작품이다. 이 책은 하향식 설계와 상향식 설계 간의 갈등을 다룬다. 이 수필은 레이먼드가 1997년 5월 27일 독일 뷔르츠부르크에서 열린 리눅스 콩그레스에서 처음 발표했으며, 1999년에 같은 제목의 책의 두 번째 장으로 출판되었다. 책 표지의 삽화는 1913년 류보비 포포바가 그린 "인물과 구성 (Composition with Figures)"이라는 그림으로, 국립 트레티야코프 갤러리 소장품이다.access-date=20 December 2011 이 책은 1999년에 오픈 퍼블리케이션 라이선스(Open Publication License) v2.0으로 출시되었다.website=www.catb.org
# 핵심 논지
이 소프트웨어 수필은 두 가지 다른 자유 소프트웨어 개발 모델을 대조한다. * 성당 모델: 소스 코드가 각 소프트웨어 릴리스와 함께 제공되지만, 릴리스 사이에 개발된 코드는 독점적인 소프트웨어 개발자 그룹에 한정된다. GNU 이맥스와 GNU 컴파일러 모음이 예시로 제시되었다. * 시장 모델: 코드가 대중에게 공개된 상태로 인터넷을 통해 개발된다. 레이먼드는 리눅스 커널 프로젝트의 리더인 리누스 토르발스를 이 과정의 창시자로 꼽는다. 레이먼드는 또한 페치메일 프로젝트에 이 모델을 자신이 직접 구현한 일화들을 제공한다. 이 수필의 핵심 논지는 "충분한 눈동자가 있다면, 모든 버그는 얕다"는 레이먼드의 제안이다(그는 이것을 리누스의 법칙이라고 부른다): 소스 코드가 공개 테스트, 조사 및 실험을 위해 널리 사용 가능할수록 모든 형태의 버그가 더 빠르게 발견될 것이다. 이와 대조적으로 레이먼드는 성당 모델에서는 작업 중인 코드 버전이 소수의 개발자에게만 제공되므로 버그를 찾는 데 엄청난 시간과 에너지가 소요된다고 주장한다.
# 좋은 오픈 소스 소프트웨어 개발을 위한 교훈
레이먼드는 다양한 소프트웨어 개발 노력에서 얻은 19가지 "교훈"을 제시하며, 각각은 좋은 오픈 소스 소프트웨어 개발 관행과 관련된 속성을 설명한다.access-date=18 April 2012 #모든 좋은 소프트웨어 작업은 개발자의 개인적인 가려움을 긁는 것에서 시작한다. #좋은 프로그래머는 무엇을 써야 할지 안다. 위대한 프로그래머는 무엇을 다시 써야 할지(그리고 재사용해야 할지) 안다. #하나의 [버전]은 버릴 계획을 세워라; 어쨌든 버리게 될 것이다 (프레더릭 브룩스의 글에서 인용). #올바른 태도를 가지고 있다면 흥미로운 문제들이 당신을 찾아올 것이다. #프로그램에 대한 흥미를 잃으면, 그것에 대한 마지막 의무는 유능한 후임자에게 넘기는 것이다. #사용자를 공동 개발자로 대우하는 것이 빠른 코드 개선과 효과적인 디버깅을 위한 가장 번거롭지 않은 방법이다. #일찍 배포하라. 자주 배포하라. 그리고 고객의 의견에 귀 기울여라. #충분히 큰 베타 테스터와 공동 개발자 기반이 있다면, 거의 모든 문제가 빠르게 특성화되고 해결책이 누군가에게 명확해질 것이다. #스마트한 데이터 구조와 멍청한 코드는 그 반대보다 훨씬 더 잘 작동한다. #베타 테스터를 가장 가치 있는 자원으로 대우하면, 그들은 가장 가치 있는 자원이 되어 보답할 것이다. #좋은 아이디어를 갖는 것 다음으로 좋은 것은 사용자로부터 좋은 아이디어를 인식하는 것이다. 때로는 후자가 더 낫다. #종종 가장 놀랍고 혁신적인 해결책은 문제에 대한 당신의 개념이 틀렸다는 것을 깨달을 때 나온다. #완벽함(디자인에서)은 더 이상 추가할 것이 없을 때가 아니라, 더 이상 제거할 것이 없을 때 달성된다. (앙투안 드 생텍쥐페리에게 귀속됨) #어떤 도구든 예상되는 방식으로 유용해야 하지만, 진정으로 위대한 도구는 예상치 못한 용도로도 사용된다. #어떤 종류의 게이트웨이 소프트웨어를 작성할 때든 데이터 스트림을 가능한 한 적게 방해하도록 주의하라—그리고 수신자가 강요하지 않는 한 정보를 절대 버리지 마라! #[구성] 언어가 튜링 완전성에 훨씬 미치지 못할 때, 신택틱 슈거는 당신의 친구가 될 수 있다. #보안 시스템은 그 비밀만큼만 안전하다. 가짜 비밀을 경계하라. #흥미로운 문제를 해결하려면, 당신에게 흥미로운 문제를 찾는 것에서 시작하라. #개발 코디네이터가 적어도 인터넷만큼 좋은 통신 매체를 가지고 있고, 강압 없이 이끄는 방법을 안다면, 많은 머리가 하나보다 나은 것은 필연적이다.
# 유산과 평가
1998년, 이 수필은 넷스케이프 커뮤니케이션스 코퍼레이션이 넷스케이프 커뮤니케이터의 소스 코드를 공개하고 모질라 프로젝트를 시작하는 데 결정적인 역할을 했다. 프랭크 헤커와 다른 직원들은 이 수필을 자신의 주장에 대한 외부의 독립적인 검증으로 인용했다.url = http://www.catb.org/~esr/writings/cathedral-bazaar/cathedral-bazaar/ar01s13.htmlurl-access= registration 넷스케이프가 이러한 영향력을 공개적으로 인정하면서 레이먼드는 해커 문화에서 명성을 얻었다.quote=When Netscape CEO Jim Barksdale cited Raymond's 'Cathedral and the Bazaar' essay as a major influence upon the company's decision, the company instantly elevated Raymond to the level of hacker celebrity. Determined not to squander the opportunity, Raymond traveled west to deliver interviews, advise Netscape executives, and take part in the eventual party celebrating the publication of Netscape Navigator's source code. 오라일리 미디어가 1999년에 이 책을 출판했을 때, 이 책은 오픈 퍼블리케이션 라이선스(Open Publication License) 하에 출판된 최초의 완전한 상업적으로 배포된 책 중 하나가 되었다. 마셜 포는 자신의 수필 "벌집 (The Hive)"에서 위키백과를 레이먼드가 정의한 시장 모델에 비유한다.access-date=2012-07-05 지미 웨일스는 이 작품(및 프리드리히 하이에크의 "사회에서의 지식의 사용"과 같은 인터넷 이전 작품에서 제시된 주장들)에서 영감을 받아 "대규모 협업의 가능성에 눈을 뜨게 해주었다"고 주장했다.access-date=4 July 2014 1999년 니콜라이 베즈루코프는 에릭 레이먼드의 오픈 소스 소프트웨어에 대한 견해를 비판하는 두 편의 수필을 발표했는데, 두 번째 수필은 "성당과 시장에 대한 두 번째 고찰 (A second look at The Cathedral and the Bazaar)"이라고 불렸다.pages=222–Bezroukov, Open source software development as a special type of academic research: Critique of vulgar Raymondism" Accessed 23 May 2019.Bezroukov, A second look at The Cathedral and the Bazaar Accessed 23 May 2019.pages=202– 이들은 에릭 레이먼드로부터 날카로운 반응을 이끌어냈다.Eric S. Raymond, "Response to Nikolai Bezroukov" 커티스 야빈의 수필 "성당 또는 기이함 (The Cathedral or the Bizarre)"은 미국의 민주주의의 종말을 주장하며, 레이먼드의 수필에서 이름을 따왔다.access-date=13 October 2024
# 내용주
30em