To many, the success of the open source community seems like magic. It would be nice if free, high-quality software could continue to be produced, but in the real world of competition and resource scarcity, that would be sustainable.

For developers,
Why do they invest so much personal energy in a job that seems unrewarding?For business owners,
Is it more economic to open source code than to close it?For open source projects,
How to ensure that it is full of oxygen and nutrients run up?
The Cathedral and the FairAuthor Eric.S.Raymond (ESR) is the standard-bearer of the open source software movement. He is one of the main creators of the INTERCAL programming language and has contributed to the EMACS editor. ESR is also the famous author of Fetchmail. He also wrote a setup program originally used for Linux kernel setup. The Cathedral and the FairBook, including the famous “Eric. S.R aymond five songs”, this “five of” the first summarized the successful experience of free software and Linux, for the first time the hacker culture, the free software movement and its law of development summary written, but also for the first time, the operation of the mechanism behind the open source community to use explained in sociology, psychology, economics, and anthropology, And present it in a way that’s easy to understand. It can be said that these five episodes of ESR have answered all aspects of the problems faced in participating in open source, predicted the possible problems, and provided feasible solutions.
I have attached a link to the electronic version of The book Cathedral and Bazaar, which you can download and read on your own.

Review images

If you don’t have time, or want quick answers to some of the questions I raised at the end of this article, you can read on. I have briefly integrated what I think is the most illuminating paragraph, eliminating some of the basic theories of the collective unconscious, so that you can quickly get to the magical power of open source.

What’s the difference between a hacker and a hacker? In the book, the author calls good programmers a “hacker” and explains that they are not a “cracker.” Hackers built the Internet, hackers built the UNIX operating system, hackers ran Usenet, hackers made the WWW work. If you are part of the culture, if you contribute to the community, if other people in the community know you and call you a hacker, then you are a hacker. There’s a group of people who profess to be hackers, but they’re not. The main purpose of these people (most of them young kids) is to break into other people’s computers or crack telephone systems. Real hackers call them crackers and don’t want to talk to them at all. Most real hackers believe that hackers are lazy, irresponsible and not very smart, and that being able to hack security systems doesn’t make you a hacker any more than hotwire doesn’t make you a car engineer. Unfortunately, many journalists and writers use the word “hacker” incorrectly to describe hackers, which makes real hackers very unhappy.

The fundamental difference between the two is: hackers build, hackers destroy.

For developers, why would they invest so much personal energy into an open source project that doesn’t seem to pay off?

For programmers, it is very beneficial to have a good reputation and reputation among your peers (other programmers), even if your peer recognition determines your value.The first, and most obvious, is that having a good reputation among your peers is a basic motivator that we all crave for evolutionary reasons. Secondly, reputation is a good way to attract others’ attention and cooperation. If a person is generous, intelligent, fair dealing, capable of leadership, or has other good qualities, it is easier to be convinced of the benefits of working with them. These qualities can be found in an open source project. Third, if your gift economy and exchange economy or command system are intertwined, your reputation is likely to spread to the latter two environments, giving you a higher status there. To put it simply, if you are a programmer in a company and you work on open source projects, the success of open source projects can also lead to higher salaries and power positions in the future.

There are special circumstances in hacker culture that make reputation more valuable than in the “real world.” This is because, unlike real things or money, the value of writing programs is not obvious and it is hard to distinguish good from bad objectively, so the success of a hacker’s competition for position depends subtly on the critical judgment of his peers.

What do you need to do to make you better in an open source project?

The overall cool ranking is as follows: do a feature that’s included in the release > do a cool feature that’s included in the release > Major or hard-to-find bug fixes > Simple debugging and documentationThe specific evaluation criteria are as follows:
A. If it doesn’t work the way I expect it to, it’s not good — no matter how smart and original it is.This rule makes open source software tend to stay in beta for a long time, with developers releasing version 1.0 only when they are sure the software won’t have many problems. Version 1.0 in the open source world means “developers are willing to bet their reputations on it”, whereas version 1.0 in the closed world means “don’t use this version if you are careful”.
B. Extension work is better than repetitive work within a feature (on an existing work).A simple interpretation of this rule is that original work is better than feature duplication. But not really, if you copy the functionality of closed source software and use it to crack closed protocols or formats and make the domain usable in the open source world, your work is as commendable as the original work.
 
