摘要評註The Cathedral & The Bazaar

2013年暑期買到這本書,距離其第一版已經有14年之久,而最早發佈在互聯網上的文章更是早在1997年。在我閱讀的時候,很多事蹟已經沉積爲歷史,很多預言已經成爲現實。而這本書的意義卻絲毫沒有因此淡化,反而更加支持了書裏的立論。

《大教堂與集市》作者 Eric Raymond, 第一次知道此人還是在天津大學的操作系統原理課程上。大教堂與集市,分別代表兩種軟件開發模式,大教堂代表着封閉的決策權集中的方式,集市代表開放的,平等透明,共享互動的開源軟件開發方式。

本篇博文,主要就一些點展開一些討論,評價,抒懷。

Windows OS = shockingly inferior (compared to Unix) P15

視窗操作系統,比起Unix或起後繼,是“令人震撼的虛弱”。這就是早起駭客麼,都想做自己的高精尖自己的hobby,沒有人着眼大衆。比爾蓋茨搞瞭如此親民的系統,招惹瞭如此的評論。

It's no fun to be responsible for fixing bugs in a program you don't understand. P37。

被負責去調試你不理解的程序,真沒勁。

Often, the most striking and innovative solution come from realizing that your concept of the problem was wrong. 

經常人們發現,最醒目的創造性解決方案,源自於人們意識到了先前對問題的理解是錯誤的。

Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away.

所謂設計上的完美境界,不是說當你不能添加新模塊的時候,而是當你沒有模塊可以刪減的時候。

Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.

一般的工具就是用在該用的地方,而偉大工具的用武之地是你意想不到的。

English, with about 50% redundancy....Nowadays it's more important for a language to be convenient for humans than to be cheap for the computer

英語啊,50%都是廢話。。。今天,計算機語言要提供給人便利,而不是機器。

it is absolutely critical that the coordinator be able to recognize good design ideas from others. ( powerful knack of Linus)

項目負責人必須得能識得出啥是好設計,啥是一般的。

A bazaar project coordinator or leader must have good people and communication skills.

一個‘集市型’項目的負責人或者主力,必須有好的人緣和溝通能力。

To make the bazaar model work, it helps enormously if you have at least a little skill at charming people.

 要想讓集市模型發威,有點魅力能去感化別人能幫大忙~

The personality of your project matters

 項目的人格可重要咧~

(The mythical Man-Month) Programer time is not fungible; adding developers to a late project makes it later.

The complexity and communication costs of a project rise with the square of the number of developers, while work done only rises linearly.

(人月神話)程序員的時間不能互換。一個已經延期的項目,加一個碼工更會延期。

活是線性的完成,溝通的成本可是平方增長。 

Altruism is itself a form of ego satisfaction for the altruist.

 利他主義本身就是自我滿足的一種形式。

Linux is mostly done by others (other than Linus himself)

Linux的大部分都不是Linus本人寫的。Linus的協作領導力對於此計劃的印象要大於他的編程水平,但是聽說他編程也是頂呱呱沒得說。

Linus--connect the selfishness of individual hackers as firmly as possible to difficult ends that can only be achieved by sustained cooperation.

 

Provided the development coordinator has a communications medium at least as good as the internet, and knows how to lead without COERCION, many heads are inevitably better than one.

項目負責人要能夠不用強迫人而去領導人。

 

5 funtions of software project manager:(傳統意義軟件項目,不是開源項目經理人)

  To define goals and keep everybody pointed in the same direction

  To monitor and make sure crucial details don't get skipped

  To motivate peopel to do boring but necessary drudgework

  To organize the deployment of people for best productivity

  To mashal resources needed to sustain the project

 All of which seem strangely irrelevant when it comes to open source project.

 

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. P60

民間理論表明,60-75%的軟件工程,不是失敗了就是被打回去了。

 

Open Source: 開源項目的人多麼開心啊

  We have fun doing what we do

  We're proving not only that we can do better software, but that joy is an ASSET

  Enjoyment predicts efficiency. A happy programmer is on e who is neither underutilized nor weighed down with ill-formulated goals and stressful process friction.

  Play is the most economically efficient mode of creative work.

 

 Going open will not necessarily save an existing project that suffers from ill-defined goals or spaghetti code or any of the software engineering's other chronic ills.

