Open Life - The Philosophy of Open Source

Table of Contents

https://openlife.cc/online

1. Part One: The French in crisis

所谓的mean-spiriedness是因为供需关系造成的:如果我会一个魔术,那么大家肯定对我的魔术非常感兴趣; 但是如果将这个魔术解密并且分享给大家的话,那么大家就都不喜欢了。所以为了保证某个东西卖的好,那么我们可能会减少这个东西的供给。 如果农场生产的葡萄过量了,但是为了维持葡萄酒的价格,我们也要将一些葡萄倒掉。

正是因为这种简单的市场供需关系(law of supply and demand)让我们每个人都刻意保守信息,因为一旦信息 分享给别人,那么这个信息就不值钱了。这就造成了我们所谓的meanspiried(心胸狭窄)。

In addition to which, ‘we’ might ‘have a secret that we’re not telling you!’ Children’s secrets can seem amusingly insignificant to adults, but what a secret is about is not what matters – the important thing is that they are not telling it to others! Adults carry this exact same model of operations on into the world of trade secrets. Often, the kind of stuff branded a trade secret can also be absurdly insignificant, but the important thing is that they don’t tell others about it. Today’s companies are at least as interested in the things they don’t do as the things they pretend to be doing and producing. And the doings of such companies aren’t always any loftier than kids playing in a sandbox. In the Finnish magazine Tietoviikko, a columnist once wrote about his friend’s experiences at a new media company that has since gone bankrupt. There, it was said, they generally spent more time writing non-disclosure agreements than they did doing any real business. In hindsight, the guy was quite happy about it. You really wouldn’t want anybody to know about the kind of stuff that was going on inside the new media bubble!

In the light of these observations, there’s an ominous sense that much of what we do is done with a logic of mean-spiritedness, whether it is in business or in our everyday lives! We handle our relationships with other people the same way Arabs handle oil production: ‘After yesterday’s meeting, OPEC announced that it won’t play with you anymore.’

欧元区对农产品实施配额,政府会针对这个配额进行补贴。它们的逻辑是:如果农产品生产超过这个配额的话,那么我们很快就会面临危机。

OK, so I don’t understand the EU farming policy, that’s OK. But I do know there’s a lot of talk in the EU about quotas. There are quotas for milk, quotas for eggs, and quotas for grains. When a farmer gets a certain subsidy for his work, he also commits to not exceed his quota. Because, if farmers did exceed their quotas we’d have more food than the citizens of the EU could eat, and in no time we’d have the same crisis on our hands as the Beaujolais winegrowers.

但是开源社区对这种行为持相反态度,鼓励开放和分享

The Open Source community is turning the practices of the IT industry upside-down. And what is most encouraging about this is that in practice Open Source code seems to be proving that mean-spiritedness is the worse option – openness is better. Could that also mean that music is more beautiful when played and that jokes are funnier when told? Can we learn to identify and eliminate the logic of mean-spiritedness wherever it’s at work in other areas of life, so that along with open code, we can also have an open mind and live a more open and generous life?

2. Part Two: Lessons learned in the world of Open Source

2.1. the deadliness of deadlines(如何看待deadlines)

features, quality, deadline 是一个项目三个最重要的方面。就像CAP一样,我们只能做好其中两个。

In his legendary essay ‘The Cathedral and the Bazaar’, Eric Raymond discusses this principle.9 He comes to the conclusion that in a programming project, as in any project, there are typically three expectations: the finished product must have certain features; it must meet certain demands of quality; and it must be completed by a fixed deadline.

These three demands – features, quality, and deadline – would build a certain tension into any project. If, for instance, the schedule is too tight, there may not be enough time to include all the features you want. But if a project manager leans on his team, demanding that all the features are included and the deadline be met, then they are compelled to do a rushed job and, inevitably, quality suffers. Raymond concludes that by consciously abandoning just one of the demands, you can usually achieve good results on the other two.

大多数的dealines设定都是很随意或者是很官僚的,所以真的有必要让这些deadlines让我们喘不过气吗?

Quality and quantity of features are factors of the corporate world and of production. Perhaps some project manager will employ Eric Raymond’s way of thinking in their next project. But more important is to understand the influence of deadlines on our own lives. To many people a deadline can seem like a matter of actual life or death, and they feel impelled to work like crazy late into the night to meet it. And very often this life-or-death deadline is totally arbitrary or – as in my own case – is fixed to comply with some utterly unproductive bureaucratic detail. And for that we allow ourselves to become so stressed?

