zoukankan      html  css  js  c++  java
  • 摘要评注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打印机如果普及,估计硬件也可以开源做了。

  • 相关阅读:
    Power Designer如何批量改动数据类型
    javaWeb中URLEncoder.encode空格问题
    android不同机型上界面适配问题
    Linux命令之编辑
    Android fragment 切换载入数据卡顿问题
    oracle中设置了最大链接数还是报错
    [Erlang]Erlang经常使用工具解说
    云计算设计模式(二十三)——Throttling节流模式
    iOS 8 Share Extension Safari URL Example(在iOS中分享url的样例)
    CentOS下配置HTTPS訪问主机并绑定訪问port号
  • 原文地址:https://www.cnblogs.com/antai/p/3352083.html
Copyright © 2011-2022 走看看