Skip to content
Snippets Groups Projects

Master

Open Gina Lim requested to merge Gina/the-cathedral-and-the-bazaar:master into master
+ 44
5
@@ -840,21 +840,34 @@ Perhaps in the end the open-source culture will triumph not because cooperation
아마 최종적으로는 협동이 더 도덕적이라거나 소프트웨어 ``매점'' 이 덜 도덕적이라서가 아니라 단지 닫혀진 소스 측과 오픈 소스 공동체와의 군비경쟁에서 오픈 소스 측이 한 문제에 훨씬 큰 비율로 숙련된 사람의 시간을 쏟을 수 있기 때문에 오픈 소스 문화가 승리를 거둘 것이라는 얘기다.
## On Management and the Maginot Line
(최준영)
The original Cathedral and Bazaar paper of 1997 ended with the vision above—that of happy networked hordes of programmer/anarchists outcompeting and overwhelming the hierarchical world of conventional closed software.
## 관리와 그 마지노선
(최준영) The original Cathedral and Bazaar paper of 1997 ended with the vision above—that of happy networked hordes of programmer/anarchists outcompeting and overwhelming the hierarchical world of conventional closed software.
1997년 발행된 성당과 시장 논문은 기꺼이 네트워크를 형성한 프로그래머/무정부주의자들이 기존의 폐쇠형 소프트웨어 체계의 세계를 압도하고 경쟁을 끝낸다는 비전으로 끝났다.
A good many skeptics weren't convinced, however; and the questions they raise deserve a fair engagement. Most of the objections to the bazaar argument come down to the claim that its proponents have underestimated the productivity-multiplying effect of conventional management.
하지만 많은 회의론자들은 납득하지 못했고, 그들이 제기한 문제들은 철저한 답을 받아야 마땅하다. 시장 주장에 대한 대부분의 반대 주장은 지지자들이 기존 체계의 생산성 증대 효과를 과소평가했다는 것으로 귀결된다.
Traditionally-minded software-development managers often object that the casualness with which project groups form and change and dissolve in the open-source world negates a significant part of the apparent advantage of numbers that the open-source community has over any single closed-source developer. They would observe that in software development it is really sustained effort over time and the degree to which customers can expect continuing investment in the product that matters, not just how many people have thrown a bone in the pot and left it to simmer.
전통적인 생각을 지닌 소프트웨어 개발 경영자들은 오픈소스 세계에서 우발적으로 프로젝트 그룹이 형성되고 바뀌고 해체되는 것에 오픈소스 커뮤니티가 지닌 중요한 장점인 어느 하나의 클로즈드 소스 개발자들에 비해 많은 숫자를 대부분 상쇄시킨다고 종종 반대한다. 그들은 단지 많은 사람을이 냄비에 뼈를 던져넣고 계속 끓게 두기만 하는 것이 아닌, 소프트웨어 개발은 시간이 지남에 따라 지속적으로 이루어 지며, 고객이 제품에 대한 지속적인 투자를 기대할 수 있는 정도라는 것을 알게 될 것이다.
There is something to this argument, to be sure; in fact, I have developed the idea that expected future service value is the key to the economics of software production in the essay The Magic Cauldron.
But this argument also has a major hidden problem; its implicit assumption that open-source development cannot deliver such sustained effort. In fact, there have been open-source projects that maintained a coherent direction and an effective maintainer community over quite long periods of time without the kinds of incentive structures or institutional controls that conventional management finds essential. The development of the GNU Emacs editor is an extreme and instructive example; it has absorbed the efforts of hundreds of contributors over 15 years into a unified architectural vision, despite high turnover and the fact that only one person (its author) has been continuously active during all that time. No closed-source editor has ever matched this longevity record.
사실 나는 미래 서비스 가치를 기대하는 것이 소프트웨어 생산의 경제적인 키가 되리라는 것을 The Magic Cauldron 에세이에서 밝혔던 일이 있다 .
But this argument also has a major hidden problem; its implicit assumption that open-source development cannot deliver such sustained effort. In fact, there have been open-source projects that maintained a coherent direction and an effective maintainer community over quite long periods of time without the kinds of incentive structures or institutional controls that conventional management finds essential. The development of the GNU Emacs editor is an extreme and instructive example; it has absorbed the efforts of hundreds of contributors over 15 years into a unified architectural vision, despite high turnover and the fact that only one person (its author) has been continuously active during all that time. No closed-source editor has ever matched this longevity record.
그러나 이 주장은 오픈소스 개발은 그러한 지속적인 노력을 제공할 수 없다는 암묵적인 가정이라는 중요한 숨겨진 문제를 가지고 있다. 사실 기존 경영진이 필수적이라고 생각한 일종의 인센티브 구조나 제도적인 통제 없이 오랜기간 일관성 있는 방향과 효과적인 유지관리 커뮤니티를 지속해왔던 오픈소스 프로젝트가 있었다. GNU Emacs 편집기의 개발은 오직 한명(입안자)만이 지속적으로 활동했음에도 불구하고 15년 동안 수백 명의 기여자들의 노력을 통일된 아키텍처 비전으로 흡수했다는 극단적이고 유익한 예시다. 이 긴 기록과 비견될 폐쇄 소스 편집기는 존재하지 않는다.
This suggests a reason for questioning the advantages of conventionally-managed software development that is independent of the rest of the arguments over cathedral vs. bazaar mode. If it's possible for GNU Emacs to express a consistent architectural vision over 15 years, or for an operating system like Linux to do the same over 8 years of rapidly changing hardware and platform technology; and if (as is indeed the case) there have been many well-architected open-source projects of more than 5 years duration -- then we are entitled to wonder what, if anything, the tremendous overhead of conventionally-managed development is actually buying us.
-> 김수연
Whatever it is certainly doesn't include reliable execution by deadline, or on budget, or to all features of the specification; it's a rare `managed' project that meets even one of these goals, let alone all three. It also does not appear to be ability to adapt to changes in technology and economic context during the project lifetime, either; the open-source community has proven far more effective on that score (as one can readily verify, for example, by comparing the 30-year history of the Internet with the short half-lives of proprietary networking technologies—or the cost of the 16-bit to 32-bit transition in Microsoft Windows with the nearly effortless upward migration of Linux during the same period, not only along the Intel line of development but to more than a dozen other hardware platforms, including the 64-bit Alpha as well).
이는 성당 방식과 시장 방식에 대한 나머지 논쟁과 무관하게 전통적으로 관리되는 소프트웨어 개발의 이점에 대한 질문에 이유를 제시한다. GNU Emacs가 15년 동안 일관된 아키텍처 비전을 표현할 수 있거나 Linux와 같은 운영체제가 8년동안 급변한 하드웨어 및 플랫폼 기술을 통해 동일한 아키텍처 비전을 제시할 수 있거나, 또 만약 (실제로) 5년 이상의 기간 동안 잘 설계된 오픈소스 프로젝트가 많다면, 우리는 전통적으로 관리되는 개발이 우리를 사들이는데에 얼마나 많은 간접적 비용을 사용하고 있는지 궁금해 할 자격이 있다.
-> 김수연 Whatever it is certainly doesn't include reliable execution by deadline, or on budget, or to all features of the specification; it's a rare `managed' project that meets even one of these goals, let alone all three. It also does not appear to be ability to adapt to changes in technology and economic context during the project lifetime, either; the open-source community has proven far more effective on that score (as one can readily verify, for example, by comparing the 30-year history of the Internet with the short half-lives of proprietary networking technologies—or the cost of the 16-bit to 32-bit transition in Microsoft Windows with the nearly effortless upward migration of Linux during the same period, not only along the Intel line of development but to more than a dozen other hardware platforms, including the 64-bit Alpha as well).
그것이 무엇이든지간에 기한안에, 또는 예산안에, 또는 규격의 모든 특징에 확실히 신뢰성있는 실행을 포함하지 않는다. 그것은 모든 세개의 목표들 중에 적어도 하나라도 만족하는 드문 '관리된' 프로젝트이다. 또한 그것은 프로젝트의 수명동안 기술과 경제적 맥락의 변화에 적응할 수 있는 능력도 없는 것처럼 보인다. 오픈소스 사회는 그 점수가 훨씬 더 효율적이라는 것을 증명해왔다. (예를 들어, 인터넷의 30년 역사를 독점적 네트워트 기술의 짧은 반감기를 비교함으로써 또는 동일한 시기 동안 마이크로 소프트의 Window에서 16비트에서 32비트로 전환 비용을 거의 노력을 기울이지 않은 리눅스의 상향 이동을 비교함으로써, Intel의 제품군들 뿐만 아니라 64비트 Alpha 또한 포함하는 12개이상의 다른 하드웨어 플랫폼에서 사람들은 쉽게 알 수 있듯이)
@@ -929,30 +942,56 @@ This answer usually travels with a claim that the open-source community can only
(유영우)If the conventional, closed-source, heavily-managed style of software development is really defended only by a sort of Maginot Line of problems conducive to boredom, then it's going to remain viable in each individual application area for only so long as nobody finds those problems really interesting and nobody else finds any way to route around them. Because the moment there is open-source competition for a `boring' piece of software, customers are going to know that it was finally tackled by someone who chose that problem to solve because of a fascination with the problem itself—which, in software as in other kinds of creative work, is a far more effective motivator than money alone.
만약 기존의 폐쇄적이고, 관리도가 높은 소프트웨어 개발 방식이 지루함을 유발하는 일종의 문제들에 의해서만 옹호된다면, 그것은 각 개별 애플리케이션 영역에서 실행 가능한 상태로 유지될 것이다. 아무도 그러한 문제들이 정말로 흥미롭다고 생각하지 않고 다른 누구도 그 문제를 해결할 방법을 찾지 않는 한 말이다.em. 왜냐하면 '지루한' 소프트웨어를 위한 오픈소스 경쟁이 있는 순간에, 고객들은 그것이 마침내 문제 자체에 대한 매혹 때문에 문제를 해결하려고한 누군가에 의해 태클이 걸어질 것임을 알게 될 것이다. 그것은 다른 종류의 창조적인 작업에서와 마찬가지로 소프트웨어에서, 돈 자체보다 훨씬 더 효과적인 동기부여가 된다.
Having a conventional management structure solely in order to motivate, then, is probably good tactics but bad strategy; a short-term win, but in the longer term a surer loss.
동기를 부여하기 위해서만 전통적인 경영 구조를 갖는 것은 아마도 좋은 전술이지만 나쁜 전략일 것이다; 단기적으로는 승리하지만 장기적으로는 확실한 패배다.
So far, conventional development management looks like a bad bet now against open source on two points (resource marshalling, organization), and like it's living on borrowed time with respect to a third (motivation). And the poor beleaguered conventional manager is not going to get any succour from the monitoring issue; the strongest argument the open-source community has is that decentralized peer review trumps all the conventional methods for trying to ensure that details don't get slipped.
지금까지 전통적인 개발 관리는 두 가지 점에서 오픈 소스(자원 정리, 조직)에 대해 나쁜 내기를 거는 것처럼 보이며, 세 번째(동기)에 관해서는 멈춰진 시간에 살고 있는 것처럼 보인다. 그리고 형편없는 재래식 경영자는 모니터링 문제로부터 어떤 도움도 얻지 못할 것이다; 오픈소스 커뮤니티가 가지고 있는 가장 강력한 주장은 디테일이 유지되도록 하기 위한 모든 전통적인 방법들에 대해 분산된 동료 검토가 가능하다는 것이다.
Can we save defining goals as a justification for the overhead of conventional software project management? Perhaps; but to do so, we'll need good reason to believe that management committees and corporate roadmaps are more successful at defining worthy and widely shared goals than the project leaders and tribal elders who fill the analogous role in the open-source world.
정의 목표를 기존 소프트웨어 프로젝트 관리의 오버헤드에 대한 정당성으로 장할 수 있는가? 그럴지도 모르지만 그러기 위해서는 오픈소스 세계에서 유사한 역할을 하는 프로젝트 리더나 부 원로들보다 경영위원회와 기업 로드맵이 가치 있고 널리 공유된 목표를 정의하는 데 더 성공적이라고 믿을 만한 이유가 필요할 것이다.
That is on the face of it a pretty hard case to make. And it's not so much the open-source side of the balance (the longevity of Emacs, or Linus Torvalds's ability to mobilize hordes of developers with talk of ``world domination'') that makes it tough. Rather, it's the demonstrated awfulness of conventional mechanisms for defining the goals of software projects.
이유는 표면상으로는 꽤 만들기 어렵다. 그리고 오픈소스 측면에서의 균형(이맥스의 장수, 또는 리누스 토발즈의 ``세계 지배"에 대한 이야기로 개발자 무리들을 동원하는 능력)은 이것을 강하게 하기에 충분하지 않다. 오히려, 그것은 소프트웨어 프로젝트의 목표를 정의하기 위한 전통적인 메커니즘의 끔찍함을 증명하는 것이다.
(임지나)One of the best-known folk theorems of software engineering is that 60% to 75% of conventional software projects either are never completed or are rejected by their intended users. If that range is anywhere near true (and I've never met a manager of any experience who disputes it) then more projects than not are being aimed at goals that are either (a) not realistically attainable, or (b) just plain wrong.
소프트웨어 엔지니어링에서 가장 잘 알려진 민간 이론중 하나는 기존 소프트웨어 프로젝트의 60~70%가 아예 완료되지 않았거나 의도한 사용자에 의해 거부된다는 것이다. 만약 그 범위 사실에 가깝다면 (그리고 이에 대해 이의를 제기한 관리자를 만나본 적이 없는 경우) 목표로 하는 것보다 더 많은 프로젝트들이 목표하지 않은 것들보다 (a)현실적으로 달성할 수 없거나, (b) 완전히 잘못된 목표인 것이다.
This, more than any other problem, is the reason that in today's software engineering world the very phrase ``management committee'' is likely to send chills down the hearer's spine—even (or perhaps especially) if the hearer is a manager. The days when only programmers griped about this pattern are long past; Dilbert cartoons hang over executives' desks now.
다른 어떤 문제보다도 이 문제는 오늘날의 소프트웨어 엔지니어링 세계에서 만약 청자들이 관리자라면 **관리 위원회**는 그들의 간담을 서늘하게 할 가능성이 있다.(또는 아마도 특히) 프로그래머만이 이런 패턴에 불만을 가진지는 오래 되었는데; 딜버트 만화(Dilbert cartoons)는 지금 관리자 책상에 버티고 있는 처지이다.
Our reply, then, to the traditional software development manager, is simple—if the open-source community has really underestimated the value of conventional management, why do so many of you display contempt for your own process?
그렇다면 우리가 기존 소프트웨어 개발 관리자에게 하는 대답은 간단하다. 만약 오픈소스 커뮤니티가 기존 관리방식의 가치를 정말로 과소 평가했다면, 왜 그렇게 많은 사람들이 자신의 프로세스에 대해서 경멸하는 것일까?
Once again the example of the open-source community sharpens this question considerably—because we have fun doing what we do. Our creative play has been racking up technical, market-share, and mind-share successes at an astounding rate. We're proving not only that we can do better software, but that joy is an asset.
다시 한번 오픈 소스 커뮤니티는 이 질문을 분명하게 만드는데-우리가 하는 일을 재미있게 하기 때문이다. 우리의 창조적인 놀이는 기술적, 시장 점유율, 그리고 마인드 셰어 성공을 놀라운 속도로 이루어 내고 있다. 우리는 더 나은 소프트웨어를 만든다는 것뿐만 아니라 그 즐거움이 자산이라는 것을 증명하고 있다.
Two and a half years after the first version of this essay, the most radical thought I can offer to close with is no longer a vision of an open-source–dominated software world; that, after all, looks plausible to a lot of sober people in suits these days.
이 에세이의 첫 버전이 나온 지 2년 반 만에, 내가 끝낼 수 있다고 제안할 수 있는 가장 최고의 것은 더 이상 오픈소스 중심의 소프트웨어 세계에 대한 비전이 아니다.; 아무튼 요즘 많은 이성적인 사람들에게는 그럴듯해 보인다.
Rather, I want to suggest what may be a wider lesson about software, (and probably about every kind of creative or professional work). Human beings generally take pleasure in a task when it falls in a sort of optimal-challenge zone; not so easy as to be boring, not too hard to achieve. A happy programmer is one who is neither underutilized nor weighed down with ill-formulated goals and stressful process friction. Enjoyment predicts efficiency.
오히려 소프트웨어(그리고 아마도 모든 창조적이거나 전문적인 일의 모든 종류에 관해서) 좀 더욱 폭넓은 교훈이 될 수 있는 것을 제안하고 싶다. 인간은 일반적으로 최적으로 도전적인 영역(지루할만큼 쉽지도, 달성하기도 어렵지도 않은 영역)에서 즐거워한다. 행복한 프로그래머는 잘못 설정된 목표의 부담과 스트레스가 많은 프로세스 갈등가운데 제대로 쓰임받지 않는 것이 아니거나, 짓눌려있지도 않은 사람이다.
Relating to your own work process with fear and loathing (even in the displaced, ironic way suggested by hanging up Dilbert cartoons) should therefore be regarded in itself as a sign that the process has failed. Joy, humor, and playfulness are indeed assets; it was not mainly for the alliteration that I wrote of "happy hordes" above, and it is no mere joke that the Linux mascot is a cuddly, neotenous penguin.
따라서 당신 자신의 작업 프로세스에 대해 두려움과 혐오감과 관련 있는 것 (심지어 딜버트 만화를 끊는 상황으로 제시된 아이러니한 방식에서도)은 그 자체로 그 프로세스가 실패했다는 신호로 여겨야 한다. 기쁨, 유머, 재미는 정말로 자산이다.; 위에서 "Happy hordes(행복한 무리)"는 두음을 일치시켜 적은 것이 주요한 것도 아니고, 리눅스 마스코트가 귀여운 신생 펭귄이라는 것은 단순한 농담이 아니다.
It may well turn out that one of the most important effects of open source's success will be to teach us that play is the most economically efficient mode of creative work.
오픈 소스의 성공에 따른 가장 중요한 효과 중 하나는 그 놀이가 우리에게 가장 경제적으로 효율적인, 창조적 작업 방식이 될 것이라는 것을 가르쳐 준 것이다.
## Epilog: Netscape Embraces the Bazaar
## 후기 : 넷스케이프가 시장 스타일을 받아들이다!
Loading