代碼開源,幫不了一個代碼設計一團糟或者某參與的程序員長期瞎搞的項目

 

Cultures are adaptive machines.

In 1997 these common elements were distilled into the Debian Free Software Guidelines, which became the Open Source Definition.

 

As student of legal history and political philosophy may recognize, the theory of property they imply is virtually identical to the Anglo-American common-law theory of land tenure! ... This thoery, like hacker customs, evolved organically in a context where central authority was weak or nonexist.

John Locke, Lockean theory of property

no single authority is powerful enough to force central allocation of scarce goods.

 

Human beings have an innate drive to compete for social status; it's wired in by our evolutionary history. Most ways humans have of organizing are adaptations to scarcity and want. Each way carries with it different ways of gaining social status. In command hierarchies, socail status is primarily determined by access to coercive power.

 人類對於社會地位的競爭意識,深入骨髓。在古代,社會資源多的,能有權利迫使別人做事的人地位高。

In gift culture, social status is determied not by what you control but by what you give.

在給予文化中,社會地位決定於你貢獻的多寡(而不是你能控制力的多寡)。

The measure of competitive success is reputation among one's peers.

 

Peope for whom it is not a significant motivation never become hackers in the first place, just as people who don't love music never become composers.

沒自我動力的人當不了黑客;你見過不愛音樂的人成爲作曲家麼?

 

If one is well known for generosity, intelligence, fair dealing, leadership ability, or other good qualities, it becomes much easier to persuade other people that they will gain by association with you.

如果一個人特別慷慨,智慧,公正,善於領導,兼具其他美德,自然別人願意和你打交道。

 

The success of a giver's bid for status is delicately dependent on the critical judgement of peers.

同輩評判微妙的形象着個人社會地位的成功與否。

 

Incentive for all parties to cooperate and avoid forking, because it's hard to know in advance who will be on the losing side and see a lot of their work either disappear entirely or languish in obscurity.

Hackers' behavior: motivated by a desire for peer repute or, as I incautiously labeled it at the time, 'ego satisfaction'

 

There's a very strict meritocracy and there's a strong ethos that quality should be left to speak for itself.

The best brag is code that "just works". 

最好的裝逼方式就是說,“老子的代碼-搞定”

 

One reason for humble behavior is that in the open source world, you seldom want to give the impression that a project is 'done'.

One gains more prestige from founding a successful project than from cooperating in an existing one.

Hackers often refer to Microsoft's strategy as "protocal pollution"; they are reacting exactly like farmers watching somone poison the river they water their crops with.

微軟做了多少孽啊。

You do not become a hacker by calling yourself a hacker- you become a hacker when other hackers call you a hacker.

你不要以爲你以爲自己是黑客你就是了,別人叫你黑客的那一瞬間你纔開始是。

The members of the Samba group are perceived as heroes because they neutralize a Microsoft effort to lock in whole user population and cordon off a big section of the noonsphere.

Samba項目的成員被認爲是反微軟英雄,因爲他們挫折了微軟的技術封鎖。

By marking his bounds, adn respecting the bunds of others, a wolf diminishes his chances of being in a fight that could weaken or kill him and make him less reproductively successful.

 

Some very large projects discard the benevolent dictator model entirely. One way to do this is turn the co-developersinto a voting committee (as with Apache). Another is rotating dictatorship, in which control is occasionally passed from one member to another within a circle of senior co-developers; the Perl developers organize themselves this way.

獨裁的運作模式被很多大項目放棄。阿帕奇有個投票小組。還有一種方法是輪迴執政(Perl)。 

Resolving conflicts is by seniority. Just like many relational database engines use to resolve deadlocks. When two threads are deadlocked over resource, the side with least invested in the current transaction is selected as the deadlock victim and is terminated.

還怎麼解決問題?論資歷。

 

 In the absense of survial issues, reputation enhancement becomes the driving goal, which encourages sharing of new ideas and research through journals and other media.