如果我们工作是为了快乐的话,那么我们真的没有必要去满足这些人为设计的deadlines. 如果满足这些人为设计或者是某些毫无意义的deadlines, 让我们工作不快乐的话,那又有什么意义呢?

Since we work to have fun, to enjoy it, then why do we drive ourselves into the ground trying to meet artificial deadlines? Why work like drudges, as if it really is a question of life and death? Linus feels there’s no sensible reason for it. You ought to enjoy work, because that’s why you do it. Once again, it’s clear that deadlines are bad for both the worker and the work itself.

2.2. Work undone(没有完成的工作?论如何设定工作优先级)

这个世界上抱怨的人比实际做事情的人要多得多,他们的各种点子也是层出不穷。更要命的是, 当你真的去实现这些点子或者是解决他们问题的时候,他们根本就不关心。并且当可怜的程序员 不断地区满足这些人要求的时候,也预示这个项目就快要黄了(因为它没有解决真实用户的真正问题)。

Unfortunately, one also has to accept that there are a large number of people whose mission in life is to complain. For Linus, who was all excited about making a working operating system for himself, mixed in with the plaudits came the complaints, ‘Linux doesn’t have so and so,’ and ‘Linux can’t do this or that.’ Such people are never satisfied. And alongside them come the propeller heads wanting their ideas to be incorporated: ‘I’ve been thinking you could add such and such a feature to Linux …’ But even if the feature they’d suggested was added to the program, they’d never use it, because by then they’d already have had ten other new ideas about what ‘it would be so cool if you were to …’ The poor programmer would like to make all these Little Helpers happy, but if he tried, he’d find himself swamped by a never-ending stream of requests. What’s worse is that too much popularity of this kind can be the death of a project that had got off to a good start.

如果这些人真的在意他们需求的话,那么他们肯定会找到办法来解决的。毕竟代码是开放的,也没有人 有任何理由去阻止你获得和修改这些代码。

With this in mind, a program developer’s curt reply should be interpreted as a polite negative, a necessarily shortened version of, ‘Because I work on this program as a hobby and for my own enjoyment, I unfortunately lack the time to realize the feature you suggest, and for which I myself have no need. However, I do think your idea is good and, if you want, you can realize it yourself because the code is freely available on the Internet. Working together is fun, too.’

In addition to self-preservation, there is another little seed of truth in the short answer. After all, if the person asking really needed the feature they’d mentioned, they could create it for themself or at least hire someone who could do it for them. Of course, many of these people are truly excited about their good ideas, but when put to them like this, they become considerably less excited. In reality, they don’t believe enough in their great idea to invest more than a few seconds of their time chatting about it, or to invest a penny of their money.

所以如果某个工作长久没有进展,那么很可能是因为真的没有人需要它。如果它真的很重要的话,那么它自己就会出现的。

With everybody doing whatever they feel like, some things often stay undone for a long time, simply because they’re things nobody feels like doing. This gives Linus no cause for concern. If some feature remains unrealized for years, it can’t be all that important, as people have been getting along without it! What Linus teaches us here is that the important stuff will automatically get selected and done, so it need not be worried about.

所以如果老板和你说:这个项目很重要,需要你加班节点完成的话。那么你可以告诉你自己, 如果他真的在乎这个项目的话,那么他一定会雇佣很多人,而不用让我自己一个人加班节点完成。

Even if you don’t happen to have a billion dollars, you can still apply this principle of the Open Source community in your own life. Next time your boss offers you a really important new project that must be done immediately, you can think: If this project is really so important to the company, I’m sure they can hire somebody to do it who won’t have to do it as overtime.

2.3. Don't plan anything(开放心态,拥抱变化)

我觉得与其说是不要做计划,不如说是拥抱变化。

Linus undeniably a great man in the field of computer programming is someone who doesn't fit the mould of these spirit-lifting talks. It seems that the guiding principles at work in the development of Linux have been the lack of vision and determination, or something we might prefer to call openness. Openness to other people's ideas. Openness to changes in plans.

2.4. Do whatever you like(做你喜欢做的事情。做爱?)

当人们问Linus自己如何能参与到Linux中来,他的回答总是“找到你感兴趣的部分,然后参与进来”。 他的回答非常明智:他知道每个人的喜欢是不同的,他也知道不能帮助其他人做决定,然后他也清楚 兴趣对一个人持续投入的重要性。