C. Works that make it into the main distribution are better than those that don’t. Works included in all major distributions are the most respected.Major distributions include not only the big Linux distributions such as Red Hat, Debian, Caldera, and SuSE, but also other distributions such as the BSD distribution or the Free Software Foundation source set, whose quality is naturally guaranteed as the publisher protects its reputation.
D. “use” is the truest compliment. Category killers are better than similar competitors.Trust in the judgment of others is the foundation of peer review. This is natural, because no one has the time to carefully evaluate all possible options, so people tend to think that the works used by the many are better than those used by the few. If the work is so good that no one wants to use any other alternative, the author gains enormous prestige. The original category killers that are most widely used are included in all major distributions and have the greatest possible peer respect. Those who manage to do this more than once will be called, half-jokingly, half-seriously, “demigods”.
E. People who consistently devote themselves to hard and tedious tasks (such as debugging or writing documents) are more admirable than those who just pick on fun and easy tasks.This rule describes how communities can reward hackers for work they are inherently unwilling to do but need to do, and to some extent it contradicts this rule:
F. Significant feature extensions are better than low-level fixes.This rule seems to apply to one-off jobs. Adding features to software is likely to pay off more than fixing a bug — unless the bug is particularly nasty or hard to find, because finding it is a testament to great skill and talent. But when it comes to long-term work, a person who consistently focuses on and fixes bugs (even common ones) has a higher status than someone who spends a similar amount of work adding simple features. Why is open source peer review the only scalable way to get reliable and high-quality software? As discussed above, working on open source projects gives programmers the most valuable peer reputation, and more talented programmers flock to open source projects to improve their quality through peer review. In contrast to the traditional, closed-source, tightly managed model, open source creates value by “playing”. In this context, it is doubly important for open source hackers to maximize productivity through “self-organization,” where volunteers choose projects and social environments ruthlessly choose capabilities. Open source has succeeded in part because the open source culture accepts only the most talented 5% of programmers. Only the best content can be included in an open source project. There can be a 100-fold difference in productivity between the most talented programmers and those just passing muster. A tricky question is often asked because of this discrepancy: wouldn’t it be better for an individual project or an industry to get rid of the 50 percent of less competent programmers? Long-thinking managers have long understood that the problem would be much simpler if the goal of traditional software management were simply to turn net losses for the least able into small gains. The success of the open source community has made the problem more acute, with strong evidence that it is often cheaper and more effective to recruit self-selected volunteers from the Internet. And a lot of the people in the traditionally managed buildings would rather be doing something else.” If the traditional, closed-source, tightly managed model of software development really wants to rely on this Maginot line of “boring” parts, it will survive in an application domain only because no one has yet discovered that the problems are really interesting, and no one has yet found a way around them. Once open source forces are involved in these areas, users will find that the problem is finally being solved for its own sake, and like any creative endeavor, the problem’s own charm is far more effective in motivating people than money alone. A traditional management structure designed purely to solve motivation problems may be tactically good but strategically wrong, which works in the short term but is bound to fail in the long run.
“Now, one of the most important results of open source’s success is that ‘play’ is the most economically efficient mode of working in creative activity.”5. What is the harm of closed source products of current software enterprises? Does closed source software really make money by selling software? The code written for sale is just the tip of the programming iceberg. Most programmers are maintenance, troubleshooting, and extension. The usual pricing strategy — placing a high purchase price on software and a relatively low or zero maintenance fee — is bound to result in poor service.
In fact, software is largely a service industry.The traditional closed-source model is a factory model that encourages software vendors to produce “shelf software” — software that sells well but has no real value. Because if you pay a fixed sales price for a service that never expires, the more the business sells, the higher the maintenance costs will increase exponentially. If not the factory model, what? To effectively adjust the true cost structure of the software lifecycle, we need a price structure based on service contracts, on-time subscriptions, and the continuous exchange of value between suppliers and consumers. The price structure of ERP (Enterprise Resource Planning) systems, the largest business software product, is such that companies like Baan and Peoplesoft actually make their money from after-sales consulting because their development costs are too high to be fully covered by fixed purchase prices. In a free market that presupposes efficiency, we can predict that this will be the price structure that most vendors will eventually follow as the software industry matures. The above analysis makes it clear that open source software is challenging the established order not only technically but also economically. The effect of making software “free” seems to force us into a fee-driven world, and makes it clear how fragile closed-source software has been to rely on the value of software sales. It turns out that selling the core code of software doesn’t make business owners a dime a day, and that a more sustainable fee model is to charge for services. 6 business owners may choose closed source because they want to protect core technologies, prevent competition and form monopoly. If open source is adopted, aren’t these advantages gone? If you hire someone to write professional accounting software for your business, it’s not much better to choose closed source than open source. If you want closed source, the only logical reason is if you want to sell the software to someone else or prevent competitors from using it. The obvious answer is that you are protecting sales value, but 95 per cent of software is written for internal use, so what is there to gain from closed source when there is no sales value to speak of? The second scenario (protecting competitive advantage) needs a little analysis. Suppose you open source the accounting software, it becomes popular, and it gets better with the help of the community. Is it an argument against open source that your competitors are using it, that your competitors are getting benefits without paying the development costs, and it’s affecting your business?” Maybe, maybe not.
The real question is whether the benefits you get from spreading the development burden outweigh the losses you get from increased competitionSome people tend to miscalculate in this trade-off :(a) ignore the functional improvements that community development brings. (b) Not treating development costs already incurred as sunk costs. The assumption is that you’re going to pay development costs anyway, so it’s not right to lump it into open source costs if you do.”
We have argued that “open source peer review is the only scalable way to get reliable and high-quality software”, so even if there is competition, the business owner’s open source software, with the contribution of more intelligent people, is likely to exceed the cost of so-called core code development.Let’s look at core code and monopolies. If you’re a hardware vendor, you might fear that open source will give away important details about how your product works, allowing competitors to copy and gain unfair competitive advantage. That might have made sense when product cycles were three to five years long, but today competitors spend a large part of their product cycle copying and understanding, when they should be innovating and thinking about differentiating.” The idea is not new, as former KGB chief Oleg Kalugin put it well: “Let’s say we plan to steal advanced technology from companies like IBM or other electronics, and since the West is so far ahead of us in this area, it will take us years to realize this intelligence achievement. And then, about five or seven years later, the West will have moved on, and we will have to steal and steal and fall further and further behind. “What does that mean? In the short term, keeping drivers secret seems ok; But in the long run, this can be a bad strategy (especially if competitors are already open source). If you have to keep the source code secret, you can burn the code into a ROM on the board and publish the ROM interface. You want to be as open as possible, build markets and show potential customers that you’re confident — that you’re ahead of your competitors, both ideologically and creatively. If you stick to closed source, you’ll probably face the worst — your secrets will still be exposed, you won’t get free development help, and you won’t expect your competitors to be stupid enough to take the time to clone your stuff. Most importantly, you miss out on the bright path to early acceptance. A large and influential market (the server administrators who effectively run the entire Internet and most commercial data centers) will put your company in the doghouse for being hopeless and stubborn. If you don’t understand why it’s open, it doesn’t matter, they’ll buy boards from people who do. Does it make more economic sense for business owners to open source code than to close it? In contrast to the closed source sales model, open source software is an indirect sales value model for business owners. This model has many advantages:
 