Free-market capitalism is the globally optimal way to cooperate for economic efficiency; perhaps, in a similiar way, the reputation-game gift culture is the globally optimal way to cooperate for generating high-quality creative work. 

市場經濟資本主義,協同提高全局經濟效率。在某些意義講,‘給予文化’是高質高效工作的最優解。

 

Let people choose their own projects. "To the extent one's experience of being self-determined is limited, one's creativity will be reduced as well"

Zen paradox: if you want the most efficient production, you must give up trying to make programmers produce. handle their subsistence, give them their heads, and forget about deadlines.

禪悖論:想要高效率生產,就要放棄驅使程序員工作。讓他們有獨立人格,忘掉截止日期。 

 

Use Value VS Sale Value 使用價值和販賣價值

 

Go open source:

  Apache: cost-sharing,

  Cisco: risk-spreading, two programmers' printer program example

  

 Microsoft intended to monopolize the browser market and then use defacto control of HTML and HTTP to drive Netscape out of the server market. 微軟IE的事情已經臭名昭著了人盡皆知了。

 

In mid-march 1999, Apple open-srouced "Darwin", the core of their Mac OS X server operating system.

連蘋果都開源內核了不是。

 

Free the future, sell the present: go open a year after release or if vendor folds.

Free the software, sell the brand: Sun

Free the software, sell the content: stock app

 

The dramatic growth of the Internet owes much to the fact taht nobody owns TCP/IP; nobody has a proprietary lock on the core Internet protocals.

所以這些技術都是沒有一個作者的,而是共有的。奠定了英特網的核心。

 

The following discriminators push towards open source:

1. Reliability/stability/scalability are critical

2. Correctness of design and implementation canot readily be verified by means other than independent peer review

3. The software is critical to the user's control of his/her business

4. The software establishes or enables a common computing and communciation infrastructure

5. Key methods are part of common engineering knowledge

 

Example: DOOM. Those features the players wanted --demanding programer-hours that id would ahve preferred to spend on next game.

The full source for Doom is released in late 1997

 

Sometimes the smartest way to become a bigger frog is to make the pond grow faster.

要讓自己長成鯤鵬,讓你的周遭變大變好是個不錯的辦法。 

Red Hat's case, the standardization on RPM accross most Linus distributions went a significiant way towards neutralizing advantages Microsoft had previously held in ease of system adminstration on its Windows machines.

紅帽也是反微軟英雄。

 

Business Ecology of Open Source:

  Developers compete with each other, for the attention of distributors and users, on the quality of their software

  Rapid response to market demonds

  Lower overhead and increase efficiency through specialization

 

Internet interprets censorship as damage and routes around it.

 

The only thing they can sell is a brand/service/support relationship with people who are freely willing to pay for that.

賣的是商業合作關係,是服務,不是產品。

Community stars are increasingly finding they can get paid for what they want to do.

 

O'Reilly can afford to pay the leaders of Perl and Apache to do their thing because it expects their efforts will enable it to sell more Perl and Apacherelated books and draw more people to its conferences.

原來是書商贊助作者。

 

Former KGB chief Oleg Kalugin put: For instance, when we stole IBMs in our blueprints, or some other electronic areas which the West made great strides in and we were behind, it would take years to implement the results of our intelligene efforts. By that time, in five or seven years, the West would go forward, and we would have to steal again and again, and we'd fall behind more and more.

 所以你說中國人需不需要從零開始創新呢?中國式創新也是無奈之舉。

Plagiarism is a trap you want your competitors to fall into.

 

Linus is an international effort and there is always a jurisdiction in which reverse-engineering will be legal.

我的東西自己拆開看看不行麼?

There would come a time when charisma became less effective than broad-based institutional repectability.

將來還是要人尊重人多於人屈從於魅力。

Halloween Documents: outlined Microsoft's analysis of how to combat it by corrupting the open protocals on which open source depends and choking off customer choice.

怪不得業內都罵微軟。

Open source model could be usefully applied to other kinds of goods than software. One battle at a time.

開源模式的其他應用?3D打印機如果普及,估計硬件也可以開源做了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章