对于大型项目,或者说对于混乱的人生,想想自己应该做点什么事情呢?求助于别人通常是无效的,不如想想自己喜欢做点什么。

One consequence of this fashion fad was that people started contacting Linus because they wanted to get involved in developing Linux. When they sought his advice about what they should start doing, he came up with another curt answer: Figure out what you're interested in, then join in by doing that.

Linus knew why he gave such non-specific answers. If he arbitrarily suggested that people get involved with this or that project, possibly something currently fascinating to himself, his advice was bound to prove inappropriate for the other person. For one thing, the person seeking advice would probably not be interested in the same things as Linus, and would have a different range of abilities. So, anyone who was given specific advice would probably soon get frustrated with the whole project and end up being angry with both Linus and Linux. Also, no project can benefit greatly from a volunteer who isn't really keen on their part of the work.

2.5. Laziness is a virtue(懒惰是美德)

懒惰的程序员希望事情可以被更加有效地完成,结果导致这些程序员需要编写更多的代码。 这个陈述有点夸张,更准确的说希望事情可以自动化,做事情效率可以更高。

The logic of the claim goes like this: the lazier the programmer, the more code he writes. When a programmer hits a boring, time-consuming and high-on-routines task, he gets lazy. There is nothing worse for a lazy hacker than boring routine tasks. That’s why he decides to write a program that will do the routine tasks for him. This is the program he sits up all night to perfect, seemingly diligently at work. Typing is too arduous for him, so he writes the code for a word processing program. And because it’s too much effort to print out a letter and take it to the postbox, not to mention licking a stamp, he writes the code for e-mail. Now you’ll understand how truly lazy programmers are.

下面是对“如果效率提高了,那大家不就都没事情做了”这种论点的一个讽刺例子

So, laziness is a programmer’s prime virtue. It’s good to remember this contradictory and somewhat amusing claim, because it’s all too easy to forget why computers and computer programs – along with all other technology – were originally invented.

A new nuclear power plant is currently being built in Finland. Before the decision was made to build it, there was lively debate for and against nuclear power. One Member of Parliament who debated the question suggested that more nuclear power would be bad for Finland because the other ways of producing energy employed more people. Now, I must emphasize that I think there are many good reasons not to build more nuclear power plants in the world, but this was the most ridiculous argument I’ve ever heard, and I retain the right to laugh in the face of such an absurd argument.

Naturally, you could actually produce electricity by having all the unemployed people in Finland pedal exercise bikes hooked up to dynamos, which in turn would be hooked into the power grid. That would probably give enough energy to light a fair-sized village, not to mention the added benefit of guaranteeing employment for everybody. But you’d be crazy to do it that way.

2.6. Benevolent Dictator(仁慈的独裁者。为什么这个模型可以实施)

西方对于专制持怀疑态度,是因为他们的历史上出现过许多因为专制带来灾难的事情。 所以即使考虑到了因为协商和妥协带来的成本和低效率问题,他们还是选择了民主。

For those of us living in Western democracies, talk of dictatorship could sound suspicious. Although the directness of a dictatorship is sure to be cost-effective and helps to create a light organizational structure, history has taught us something about the problems inherent in such a system. Alas, few monarchs or dictators have ever been known for their benevolence. So, despite the cost, inefficiency and frustration caused by the negotiations, compromises and voting in a democracy, we have learnt the lessons of history and chosen to live under a democratic system of government

独裁者在软件架构中是需要的,因为这样才能让架构统一。所谓仁慈的独裁者是这个独裁者不能太笨, 没有办法做出好的决策。并且独裁者可以很容易地被更换,因为大家可以快速地fork代码然后在其他地方 选出另外一位BD.

The principles of Open Source generate a curious dynamic, which directly influences the hierarchy of the project organization and the relationships of its members. What would happen if for some reason Linus decided to screw things up and out of spite started making stupid decisions for Linux? Within twenty-four hours the other Linux developers would leave him to fool around on his own, make a copy of the Linux source code somewhere Linus couldn't get his hands on it and keep working without him. It's also extremely likely that the hackers involved would quickly elect more or less consciously and more or less democratically a new benevolent dictator.

All that is possible because the code itself is open and freely available for anyone to use. As dictator, Linus has all the authority while at the same time having no power whatsoever. The others see him as their leader only because he is so talented or benevolent. There is a fascinating equilibrium of power and freedom. The dictator has the power and the others have the freedom to vote with their feet.

所以BD模型依赖于什么?依赖于这个组织/项目的Openness.