[A]. Capture the market.In this model, you can leverage open source software to establish or maintain a market position for proprietary software (which generates direct revenue). The most common form is open-source client software to help sell server-side software or to help portals get subscriptions and advertising.”
B. Hardware frostingThis model applies to hardware manufacturers (including network cards, peripherals and even entire computer systems). Market pressures force hardware companies to write and maintain software (device drivers, configuration tools, even entire operating systems),
But software itself is not a profit center. It is an expense — and often a very real one.
 In this case, open source is the best choice because there is no revenue stream to lose and no downside. Vendors gain access to a rapidly expanding developer workforce, faster and more flexible responses to customer needs, and better reliability due to peer review. It would be ported to other environments for free, and would probably gain increased customer loyalty as the customer’s technical team would spend more time refining the code to suit its needs.
[C] deliver recipes and open restaurantsOpen source software dominates the market not for closed source software but for services. This model was first used by Cygnus Solutions, probably the first commercial effort of open source (1989). At the time, the GNU toolset provided a common development environment for a variety of machines, but each tool was configured differently on different platforms and had to be patched differently. Cygnus modified the GNU toolset and wrote a “configuration” script to unify the build process (i.e., recipes). They then sold this version of the GNU toolset along with the binary software and support services (i.e., restaurants) that came with it. In compliance with the GPL, they allow customers to freely use, distribute, and modify the software, but if more users use the support services than promised, the service contract will be terminated or a higher fee will be charged. This is also what Red Hat and other Linux publishers are doing. What they’re really selling isn’t the software, not the bits, but the added value they offer: they’re integrating and testing to give customers an evolving operating system that is commercially (if only more modest) and backward compatible with the rest of the brand’s operating systems. They also offer free installation support and an optional ongoing support contract.
D. Appendage strategyPeople sell add-ons to open source software, such as mugs or T-shirts at the low end and specialist books or articles at the high end. A good example of the adjunct strategy is O’Reilly&Associates, publisher of many excellent open-source software reference books. To boost its reputation in the marketplace, O’Reilly actually hired and backed some well-known open source hackers (Larry Wall and Brian Behlendorf, for example).
E. Charge now, free in the future“This model distributes binary and source software under closed licenses with closed terms that expire. For example, you could include a license that allows free distribution, prohibits free commercial use, and guarantees that the software will comply with the GPL terms one year after release or after the vendor closes down. The benefit of this model is that it convinces customers that the product is customizable — because they have the source code, and because the product is “always available” because the open source community takes over when the original company dies.
F. The software is free and the brand is charged“This is an exploratory business model. You can open source a software technology, retain its test suite or compatibility standards, and then sell a brand certification that, if a company’s product is certified, indicates that their implementation of the technology is compatible with other products that have that brand certification. This is how Sun should treat Java and Jini.
G. Software is free and content is chargedThis is another business model being explored. Imagine a service like a subscription to stock quotes, where the value is not on the client side or the server side, but in providing objective and trusted information. So, you can open source software and sell content subscriptions. As hackers port clients to new platforms or improve them in various ways, your market naturally expands. (So AOL should open source its client software.) What kind of source code is suitable for opening? 1. Reliability/stability/scalability is very important. 2. There is no easy and convenient way to verify the correctness of design and implementation other than independent peer review.
 