Such situations lack the openness that is inseparable from the Open Source process. Without openness there can't be complete trust in other members of the organization; instead, we are stuck with having to use the unwieldy processes of democracy to protect ourselves against power struggles and a variety of other forms of mean-spiritedness. Openness is so integral to the system of an Open Source project that such precautionary measures aren蒸 necessary.

这个独裁者身边还有很多小的独裁者,所以这种独裁是一种精英领导体制。但是不管怎么说, 大家相信这种精英的能力和判断,并且大家可以随时决定不带你玩(话虽如此,但是从真实的历史来看, 这种乌合之众造反还能成功的例子,真的是没有)。

As at the W3C, decisions regarding the development of Linux are usually made after thorough discussion. Linus in particular takes the advice of his closest and longer-term colleagues, who within the community are known as his lieutenants. These lieutenants are like mini-dictators, and each one has their own area of responsibility within the project. Just as for Linus, their authority is based on talent proven over a period of years and the trust that it has generated. The dictatorship is therefore a meritocracy.

There have also been instances where, despite Linus being against a particular solution, he has grudgingly had to accept what is wanted by the majority. If he didn't, one day he might not be the dictator anymore. The open system works lightly, but is nonetheless democratic.

2.7. Tolerance(包容别人和自己)

对待MS的包容性让Linux发展更加健康。如果你所有的行动是建立在对别人威胁的回击之上的话, 那么你就会陷入恶性循环,而没有办法做好自己的事情。下面谈到了苏联解体之后美国间谍的事情。

More than anything, however, Linus Torvalds tolerant attitude makes sense for the sake of his own mental health. It's not healthy for one's central motivation to be hatred and fear. And, what if one day Linux did manage to bring down Microsoft? Would life then lose its meaning? In order to energize themselves, would the programmers then have to find some new and fearful threat to compete against?

People whose actions stem from this idea of having to outdo some perceived threat usually end up in just such a vicious circle. Take the US Army, for instance. You'd have thought that the fall of the Soviet Union would have been a happy day for American soldiers and CIA spies. It was no such thing. Far from it! All it meant to them was looming unemployment. They therefore needed to conjure up a new threat somewhere and find it fast. First they tried painting dark clouds in the shape of international drug dealing. For some reason that didn't quite have the cachet of an enemy nuclear state, so they had to look elsewhere. Now they're finally got their ideal enemy. Terrorists. They are apparently everywhere, but can’t be found. That means there’s plenty of work to be done in defending the nation, the money keeps coming in, and motivation is high. Again, the United States of America is a force to be reckoned with.

学会容忍能让自己生活更好,无论如何,bugs是修复不完的。开心专注地做好自己能做的事情就对了。

To me, Linus Torvalds example of tolerance shows great insight. As a talented programmer he cannot accept programs with bugs on his own computer, but their existence as such does not bother him. He can do a better job of writing code himself and is happy with the work he does. At the same time, it wouldn't bother him at all if everybody else wanted to use Windows instead of Linux. After all, that's not his problem. In a world of power struggles and perceived threats, Linus's tolerant attitude is breath of fresh air and an open source of peace of mind for everyone.

2.8. Diversity(多样性)

多样性我认为是“do whatever you like"和"tolerance"的必然结果。

However, despite all the problems I've mentioned, the Open Source community is unanimous in feeling that the diversity available in Linux even though it is sometimes inefficient is valuable. We must always return to the guiding principles of Open Source, as discussed earlier in this book. Programmers do whatever they like to do what excites them. If someone wants to make GNOME software, who's to stop them? And who loses if someone makes GNOME programs, even when everyone else wants to use KDE programs? These principles inevitably lead to diversity, because the Open Source community is not Soviet Russia, where everybody must follow whatever five-year plan is currently in force.

多样性除了可以利于竞争之外,从整体上看还减少了因为“孤独一掷”造成的巨大风险。

There are also benefits to be gained when different projects compete with one another. The making of graphical user interfaces is a relatively young science, and nobody really knows which is the one and only right way of getting things done. Competing projects may come up with different solutions to the same problem, and not until later does it become clear which of them provided the wiser and smoother solution. Thus, the existence of two separate projects lessens the risk of the GUI world of Linux ending up in a technological cul-de-sac(死胡同).

2.9. Courange and Curiosity(勇气和好奇)

面对美女也要像面对计算机一样,充满好奇,敢于尝试。

If the beauty were a computer, the nerd would behave differently – courageously. With the beauty sitting opposite there would come a moment of truth – time for a smoke test! The nerd would say something, despite the high likelihood of getting a chilling puff of smoke in the face. It’s not as if this nerd hasn’t had his share of failed smoke tests with computer programs, and they have never slowed him down. Actually, the nerd doesn’t even see such failures as failures. They are just different experiments and just as much fun and educational as the successful tests. And it’s only through failed smoke tests that you finally get to the ones that don’t fail.

Had the nerd applied this same logic to approaching the woman, he’d have spoken to her right from the start. Her reaction would either have been positive or negative. But as far as the nerd is concerned, both reactions are useful and productive, because they immediately satisfy his curiosity and desire to try new things. Not even a rebuff means failure for the nerd; it’s just a smoke test and whatever the result you are then free to go on and try something else.

2.10. Names and Identity(名字和身份,亦或是荣誉)

2.11. What is ethics? (道德准则)

Mad cow disease – or bovine spongiform encephalopathy (BSE) – was caused by feeding cows a mixture of meal made from the brains and bones of dead cows and sheep. I don’t know what’s wrong with European farming, but here we go again! Since good brains were going to waste, somebody thought it would be a good idea to feed them back to the cows and save the money farmers would otherwise spend on real feed. A few years later we had mad cow disease and tens of Europeans dead as a result of eating the beef from these cows.

Although Finland was spared this epidemic, which mostly devastated the British farming industry, the crisis was widely discussed here. On a TV chat show, a farmer from the north said that in the early nineties feed which had included brain matter had been offered to farmers in Finland. However, Finnish farmers considered that having cows grow fat on the offal from other cows was completely unethical and they refused to buy the feed.

So, in northern Finland we had a farmer who spoke of what is ethical. Today, the infamous ‘meat-and-bone meal’ is banned throughout Europe. Yet, ten years earlier, farmers in Finland had refused to use it because they didn’t think it was ethical! And since the meat-and-bone meal had not been used here, Finland was spared mad cow disease and the tragic consequences that followed it in other parts of Europe.

3. Part Three: The business models of a hacker

原来Debian是这么地强大

For anyone who measures their Linux by the number of programs that come with it, Debian includes 8,710 different software programs, which is by far the biggest. And all this can be installed for free by downloading it from the Internet or alternatively from CDs that cost around €8 from DataClub. Imagine, 8,710 different programs, all nicely bundled up in an easily installable and working package.

The other Linux versions are usually only available for computers that have Intel’s so-called x86 architecture and in some instances some other architectures, such as the PowerPC (Apple computers) or IA-64 (Intel’s new 64 bit architecture) or AMD’s Opteron. At least Red Hat and SuSE support IBM’s mainframe architectures in addition to these. But Debian is in a league of its own. It works on eleven different architectures!

以稳定性著称的Debian

Debian has by its mere existence balanced the Linux world, by offering a free alternative to the commercial Linux brands. Where most Linux companies release new versions of their Linuxes as often as twice a year, Debian can let up to two years pass without releasing a new version. Perhaps more than any of the other Linuxes, Debian has kept to the principle of releasing a product only ‘when it’s ready’. By the time Debian finally releases a new version, many of the programs included in it are already relatively old, because Debian observes a very conservative testing and quality control policy. In part, the delay also reflects the Debian principle of releasing for all eleven different architectures at the same time. Most other Linux distributions release the version for each of the architectures as they get them done.

4. Part Four: Open Life

关于Gutenberg(古腾堡)计划创始人Michael Hart对计算机未来价值的看法:存储而非计算力才是未来最大的价值。

However, Michael Hart didn’t want to get involved in such projects, and tried to come up with something else to do with his computer time. After all, at the time this was a resource that would have cost $100 million to buy! You couldn’t exactly leave it unused.

Having thought about it for an hour and 47 minutes – so it is said – Michael Hart predicted that the greatest future value of computers would not be their calculating capabilities, but in storing information and in the unlimited distribution and search for information. Not a bad guess! Thus began Project Gutenberg, and the first information stored by Michael was the US Declaration of Independence, which being a public document was common property; that is, in the public domain.

The Declaration of Independence may not qualify for a place in the top ten of Western literature – particularly for non-Americans like myself – but it was more than nationalistic pride that made Michael Hart choose that particular text. There were actually some very practical concerns: it was suitably short, which meant it would fit it on the disks available in 1971. The time for storing the whole of Moby Dick and the Bible came later, as the technology developed.