3. The software is critical to the customer’s business. As software becomes more and more important to consumers, consumers will rationally want to avoid monopolistic suppliers, which leads to greater interest in open source, and thus the market competitiveness of open source suppliers.4. The software creates or operates a common computing or communications infrastructure.

5. Key methods (or methods that perform an equivalent function) belong to common knowledge.”

How can open source projects be oxygenated and nourished to run?
Open source projects are liberating to a certain extent, but management is essential if they are to be sustained and run. The core issues of management are ownership and incentives, but the two really go hand in hand, because it’s the simplest and most universal way to let project owners decide who gets motivated and who gets blamed.This kind of ownership, on the one hand is the ownership in the sense of control, on the other hand is the ownership in the sense of reputation return. The owner of the project has to defend the project, make coercive decisions in case of conflict, and trade a portion of his reputation in return for the work of others. This is reminiscent of sharecropping, which is very similar, except of course: even if the contributor no longer works for the project, his name remains on the honor roll and continues to “earn” a certain amount of fame. Ownership generally falls into three categories, and the most effective one now is the “good faith dictator” model (such as the Linux kernel), where the dictator may not be a single person, but may be a team of several people with a common preference. Another is voting committees (such as Apache), which are often used in the absence of good leadership, but the product is often too complex, inconsistent, and lacking a consistent vision. There is also the Perl developer model, which rotates power within senior collaborators, that is, the subsystem person in charge. We have seen that the distribution of design rights and the dispersion of ownership lead to increased complexity of project roles. Although it is an effective incentive distribution mechanism, it also dilutes the power of the project leader and the leader’s power to defuse potential conflicts. Another approach to conflict resolution is “senior wins” — if two or more contributors have a disagreement that is objectively difficult to resolve, and no one has territorial rights to the disagreement, then the party who has put the most work into the entire project (i.e. has the most territorial rights to the entire project) wins. Of course, for these conflict resolution mechanisms to work, the entire hacker community needs to be willing to implement them, and the only enforcement mechanisms available are “critiquing” and “banishing” — publicly denouncing those who break customs and refusing to work with them again.

Understand the above problems, you will find that open source is not only a liberal, open and sharing concept, it has real economic benefits and development potential. For program developers, it is an effective means to accumulate influence and enhance their own value.

Of course, it cannot be said that closed source is wrong, open source and closed source are not incompatible, neither can replace the other in the short term, the most important thing is to see which way can better solve the problem in the future. Finally, the open source community is a rules community. To do open source, the habit of following rules is the foundation of everything. The most effective way to become a master is to imitate the habits of the master’s mind — both intellectually and emotionally

Wechat long press to identify the QR code in the picture
To admire the authors’
(. -_ -.

Review imagesRead the original article for the complete collection of the Cathedral and Bazaar ebook