- 浏览: 395548 次
-
文章分类
最新评论
-
zhuifengmzw:
如果耶稣时主,那他就不会死,也就谈不上复活。
他是人,所以才会 ...
:::::. 十月二十六日 -
sepac:
顶个,有感觉!
让我想起了武松。。。
..:诗如剑 -
paofan:
呵呵,在java爱, 你应该算一个人物,有些观点是很有代表性的 ...
开源人物之九:赖霖枫 -
ray_linn:
paofan 写道神和妖有时间只是一念之差。
网易一开始也只 ...
开源人物之九:赖霖枫 -
paofan:
神和妖有时间只是一念之差。网易一开始也只不过是个perl bb ...
开源人物之九:赖霖枫
![]()
After observing a contradiction between the 'official' ideology defined by open-source licenses and the actual behavior of hackers, we examine the actual customs which regulate the ownership and control of open-source software. We discover that they imply an underlying theory of property rights homologous to the Lockean theory of land tenure. We relate that to an analysis of the hacker culture as a 'gift culture' in which participants compete for prestige by giving time, energy, and creativity away. We then examine the implications of this analysis for conflict resolution in the culture, and develop some prescriptive implications.
An Introductory Contradiction
Anyone who watches the busy, tremendously productive world of Internet open-source software for a while is bound to notice an interesting contradiction between what open-source hackers say they believe and the way they actually behave - between the official ideology of the open-source culture and its actual practice.
Cultures are adaptive machines. The open-source culture is a response to an identifiable set of drives and pressures. As usual, the culture's adaptation to its circumstances manifests both as conscious ideology and as implicit, unconscious or semi-conscious knowledge. And, as is not uncommon, the unconscious adaptations are partly at odds with the conscious ideology.
In this paper, we will dig around the roots of that contradiction, and use it to discover those drives and pressures. We will deduce some interesting things about the hacker culture and its customs. We will conclude by suggesting ways in which the culture's implicit knowledge can be leveraged better.
The Varieties of Hacker Ideology
The ideology of the Internet open-source culture (what hackers say they believe) is a fairly complex topic in itself. All members agree that open source (that is, software which is freely re-distributable and can readily be evolved and modified to fit changing needs) is a good thing and worthy of significant and collective effort. This agreement effectively defines membership in the culture. However, the reasons individuals and various subcultures give for this belief vary considerably.
One degree of variation is zealotry; whether open source development is regarded merely as a convenient means to an end (good tools and fun toys and an interesting game to play) or as an end in itself.
A person of great zeal might say "Free software is my life! I exist to create useful, beautiful programs and information resources, and then give them away." A person of moderate zeal might say "Open source is a good thing which I am willing to spend significant time helping happen." A person of little zeal might say "Yes, open source is OK sometimes. I play with it and respect people who build it."
Another degree of variation is in hostility to commercial software and/or the companies perceived to dominate the commercial software market.
A very anti-commercial person might say "Commercial software is theft and hoarding. I write free software to end this evil." A moderately anti-commercial person might say "Commercial software in general is OK because programmers deserve to get paid, but companies that coast on shoddy products and throw their weight around are evil." A commercial person might say "Commercial software is OK, I just use and/or write open-source software because I like it better."
All nine of the attitudes implied by the cross-product of the above categories are represented in the open-source culture. The reason it is worthwhile to point out the distinctions is because they imply different agendas, and different adaptive and cooperative behaviors.
Historically, the most visible and best-organized part of the hacker culture has been both very zealous and very anti-commercial. The Free Software Foundation (FSF) founded by Richard M. Stallman (RMS) supported a great deal of open-source development from the early 1980s on, including tools like Emacs and GCC which are still basic to the Internet open-source world, and seem likely to remain so for the forseeable future.
For many years the FSF was the single most important focus of open-source hacking, producing a huge number of tools still critical to the culture. The FSF was also long the only sponsor of open source with an institutional identity visible to outside observers of the hacker culture. They effectively defined the term 'free software', deliberately giving it a confrontational weight (which the newer label 'open source' just as deliberately avoids).
Thus, perceptions of the hacker culture from both within and outside it tended to identify the culture with the FSF's zealous attitude and perceived anti-commercial aims (RMS himself denies he is anti-commercial, but his program has been so read by most people, including many of his most vocal partisans). The FSF's vigorous and explicit drive to "Stamp Out Software Hoarding!" became the closest thing to a hacker ideology, and RMS the closest thing to a leader of the hacker culture.
The FSF's license terms, the "General Public Licence" (GPL), expresses the FSF's zealous and anti-commercial attitudes. It is very widely used in the open-source world. North Carolina's Sunsite is the largest and most popular software archive in the Linux world. In July 1997 about half the Sunsite software packages with explicit license terms used GPL.
But the FSF was never the only game in town. There was always a quieter, less confrontational and more market-friendly strain in the hacker culture. The pragmatists were loyal not so much to an ideology as to a group of engineering traditions founded on early open-source efforts which predated the FSF. These traditions included, most importantly, the intertwined technical cultures of Unix and the pre-commercial Internet.
The typical pragmatist attitude is only moderately anti-commercial, and its major grievance against the corporate world is not 'hoarding' per se. Rather it is that world's perverse refusal to adopt superior approaches incorporating Unix and open standards and open-source software. If the pragmatist hates anything, it is less likely to be 'hoarders' in general than the current King of the software establishment (formerly IBM, now Microsoft).
To pragmatists, the GPL is important as a tool rather than an end in itself. Its main value is not as a weapon against 'hoarding', but as a tool for encouraging software sharing and the growth of bazaar-mode development communities. The pragmatist values having good tools and toys more than he dislikes commercialism, and may use high-quality commercial software without ideological discomfort. At the same time, his open-source experience has taught him standards of technical quality that very little closed software can meet.
For many years, the pragmatist point of view expressed itself within the hacker culture mainly as a stubborn current of refusal to completely buy into the GPL in particular or the FSF's agenda in general. Through the 1980s and early 1990s, this attitude tended to be associated with fans of Berkeley Unix, users of the BSD license, and the early efforts to build open-source Unixes from the BSD source base. These efforts, however, failed to build bazaar communities of significant size, and became seriously fragmented and ineffective.
Not until the Linux explosion of early 1993-1994 did pragmatism find a real power base. Although Linus Torvalds never made a point of opposing RMS, he set an example by looking benignly on the growth of a commercial Linux industry, by publicly endorsing the use of high-quality commercial software for specific tasks, and by gently deriding the more purist and fanatical elements in the culture.
A side effect of the rapid growth of Linux was the induction of a large number of new hackers for which Linux was their primary loyalty and the FSF's agenda primarily of historical interest. Though the newer wave of Linux hackers might describe the system as "the choice of a GNU generation", most tended to emulate Torvalds more than Stallman.
Increasingly it was the anti-commercial purists who found themselves in a minority. How much things had changed would not become apparent until the Netscape announcement in January 1998 that it would distribute Navigator 5.0 in source. This excited more interest in 'free software' within the corporate world. The subsequent call to the hacker culture to exploit this unprecedented opportunity and to re-label its product from 'free software' to 'open source' was met with a level of instant approval that surprised everybody involved.
In a reinforcing development, the pragmatist part of the culture was itself becoming polycentric by the mid-1990s. Other semi-independent communities with their own self-consciousness and charismatic leaders began to bud from the Unix/Internet root stock. Of these, the most important after Linux was the Perl culture under Larry Wall. Smaller, but still significant, were the traditions building up around John Osterhout's Tcl and Guido Van Rossum's Python languages. All three of these communities expressed their ideological independence by devising their own, non-GPL licensing schemes.
![]()
Promiscuous Theory, Puritan Practice
Through all these changes, nevertheless, there remained a broad consensus theory of what 'free software' or 'open source' is. The clearest expression of this common theory can be found in the various open-source licenses, all of which have crucial common elements.
In 1997 these common elements were distilled into the Debian Free Software Guidelines, which became the Open Source Definition. Under the guidelines defined by the OSD, an open-source license must protect an unconditional right of any party to modify (and redistribute modified versions of) open-source software.
Thus, the implicit theory of the OSD (and OSD-conforming licenses such as the GPL, the BSD license, and Perl's Artistic License) is that anyone can hack anything. Nothing prevents half a dozen different people from taking any given open-source product (such as, say the Free Software Foundations's gcc C compiler), duplicating the sources, running off with them in different evolutionary directions, but all claiming to be the product.
In practice, however, such 'forking' almost never happens. Splits in major projects have been rare, and always accompanied by re-labeling and a large volume of public self-justification. It is clear that, in such cases as the GNU Emacs/XEmacs split, or the gcc/egcs split, or the various fissionings of the BSD splinter groups, that the splitters felt they were going against a fairly powerful community norm.
In fact (and in contradiction to the anyone-can-hack-anything consensus theory) the open-source culture has an elaborate but largely unrecognized set of ownership customs. These customs regulate who can modify software, the circ umstances under which it can be modified, and (especially) who has the right to redistribute modified versions back to the community.
The taboos of a culture throw its norms into sharp relief. Therefore, it will be useful later on if we summarize some important ones here.
- There is strong social pressure against forking projects. It does not happen except under plea of dire necessity, with much public self-justification, and with a renaming.
- Distributing changes to a project without the cooperation of the moderators is frowned upon, except in special cases like essentially trivial porting fixes.
- Removing a person's name from a project history, credits or maintainer list is absolutely not done without the person's explicit consent.
In the remainder of this paper, we shall examine these taboos and ownership customs in detail. We shall inquire not only into how they function but what they reveal about the underlying social dynamics and incentive structures of the open-source community.
![]()
Ownership and Open Source
What does 'ownership' mean when property is infinitely reproducible, highly malleable, and the surrounding culture has neither coercive power relationships nor material scarcity economics?
Actually, in the case of the open-source culture this is an easy question to answer. The owner(s) of a software project are those who have the exclusive right, recognized by the community at large, to re-distribute modified versions [1].
According to the standard open-source licenses, all parties are equals in the evolutionary game. But in practice there is a very well-recognized distinction between 'official' patches, approved and integrated into the evolving software by the publicly recognized maintainers, and 'rogue' patches by third parties. Rogue patches are unusual, and generally not trusted [2].
That public redistribution is the fundamental issue is easy to establish. Custom encourages people to patch software for personal use when necessary. Custom is indifferent to people who redistribute modified versions within a closed user or development group. It is only when modifications are posted to the open-source community in general, to compete with the original, that ownership becomes an issue.
There are, in general, three ways to acquire ownership of an open-source project. One, the most obvious, is to found the project. When a project has only one maintainer since its inception and the maintainer is still active, custom does not even permit a question as to who owns the project.
The second way is to have ownership of the project handed to you by the previous owner (this is sometimes known as 'passing the baton'). It is well understood in the community that project owners have a duty to pass projects to competent successors when they are no longer willing or able to invest needed time in development or maintenance work.
It is significant that in the case of major projects, such transfers of control are generally announced with some fanfare. While it is unheard of for the open-source community at large to actually interfere in the owner's choice of succession, customary practice clearly incorporates a premise that public legitimacy is important.
For minor projects, it is generally sufficient for a change history included with the project distribution to note the change of ownership. The clear presumption is that if the former owner has not in fact voluntarily transferred control, he or she may reassert control with community backing by objecting publicly within a reasonable period of time.
The third way to acquire ownership of a project is to observe that it needs work and the owner has disappeared or lost interest. If you want to do this, it is your responsibility to make the effort to find the owner. If you don't succeed, then you may announce in a relevant place (such as a Usenet newsgroup dedicated to the application area) that the project appears to be orphaned, and that you are considering taking responsibility for it.
Custom demands that you allow some time to pass before following up with an announcement that you have declared yourself the new owner. In this interval, if someone else announces that they have been actually working on the project, their claim trumps yours. It is considered good form to give public notice of your intentions more than once. More points for good form if you announce in many relevant forums (related newsgroups, mailing lists); and still more if you show patience in waiting for replies. In general, the more visible effort you make to allow the previous owner or other claimants to respond, the better your claim if no response is forthcoming.
If you have gone through this process in sight of the project's user community, and there are no objections, then you may claim ownership of the orphaned project and so note in its history file. This, however, is less secure than being passed the baton, and you cannot expect to be considered fully legitimate until you have made substantial improvements in the sight of the user community.
I have observed these customs in action for twenty years, going back to the pre-FSF ancient history of open-source software. They have several very interesting features. One of the most interesting is that most hackers have followed them without being fully aware of doing so. Indeed, the above may be the first conscious and reasonably complete summary ever to have been written down.
Another is that, for unconscious customs, they have been followed with remarkable (even astonishing) consistency. I have observed the evolution of literally hundreds of open-source projects, and I can still count the number of significant violations I have observed or heard about on my fingers.
Yet a third interesting feature is that as these customs have evolved over time, they have done so in a consistent direction. That direction has been to encourage more public accountability, more public notice, and more care about preserving the credits and change histories of projects in ways which (among other things) establish the legitimacy of the present owners.
These features suggest that the customs are not accidental, but are products of some kind of implicit agenda or generative pattern in the open-source culture that is utterly fundamental to the way it operates.
An early respondent pointed out that contrasting the Internet hacker culture with the cracker/pirate culture (the "warez d00dz" centered around game-cracking and pirate bulletin-board systems) illuminates the generative patterns of both rather well. We'll return to the d00dz for contrast later in the paper.
![]()
Locke and Land Title
To understand this generative pattern, it helps to notice a historical analogy for these customs that is far outside the domain of hackers' usual concerns. As students 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.
In this theory, there are three ways to acquire ownership of land.
On a frontier, where land exists that has never had an owner, one can acquire ownership by homesteading, mixing one's labor with the unowned land, fencing it, and defending one's title.
The usual means of transfer in settled areas is transfer of title, that is receiving the deed from the previous owner. In this theory, the concept of 'chain of title' is important. The ideal proof of ownership is a chain of deeds and transfers extending back to when the land was originally homesteaded.
Finally, the common-law theory recognizes that land title may be lost or abandoned (for example, if the owner dies without heirs, or the records needed to establish chain of title to vacant land are gone). A piece of land that has become derelict in this way may be claimed by adverse possession - one moves in, improves it, and defends title as if homesteading.
This theory, like hacker customs, evolved organically in a context where central authority was weak or nonexistent. It developed over a period of a thousand years from Norse and Germanic tribal law. Because it was systematized and rationalized in the early modern era by the English political philosopher John Locke, it is sometimes referred to as the 'Lockean' theory of property.
Logically similar theories have tended to evolve wherever property has high economic or survival value and no single authority is powerful enough to force central allocation of scarce goods. This is true even in the hunter-gatherer cultures that are sometimes romantically thought to have no concept of 'property'. For example, in the traditions of the !Kung San bushmen of the Kalahari Desert, there is no ownership of hunting grounds. But there is ownership of water holes and springs under a theory recognizably akin to Locke's.
The !Kung San example is instructive, because it shows that Lockean property customs arise only where the expected return from the resource exceeds the expected cost of defending it. Hunting grounds are not property because the return from hunting is highly unpredictable and variable, and (although highly prized) not a necessity for day-to-day survival. Water holes, on the other hand, are vital to survival and small enough to defend.
The 'noosphere' of this paper's title is the territory of ideas, the space of all possible thoughts [3]. What we see implied in hacker ownership customs is a Lockean theory of property rights in one subset of the noosphere, the space of all programs. Hence 'homesteading the noosphere', which is what every founder of a new open-source project does.
Fare Rideau correctly points out that hackers do not exactly operate in the territory of pure ideas. He asserts that hackers really only own programming projects - intense focus points of material labor (development, service, etc); reputation, trustworthiness, and other individual traits are then associated with these projects. He asserts that the space spanned by hacker projects, is not the noosphere but a sort of dual of it, the space of noosphere-exploring program projects. With a nod to astrophysicists, it would be etymologically correct to call this dual space the 'ergosphere' or 'sphere of work'.
In practice, the distinction between noosphere and ergosphere is not important for the purposes of this paper. It is dubious whether the 'noosphere' in the pure sense Fare insists on can be said to exist in any meaningful way; one would almost have to be a Platonist philosopher to believe in it. And the distinction between noosphere and ergosphere is only of practical importance if one wishes to assert that ideas (the elements of the noosphere) cannot be owned, but their instantiations as projects can. This question leads to issues in the theory of intellectual property which are beyond the scope of this paper.
To avoid confusion, however, it is important to note that neither the noosphere nor the ergosphere is the same as the totality of virtual locations in electronic media that is sometimes (to the disgust of most hackers) called 'cyberspace'. Property there is regulated by completely different rules that are closer to those of the material substratum - essentially, he who owns the media and machines on which a part of 'cyberspace' is hosted owns that piece of cyberspace as a result.
The Lockean structure suggests strongly that open-source hackers observe the customs they do in order to defend some kind of expected return from their effort. The return must be more significant than the effort of homesteading projects, the cost of maintaining version histories that document 'chain of title', and the time cost of doing public notifications and a waiting period before taking adverse possession of an orphaned project.
Furthermore, the 'yield' from open source must be something more than simply the use of the software, something else that would be compromised or diluted by forking. If use were the only issue, there would be no taboo against forking, and open-source ownership would not resemble land tenure at all. In fact, this alternate world (where use is the only yield) is the one implied by existing open-source licenses.
We can eliminate some candidate kinds of yield right away. Because you can't coerce effectively over a network connection, seeking power is right out. Likewise, the open-source culture doesn't have anything much resembling money or an internal scarcity economy, so hackers cannot be pursuing anything very closely analogous to material wealth.
There is one way that open-source activity can help people become wealthier, however - a way that provides a valuable clue to what actually motivates it. Occasionally, the reputation one gains in the hacker culture can spill over into the real world in economically significant ways. It can get you a better job offer, or a consulting contract, or a book deal.
This kind of side effect, however, is at best rare and marginal for most hackers; far too much so to make it convincing as a sole explanation, even if we ignore the repeated protestations by hackers that they're doing what they do not for money but out of idealism or love.
However, the way such economic side-effects are mediated is worth examination. Below we'll see that an understanding of the dynamics of reputation within the open-source culture itself has considerable explanatory power
The Hacker Culture as Gift Economy
To understand the role of reputation in the open-source culture, it is helpful to move from history further into anthropology and economics, and examine the difference between exchange cultures and gift cultures.
Humans have an innate drive to compete for social status; it's wired in by our evolutionary history. For most human history before the invention of agriculture, our ancestors lived in small nomadic hunting-gathering bands. High-status individuals got the healthiest mates and access to the best food. This drive for status expresses itself in different ways, depending largely on the degree of scarcity of survival goods.
Most ways humans have of organizing are adaptations to scarcity and want. Each way carries with it different ways of gaining social status.
The simplest way is the command hierarchy. In command hierarchies, allocation of scarce goods is done by one central authority and backed up by force. Command hierarchies scale very poorly [4]; they become increasingly brutal and inefficient as they get larger. For this reason, command hierarchies above the size of an extended family are almost always parasites on a larger economy of a different type. In command hierarchies, social status is primarily determined by access to coercive power.
Our society is predominantly an exchange economy. This is a sophisticated adaptation to scarcity that, unlike the command model, scales quite well. Allocation of scarce goods is done in a decentralized way through trade and voluntary cooperation (and in fact, the dominating effect of competitive desire is to produce cooperative behavior). In an exchange economy, social status is primarily determined by having control of things (not necessarily material things) to use or trade.
Most people have implicit mental models for both of the above, and how they interact with each other. Government, the military, and organized crime (for example) are command hierarchies parasitic on the broader exchange economy we call 'the free market'. There's a third model, however, that is radically different from either and not generally recognized except by anthropologists; the gift culture.
Gift cultures are adaptations not to scarcity but to abundance. They arise in populations that do not have significant material-scarcity problems with survival goods. We can observe gift cultures in action among aboriginal cultures living in ecozones with mild climates and abundant food. We can also observe them in certain strata of our own society, especially in show business and among the very wealthy.
Abundance makes command relationships difficult to sustain and exchange relationships an almost pointless game. In gift cultures, social status is determined not by what you control but by what you give away.
Thus the Kwakiutl chieftain's potlach party. Thus the multi-millionaire's elaborate and usually public acts of philanthropy. And thus the hacker's long hours of effort to produce high-quality open source.
Examined in this way, it is quite clear that the society of open-source hackers is in fact a gift culture. Within it, there is no serious shortage of the 'survival necessities' - disk space, network bandwidth, computing power. Software is freely shared. This abundance creates a situation in which the only available measure of competitive success is reputation among one's peers.
This observation is not in itself entirely sufficient to explain the observed features of hacker culture, however. The cracker d00dz have a gift culture which thrives in the same (electronic) media as that of the hackers, but their behavior is very different. The group mentality in their culture is much stronger and more exclusive than among hackers. They hoard secrets rather than sharing them; one is much more likely to find cracker groups distributing sourceless executables that crack software than tips that give away how they did it.
What this shows, in case it wasn't obvious, is that there is more than one way to run a gift culture. History and values matter. I have summarized the history of the hacker culture elsewhere [5]; the ways in which it shaped present behavior are not mysterious. Hackers have defined their culture by set of choices about the form which their competition will take. It is that form which we will examine in the remainder of this paper.
![]()
The Joy of Hacking
In making this 'reputation game' analysis, by the way, I do not mean to devalue or ignore the pure artistic satisfaction of designing beautiful software and making it work. We all experience this kind of satisfaction and thrive on it. People 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.
So perhaps we should consider another model of hacker behavior in which the pure joy of craftsmanship is the primary motivation. This 'craftsmanship' model would have to explain hacker custom as a way of maximizing both the opportunities for craftsmanship and the quality of the results. Does this conflict with or suggest different results than the 'reputation game' model?
Not really. In examining the 'craftsmanship' model, we come back to the same problems that constrain hackerdom to operate like a gift culture. How can one maximize quality if there is no metric for quality? If scarcity economics doesn't operate, what metrics are available besides peer evaluation? It appears that any craftsmanship culture ultimately must structure itself through a reputation game - and, in fact, we can observe exactly this dynamic in many historical craftsmanship cultures from the medieval guilds onwards.
In one important respect, the 'craftsmanship' model is weaker than the 'gift culture' model; by itself, it doesn't help explain the contradiction we initially described at the start of this paper.
Finally, the 'craftsmanship' motivation itself may not be psychologically as far removed from the reputation game as we might like to assume. Imagine your beautiful program locked up in a drawer and never used again. Now imagine it being used effectively and with pleasure by many people. Which dream gives you satisfaction?
Nevertheless, we'll keep an eye on the craftsmanship model. It is intuitively appealing to many hackers, and explains some aspects of individual behavior well enough.
After I published the first version of this paper, an anonymous respondent commented: "You may not work to get reputation, but the reputation is a real payment with consequences if you do the job well." This is a subtle and important point. The reputation incentives continue to operate whether or not a craftsman is aware of them; thus, ultimately, whether or not a hacker understands his own behavior as part of the reputation game, his behavior will be shaped by that game.
The Many Faces of Reputation
There are reasons general to every gift culture why peer repute (prestige) is worth playing for.
First and most obviously, good reputation among one's peers is a primary reward. We're wired to experience it that way for evolutionary reasons touched on earlier. Many people learn to redirect their drive for prestige into various sublimations that have no obvious connection to a visible peer group, such as "honor", "ethical integrity", "piety", etc.; this does not change the underlying mechanism.
Secondly, prestige is a good way (and in a pure gift economy, the only way) to attract attention and cooperation from others. 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.
Thirdly, if your gift economy is in contact with or intertwined with an exchange economy or a command hierarchy, your reputation may spill over and earn you higher status there.
Beyond these general reasons, the peculiar conditions of the hacker culture make prestige even more valuable than it would be in a 'real world' gift culture.
The main 'peculiar condition' is that the artifacts one gives away (or, interpreted another way, are the visible sign of one's gift of energy and time) are very complex. Their value is nowhere near as obvious as that of material gifts or exchange-economy money. It is much harder to objectively distinguish a fine gift from a poor one. Accordingly, the success of a giver's bid for status is delicately dependent on the critical judgement of peers.
Another peculiarity is the relative purity of the open-source culture. Most gift cultures are compromised - either by exchange-economy relationships such as trade in luxury goods, or by command-economy relationships such as family or clan groupings. No significant analogues of these exist in the open-source culture; thus, ways of gaining status other than by peer repute are virtually absent.
![]()
Ownership Rights and Reputation Incentives
We are now in a position to pull together the previous analyses into a coherent account of hacker ownership customs. We understand the yield from homesteading the noosphere now; it is peer repute in the gift culture of hackers, with all the secondary gains and side-effects that implies.
From this understanding, we can analyze the Lockean property customs of hackerdom as a means of maximizing reputation incentives; of ensuring that peer credit goes where it is due and does not go where it is not due.
The three taboos we observed above make perfect sense under this analysis. One's reputation can suffer unfairly if someone else misappropriates or mangles one's work; these taboos (and related customs) attempt to prevent this from happening.
- Projects that fork into several states (or "children") are bad because it exposes pre-fork contributors to a reputation risk that they can only control by being active in all states (or children) simultaneously. This would generally be too confusing or difficult to be practical.
- Distributing rogue patches (or, much worse, rogue binaries) exposes the owners to an unfair reputation risk. Even if the official code is perfect, the owners will catch flak from bugs in the patches (but see [2]).
- Surreptitiously filing someone's name off a project is, in cultural context, one of the ultimate crimes. It steals the victim's gift to be presented as the thief's own.
All three of these taboo behaviors inflict global harm on the open-source community as well as local harm on the victim(s). Implicitly they damage the entire community by decreasing each potential contributor's perceived likelihood that gift/productive behavior will be rewarded.
It's important to note that there are alternate candidate explanations for two of these three taboos.
First, hackers often explain their antipathy to forking projects by bemoaning the wasteful duplication of work it would imply as the child products evolved in more-or-less parallel into the future. They may also observe that forking tends to split the co-developer community, leaving both child projects with fewer brains to work with than the parent.
A respondent has pointed out that it is unusual for more than one offspring of a fork to survive with significant 'market share' into the long term. This strengthens the incentives 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.
Dislike of rogue patches is often explained by observing that they can complicate bug-tracking enormously, and inflict work on maintainers who have quite enough to do catching their own mistakes.
There is considerable truth to these explanations, and they certainly do their bit to reinforce the Lockean logic of ownership. But while intellectually attractive, they fail to explain why so much emotion and territoriality gets displayed on the infrequent occasions that the taboos get bent or broken - not just by the injured parties, but by bystanders and observers who often react quite harshly. Cold-blooded concerns about duplication of work and maintenance hassles simply do not sufficiently explain the observed behavior.
Then, too, there is the third taboo. It's hard to see how anything but the reputation-game analysis can explain this. The fact that this taboo is seldom analyzed much more deeply than "It wouldn't be fair" is revealing in its own way, as we shall see in the next section.
![]()
The Problem of Ego
At the beginning of the paper I mentioned that the unconscious adaptive knowledge of a culture is often at odds with its conscious ideology. We've seen one major example of this already in the fact that Lockean ownership customs have been widely followed despite the fact that they violate the stated intent of the standard licenses.
I have observed another interesting example of this phenomenon when discussing the reputation-game analysis with hackers. This is that many hackers resisted the analysis and showed a strong reluctance to admit that their behavior was motivated by a desire for peer repute or, as I incautiously labeled it at the time, 'ego satisfaction'.
This illustrates an interesting point about the hacker culture. It consciously distrusts and despises egotism and ego-based motivations; self-promotion tends to be mercilessly criticized, even when the community might appear to have something to gain from it. So much so, in fact, that the culture's 'big men' and tribal elders are required to talk softly and humorously deprecate themselves at every turn in order to maintain their status. How this attitude meshes with an incentive structure that apparently runs almost entirely on ego cries out for explanation.
A large part of it, certainly, stems from the generally negative Europo-American attitude towards 'ego'. The cultural matrix of most hackers teaches them that desiring ego satisfaction is a bad (or at least immature) motivation; that ego is at best an eccentricity tolerable only in prima-donnas and often an actual sign of mental pathology. Only sublimated and disguised forms like "peer repute", "self-esteem", "professionalism" or "pride of accomplishment" are generally acceptable.
I could write an entire other essay on the unhealthy roots of this part of our cultural inheritance, and the astonishing amount of self-deceptive harm we do by believing (against all the evidence of psychology and behavior) that we ever have truly 'selfless' motives. Perhaps I would, if Friedrich Wilhelm Nietzsche and Ayn Rand had not already done an entirely competent job (whatever their other failings) of deconstructing 'altruism' into unacknowledged kinds of self-interest.
But I am not doing moral philosophy or psychology here, so I will simply observe one minor kind of harm done by the belief that ego is evil, which is this: it has made it emotionally difficult for many hackers to consciously understand the social dynamics of their own culture.
But we are not quite done with this line of investigation. The surrounding culture's taboo against visibly ego-driven behavior is so much intensified in the hacker (sub)culture that one must suspect it of having some sort of special adaptive function for hackers. Certainly the taboo is weaker among many other gift cultures, such as the peer cultures of theater people or the very wealthy.
![]()
The Value of Humility
Having established that prestige is central to the hacker culture's reward mechanisms, we now need to understand why it has seemed so important that this fact remain semi-covert and largely unadmitted.
The contrast with the pirate culture is instructive. In that culture, status-seeking behavior is overt and even blatant. These crackers seek acclaim for releasing "zero-day warez" (cracked software redistributed on the day of the original uncracked version's release) but are closemouthed about how they do it. These magicians don't like to give away their tricks. And, as a result, the knowledge base of the cracker culture as a whole increases only slowly.
In the hacker community, by contrast, one's work is one's statement. There's a very strict meritocracy (the best craftsmanship wins) and there's a strong ethos that quality should (indeed must) be left to speak for itself. The best brag is code that "just works", and that any competent programmer can see is good stuff. Thus, the hacker culture's knowledge base increases rapidly.
A taboo against ego-driven posturing therefore increases productivity. But that's a second-order effect; what is being directly protected here is the quality of the information in the community's peer-evaluation system. That is, boasting or self-importance is suppressed because it behaves like noise tending to corrupt the vital signals from experiments in creative and cooperative behavior.
The hacker culture's medium of gifting is intangible, its communications channels are poor at expressing emotional nuance, and face-to-face contact among its members is the exception rather than the rule. This gives it a lower tolerance of noise than most other gift cultures, and goes a long way to explain the example in public humility required of its tribal elders.
Talking softly is also functional if one aspires to be a maintainer of a successful project; one must convince the community that one has good judgement, because most of the maintainer's job is going to be judging other people's code. Who would be inclined to contribute work to someone who clearly can't judge the quality of their own code, or whose behavior suggests they will attempt to unfairly hog the reputation return from the project? Potential contributors want project leaders with enough humility and class be able to say, when objectively appropriate, "Yes, that does work better than my version, I'll use it" - and to give credit where credit is due.
Yet another reason for humble behavior is that in the open source world, you seldom want to give the impression that a project is 'done'. This might lead a potential contributor not to feel needed. The way to maximize your leverage is to be humble about the state of the program. If one does one's bragging through the code, and then says "Well shucks, it doesn't do x, y, and z, so it can't be that good", patches for x, y, and z will often swiftly follow.
Finally, I have personally observed that the self-deprecating behavior of some leading hackers reflects a real (and not unjustified) fear of becoming the object of a personality cult. Linus Torvalds and Larry Wall both provide clear and numerous examples of such avoidance behavior. Once on a dinner expedition with Larry Wall I joked "You're the alpha hacker here - you get to pick the restaurant." He flinched audibly. And rightly so; failing to distinguish their shared values from their leaders has ruined a good many communities, a pattern of which he and Linus cannot fail to be fully aware. On the other hand, most hackers would love to have Larry's problem, if they could but bring themselves to admit it.
![]()
Global Implications of the Reputation-Game Model
The reputation-game analysis has some more implications that may not be immediately obvious. Many of these derive from the fact that one gains more prestige from founding a successful project than from cooperating in an existing one. One also gains more from projects which are strikingly innovative, as opposed to being 'me, too' incremental improvements on software that already exists. On the other hand, software that nobody but the author understands or has a need for is a non-starter in the reputation game, and it's often easier to attract good notice by contributing to an existing project than it is to get people to notice a new one. Finally, it's much harder to compete with an already successful project than it is to fill an empty niche.
Thus, there's an optimum distance from one's neighbors (the most similar competing projects). Too close and one's product will be a 'me, too!' of limited value, a poor gift (one would be better off contributing to an existing project). Too far away, and nobody will be able to use, understand, or perceive the relevance of one's effort (again, a poor gift). This creates a pattern of homesteading in the noosphere that rather resembles that of settlers spreading into a physical frontier - not random, but like a diffusion-limited fractal wave. Projects tend to get started to fill functional gaps near the frontier.
Some very successful projects become 'category killers'; nobody wants to homestead anywhere near them because competing against the established base for the attention of hackers would be too hard. People who might otherwise found their own distinct efforts end up, instead, adding extensions for these big, successful projects. The classic 'category killer' example is GNU Emacs; its variants fill the ecological niche for a fully-programmable editor so completely that nobody has even attempted a truly different design since the early 1980s. Instead, people write Emacs modes.
Globally, these two tendencies (gap-filling and category-killers) have driven a broadly predictable trend in project starts over time. In the 1970s most of the open source that existed was toys and demos. In the 1980s the push was in development and Internet tools. In the 1990s the action shifted to operating systems. In each case, a new and more difficult level of problems was attacked when the possibilities of the previous one had been nearly exhausted.
This trend has interesting implications for the near future. In early 1998, Linux looks very much like a category-killer for the niche 'free operating systems' - people who might otherwise write competing OSs are now writing Linux device drivers and extensions instead. And most of the lower-level tools the culture ever imagined having as open-source already exist. What's left?
Applications. As the year 2000 approaches, it seems safe to predict that open-source development effort will increasingly shift towards the last virgin territory - programs for non-techies. A clear early indicator is the developmentof GIMP, the Photoshop-like image workshop that is open source's first major application with the kind of end-user-friendly GUI interface considered de rigeur in commercial applications for the last decade. Another is the amount of buzz surrounding application-toolkit projects like KDE and GNOME.
Finally, the reputation-game analysis explains the oft-cited dictum that you do not become a hacker by calling yourself a hacker - you become a hacker when other hackers call you a hacker. A 'hacker', considered in this light, is somebody who has shown (by contributing gifts) that he or she both has technical ability and understands how the reputation game works. This judgement is mostly one of awareness and acculturation, and can only be delivered by those already well inside the culture.
Noospheric Property and the Ethology of Territory
To understand the consequences of property customs, it will help us to look at them from yet another angle; that of animal ethology, specifically the ethology of territory.
Property is an abstraction of animal territoriality, which evolved as a way of reducing intra-species violence. By marking his bounds, and respecting the bounds of others, a wolf diminishes his chances of being in a fight which could weaken or kill him and make him less reproductively successful.
Similarly, the function of property in human societies is to prevent inter-human conflict by setting bounds that clearly separate peaceful behavior from aggression. It is sometimes fashionable to describe human property as an arbitrary social convention, but this is dead wrong. Anybody who has ever owned a dog who barked when strangers came near its owner's property has experienced the essential continuity between animal territoriality and human property. Our domesticated cousins of the wolf are instinctively smarter about this than a good many human political theorists.
Claiming property (like marking territory) is a performative act, a way of declaring what boundaries will be defended. Community support of property claims is a way to minimize friction and maximize cooperative behavior. These things remain true even when the "property claim" is much more abstract than a fence or a dog's bark, even when it's just the statement of the project maintainer's name in a README file. It's still an abstraction of territoriality, and (like other forms of property) our instinct-founded models of property are territorial ones evolved to assist conflict resolution.
This ethological analysis at first seems very abstract and difficult to relate to actual hacker behavior. But it has some important consequences. One is in explaining the popularity of World Wide Web sites, and especially why open-source projects with Web sites seem so much more 'real' and substantial than those without them.
Considered objectively, this seems hard to explain. Compared to the effort involved in originating and maintaining even a small program, a Web page is easy, so it's hard to consider a Web page evidence of substance or unusual effort.
Nor are the functional characteristics of the Web itself sufficient explanation. The communication functions of a Web page can be as well or better served by a combination of an FTP site, a mailing list, and Usenet postings. In fact it's quite unusual for a project's routine communications to be done over the Web rather than via a mailing list or newsgroup. Why, then, the popularity of Web sites as project homes?
The metaphor implicit in the term 'home page' provides an important clue. While founding an open-source project is a territorial claim in the noosphere (and customarily recognized as such) it is not a terribly compelling one on the psychological level. Software, after all, has no natural location and is instantly reproducible. It's assimilable to our instinctive notions of 'territory' and 'property', but only after some effort.
A project home page concretizes an abstract homesteading in the spac e of possible programs by expressing it as 'home' territory in the more spatially-organized realm of the World Wide Web. Descending from the noosphere to 'cyberspace' doesn't get us all the way to the real world of fences and barking dogs yet, but it does hook the abstract property claim more securely to our instinctive wiring about territory. And this is why projects with Web pages seem more 'real'.
This ethological analysis also encourages us to look more closely at mechanisms for handling conflict in the open-source culture. It leads us to expect that, in addition to maximizing reputation incentives, ownership customs should also have a role in preventing and resolving conflicts.
![]()
Causes of Conflict
In conflicts over open-source software we can identify four major issues:
- Who gets to make binding decisions about a project?
- Who gets credit or blame for what?
- How to reduce duplication of effort and prevent rogue versions from complicating bug tracking?
- What is the Right Thing, technically speaking?
If we take a second look at the "What is the Right Thing" issue, however, it tends to vanish. For any such question, either there is an objective way to decide what is accepted by all parties or there isn't. If there is, the game is over and everybody wins. If there isn't, it reduces to "who decides?"
Accordingly, the three problems a conflict-resolution theory has to resolve about a project are (A) where the buck stops on design decisions, (B) how to decide which contributors are credited and how, and (C) how to keep a project group and product from fissioning into multiple branches.
The role of ownership customs in resolving issues (A) and (C) is clear. Custom affirms that the owners of the project make the binding decisions. We have previously observed that custom also exerts heavy pressure against dilution of ownership by forking.
It's instructive to notice that these customs make sense even if one forgets the reputation game and examines them from within a pure 'craftmanship' model of the hacker culture. ......
发表评论
-
开源人物之九:赖霖枫
2010-01-27 11:34 1814雨林木风,ylmf。 这个人与洪磊的境遇,一个是天上,一个是 ... -
Howto: Setup a DNS server with bind
2009-11-26 14:46 1293Howto: Setup a DNS server with ... -
关于承诺的意见及未来的影响
2009-04-05 01:38 995很多很多事需要重头计划 重头做起 -
微软病毒
2008-10-20 00:00 1067马上发作 这是一个伟大的时刻。 为此我激动万分。 -
汶川地震与开源社区
2008-05-17 02:54 0有网友前往灾区,发贴提出以下需求: ============= ... -
Editor
2008-04-16 10:38 1211I hope I can change it. -
夏特古道
2008-01-26 01:48 1486夏特古道穿越重要 ... -
模拟城市开源了
2008-01-14 12:41 4595http://www.donhopkins.com/home/ ... -
开源人物之八:Herbert Xu
2007-12-07 10:35 4943年底了,大家怀着不同的心情, ,期待着2008年的到来。 前 ... -
上海开源组织第17次会议(2007.12.01)
2007-11-29 11:32 1145Coffee Bean&Tea Leaf 地址: 黄 ... -
龙软基地
2007-11-15 11:08 1143闪电,光 -
:::亿家门菜馆
2007-11-14 15:56 1421赵善德, 这是一个奇迹。宝山区长逸路15号建配龙西大门(近淞良 ... -
::: 关键字
2007-11-14 10:00 991五一国际劳动节五四青年节听说明年开始要改了哈有意思。 -
::: 你可以
2007-11-13 17:30 939用goole的地图看这个世界用goole的搜索找熟悉的名字你可 ... -
::: 松下
2007-11-09 12:14 10881894年生1918 创业1932 再次创业 -
::: 记者
2007-11-09 11:36 1154进入阿富汗的第一位华人女记者。此次又成为进入伊拉克战地的中国记 ... -
::: Free Software
2007-11-08 17:40 1034There is no free lunch.There is ... -
::: 上海需要什么?
2007-11-08 13:37 1087需要向海尔这样的民族工业。俞老师, 你行。 -
::: 这一年
2007-11-08 13:20 902过得太快了 啊 -
::: 2007 Special Year
2007-11-08 13:07 880For me
相关推荐
语言:English ...草原家园1.4 Weedemandreap.com 1.5 Fresheggsdaily.com 1.6 Thefrugalchicken.com 1.7小房子生活1.8 Purelivingforlife.com 1.9现代家园1.10 Homestead-Honey.com 1.11 The Grownetwork....
内容概要:本文详细介绍了如何利用三菱FX3G/FX3S PLC通过485接口控制四台E700变频器的方法。首先,文章讲解了硬件连接的具体步骤,包括485BD扩展板的安装以及变频器之间的线路连接方式。接着,深入探讨了变频器参数的设定,确保各设备能够正确通信。然后,重点阐述了PLC程序的设计,包括MOV指令的应用、CRC校验的实现以及RS指令的使用。此外,还涉及了触摸屏的配置方法,使用户可以通过触摸屏进行频率设定和状态监控。最后,提供了常见问题的解决方案,如超时时间设置不当、CRC校验错误等。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是那些熟悉三菱PLC和变频器操作的人群。 使用场景及目标:适用于需要通过PLC控制多个变频器的工业应用场景,旨在提高系统的响应速度和稳定性,降低开发成本。具体目标包括掌握485接口的硬件连接、参数设置、PLC编程技巧以及故障排查方法。 其他说明:文中提供的方案不仅限于三菱品牌,其他支持Modbus RTU协议的变频器也可以参照此方案进行配置。
最新版kibana-9.0.0-windows-x86_64.zip
内容概要:本文详细介绍了基于STM32的PID温控系统的设计与实现,涵盖硬件选型、PID算法实现、温度传感器驱动、PWM驱动控制以及LCD显示等多个方面。系统采用STM32F103C8T6作为主控芯片,通过PID算法实现精确的温度控制,利用PWM驱动半导体制冷片实现加热和制冷的双向控制。文中提供了详细的代码示例,包括PID初始化、温度采集、PWM输出控制、LCD显示刷新等功能模块。此外,还讨论了常见的调试问题及解决方法,如积分限幅、温度传感器滤波、H桥驱动保护等。 适合人群:具有一定嵌入式开发基础的研发人员,特别是对PID控制算法和温控系统感兴趣的工程师。 使用场景及目标:适用于需要高精度温度控制的应用场合,如实验室设备、工业自动化控制系统等。目标是帮助读者掌握PID温控系统的原理和实现方法,能够独立搭建和调试类似的温控系统。 其他说明:文中提供的Proteus仿真文件可以帮助初学者更好地理解和验证系统的工作原理。完整的工程代码和仿真文件可以在评论区获取。
2303040222橡胶232熊文栋(苯乙烯悬浮聚合)副本.pdf
内容概要:本文详细介绍了如何使用MATLAB及其工具包yalmp和cplex实现含冰蓄冷空调的冷热电联供型微网(CCHP-MG)多时间尺度优化调度模型。主要内容涵盖日前计划和日内调度两大部分,前者通过多场景描述应对可再生能源的不确定性,后者提出双层滚动优化模型以适应冷热负荷变化。文中不仅展示了具体的MATLAB代码实现细节,如场景生成、优化模型构建以及求解方法,还讨论了一些调试过程中遇到的问题及解决方案。 适合人群:从事能源管理和电力系统优化的研究人员和技术人员,尤其是对MATLAB有一定基础并关注冷热电联供系统的从业者。 使用场景及目标:适用于希望深入了解CCHP-MG系统优化调度原理的人群,旨在帮助他们掌握如何利用MATLAB进行此类系统的建模与优化,从而提高能源利用率、降低运营成本。 其他说明:文章强调了冰蓄冷空调在CCHP-MG系统中的重要作用,指出其能够有效协调冷热电之间的关系,同时通过实例演示了如何处理实际运行中的不确定性和复杂性。此外,作者还分享了一些实用的经验教训,如场景削减技术和求解器设置优化等。
nRF-Connect Android源码,开发ble手机app必备
JDBC的Jar包
基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计,个人经导师指导并认可通过的高分设计项目,评审分99分,代码完整确保可以运行,小白也可以亲自搞定,主要针对计算机相关专业的正在做大作业的学生和需要项目实战练习的学习者,可作为毕业设计、课程设计、期末大作业,代码资料完整,下载可用。 基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设计基于Python的天气预测和天气可视化项目(源码+文档说明)高分毕业设
内容概要:本文详细介绍了如何利用MATLAB将预训练的深度学习模型(如ResNet50、YOLOv2和LaneNet)转化为高效的C++代码,并部署到嵌入式系统中。首先,通过ResNet50展示了图像分类任务的代码生成流程,强调了输入图像的预处理和归一化步骤。接着,YOLOv2用于车辆检测,讨论了anchor box的可视化及其优化方法,特别是在Jetson Nano平台上实现了显著的速度提升。最后,LaneNet应用于车道线识别,探讨了实例分割和聚类算法的实现细节,以及如何通过OpenMP和CUDA进行性能优化。文中还提供了多个实用技巧,如选择合适的编译器版本、处理自定义层和支持动态输入等。 适合人群:具有一定MATLAB和深度学习基础的研发人员,尤其是关注嵌入式系统和高性能计算的应用开发者。 使用场景及目标:适用于希望将深度学习模型高效部署到嵌入式设备的研究人员和工程师。主要目标是提高模型推理速度、降低内存占用,并确保代码的可移植性和易维护性。 其他说明:文中不仅提供了详细的代码示例和技术细节,还分享了许多实践经验,帮助读者避免常见的陷阱。此外,还提到了一些高级优化技巧,如SIMD指令集应用和内存管理策略,进一步提升了生成代码的性能。
内容概要:本文详细介绍了利用MATLAB实现CT成像仿真的全过程,特别是滤波反投影(FBP)算法的具体实现。首先,通过radon函数生成投影信号,接着进行傅立叶变换将投影数据映射到频域,在频域中应用Ram-Lak滤波器进行滤波,然后通过逆傅立叶变换回到时域,最后使用iradon函数完成反投影重建。文中不仅提供了完整的代码实现,还分享了许多实用的经验和注意事项,如补零操作、滤波器选择以及插值方法的影响等。 适合人群:从事医学影像处理的研究人员和技术爱好者,尤其是有一定MATLAB基础并希望深入了解CT成像原理的人群。 使用场景及目标:适用于想要深入理解CT成像原理及其具体实现方式的学习者。通过亲手实践,能够更好地掌握滤波反投影算法的工作机制,提高解决实际问题的能力。 其他说明:作者强调了传统FBP算法的重要性,并鼓励读者尝试不同的参数配置以获得更好的重建效果。此外,还提到了未来可以探索的方向,比如使用GPU加速反投影过程。
内容概要:本文详细介绍了ESC(电子稳定控制系统)的标定开发流程,涵盖标定前准备、参数调整实战、验证测试等多个方面。首先,标定前需要搭建控制器与上位机的连接,如编写Python CAN通讯工具。接着,在参数调整过程中,涉及到具体参数的选择与调整,如横摆角速度阈值、滑移率补偿等,并且需要注意数据溢出等问题。验证测试部分则强调了使用MATLAB进行离线数据分析以及处理实车数据中的异常值。此外,文章还讲述了标定工程师在不同环境下的实际工作经验,如极端天气下的标定挑战,以及如何通过调整PID控制器参数来优化车辆表现。最后,文章指出标定工作的终极目标是在确保安全的同时提升驾驶体验。 适合人群:从事汽车电控系统开发的技术人员,尤其是对标定工程师日常工作感兴趣的读者。 使用场景及目标:适用于希望深入了解ESC标定全过程的专业人士,旨在帮助他们掌握从理论到实践的具体方法和技术要点。 其他说明:文中不仅提供了具体的代码示例,还分享了许多宝贵的实际操作经验和教训,对于提高标定效率和准确性具有重要指导意义。
一、环境准备 操作系统 CentOS 7/8 或 Ubuntu 20.04 LTS(推荐)16 确保网络配置正确(IP、网关、DNS)6 关闭SELinux和防火墙(临时关闭命令:setenforce 0,systemctl stop firewalld)8 依赖环境 数据库:MySQL/MariaDB(版本需适配Zabbix)13 Web服务器:Apache/Nginx(需支持PHP)17 PHP版本:≥7.2(建议安装php-gd、php-mysqlnd等扩展)17 硬件要求:2核CPU、4GB内存、20GB磁盘1 二、安装步骤(以CentOS 7为例) 1. 安装Zabbix Server bash Copy Code # 安装YUM源及依赖 rpm -Uvh https://repo.zabbix.com/zabbix/6.0/rhel/7/x86_64/zabbix-release-6.0-1.el7.noarch.rpm yum install -y zabbix-server-mysql zabbix-web-mysql zabbix-agent mariadb-server:ml-citation{ref="7,8" data="citationList"} 2. 配置数据库 bash Copy Code # 启动数据库并创建Zabbix用户 systemctl start mariadb && systemctl enable mariadb mysql -e "CREATE DATABASE zabbix CHARACTER SET utf8 COLLATE utf8_bin" mysql -e "GRANT ALL ON zabbix.* TO 'zabbix'@'localhost' IDENTIFIED BY 'zabb
内容概要:本文档是《星闪创为_XSCW6000模组使用手册》,版本为Rev1.1,由北京星闪创为科技有限公司发布。手册详细介绍了XSCW6000模组的法律声明、安全须知、模块选型、产品综述、应用接口、射频特性、电气性能和可靠性、机械尺寸以及生产及包装信息等内容。XSCW6000模组是一款支持5G ISM频段、80MHz带宽、SLB协议1.0版本的高性能无线通信模组,适用于大带宽音视频业务、网络游戏、智慧家庭、智慧工厂、体育场、演唱会、网络直播、应急等多种场景。手册还提供了详细的引脚分布、电源设计、天线设计要点及射频性能参数,确保用户能够正确使用和集成该模组。 适合人群:从事无线通信模块开发的技术人员、硬件工程师及相关领域的研发人员。 使用场景及目标:①帮助用户了解XSCW6000模组的基础特性、功能框图、引脚分布等信息;②指导用户完成正确的电源设计、天线选择及射频性能优化;③确保用户在实际应用中遵循安全使用规范,保障产品稳定性和可靠性。 其他说明:此手册为受控版本,版权归属于星闪创为,未经许可不得复制或传播。手册内容会根据实际情况进行更新,建议用户定期查阅最新版本。星闪创为提供技术支持与服务,如有疑问可通过指定联系方式咨询。
内容概要:本文详细介绍了利用MATLAB和YALMIP工具包实现两阶段鲁棒优化问题的Benders分解方法。主要内容涵盖主问题和子问题的建模、割平面的生成逻辑以及算法的迭代过程。文中通过具体的代码实例解释了如何定义变量、约束条件、目标函数,并展示了如何通过不断的迭代使上下界逐渐收敛,从而找到最优解。同时,文章还讨论了一些常见的实现细节和潜在的陷阱,如对偶变量的提取、不确定性集合的设计、初始割的添加等。 适合人群:具有一定MATLAB编程基础并希望深入了解优化算法的研究人员和技术爱好者。 使用场景及目标:适用于解决带有不确定性的优化问题,尤其是涉及到资源分配、生产计划等领域的问题。通过学习本文,读者可以掌握Benders分解的基本原理及其在MATLAB环境下的具体实现方法。 其他说明:文章提供了完整的代码示例,并附有详细的注释帮助理解每个步骤的作用。此外,作者还分享了许多实用的小技巧来提高算法效率和稳定性,如采用稀疏矩阵存储、动态调整收敛阈值等。
内容概要:本文深入探讨了在微网环境中,利用改进的二进制粒子群算法(IBPSO)解决含需求响应的机组组合问题。研究背景指出,随着能源结构的变化,微网系统日益重要,而需求响应(DR)的引入为提高微网运行效率提供了新思路。文中详细介绍了机组组合的基本模型及其扩展模型,后者将需求响应纳入考虑范围。接着,重点讲解了改进二进制粒子群算法的具体实现步骤,包括粒子位置和速度的更新规则。此外,还展示了基于MATLAB和CPLEX/Gurobi平台的仿真实验结果,验证了改进算法的有效性。最终,通过详细的代码注释和丰富的可视化工具,使得整个研究过程更加透明易懂。 适合人群:从事电力系统优化、微网管理及相关领域研究的专业人士和技术爱好者。 使用场景及目标:适用于需要优化微网系统运行效率的实际工程应用,特别是在处理大规模机组组合问题时,能够显著降低成本并提高系统稳定性。目标是帮助研究人员理解和掌握改进二进制粒子群算法的应用技巧,促进需求响应机制在电力系统中的广泛应用。 其他说明:本文不仅提供了完整的MATLAB代码实现,还包括详尽的理论推导和实验数据分析,有助于读者全面理解该课题的技术细节。同时,附带的可视化模块可以帮助用户更好地解读求解结果,便于进一步优化和调整参数。
内容概要:本文详细介绍了使用LTspice进行LDO(低压差线性稳压器)及其相关模拟集成电路的电源设计与分析方法。首先,文章讲解了如何利用AC分析评估环路稳定性和相位裕度,确保系统的稳定性。接着,探讨了电源抑制比(PSRR)的测试方法,通过加入交流扰动源来测量输出端的衰减情况。此外,还讨论了负载瞬态响应测试,通过施加脉冲电流源来观察输出电压的变化。文中提供了具体的SPICE代码示例,如AC分析、PSRR测试和瞬态负载测试的代码片段,并强调了库文件的使用和注意事项。最后,分享了一些实用技巧,如保存常用测试电路为模板、调整元件参数以提高仿真精度等。 适合人群:电子工程专业学生、模拟电路设计师以及对LDO设计感兴趣的工程师。 使用场景及目标:① 学习如何使用LTspice进行LDO电路的稳定性分析;② 掌握电源抑制比(PSRR)的测试方法;③ 进行负载瞬态响应测试,优化补偿网络设计。 其他说明:本文不仅提供理论指导,还附带具体的操作步骤和代码示例,使读者能够快速上手并深入理解LDO设计的关键技术和常见问题。
内容概要:本文详细介绍了如何使用C++、Qt和OpenCV构建一个车牌识别系统。首先,通过颜色空间转换和边缘检测进行车牌定位,利用HSV颜色空间和形态学操作去除噪声并找到候选区域。接着,采用SVM和支持向量机进行字符识别,提取HOG特征并训练模型。字符切割则使用垂直投影法处理粘连字符。数据库方面,使用Qt的SQL模块将识别结果保存到SQLite或MySQL数据库中。视频流处理通过Qt的QMediaPlayer和QVideoProbe实现,确保系统的实时性和稳定性。为了提高性能,引入了多线程处理,分离图像处理和界面刷新任务。 适合人群:具有一定C++编程基础,熟悉Qt和OpenCV库的开发者,尤其是对图像处理和机器学习感兴趣的工程师。 使用场景及目标:适用于需要开发车牌识别系统的应用场景,如停车场管理、交通监控等。主要目标是帮助开发者理解和实现车牌识别的关键技术和优化方法。 其他说明:文中提供了详细的代码片段和技术细节,强调了传统方法与机器学习相结合的优势,并分享了一些实战经验和常见问题的解决方案。
内容概要:本文详细介绍了西门子S7-1500 PLC在制药厂洁净空调建筑管理系统(BMS)中的应用案例。重点讨论了硬件配置(1500 CPU + ET200SP分布式IO)、温湿度控制策略(串级PID、分程调节)、以及具体的编程实现(SCL语言)。文中分享了多个技术细节,如PT100温度采集、PID控制算法优化、报警管理和HMI界面设计等。此外,作者还提到了一些调试过程中遇到的问题及其解决方案,如PID_Compact块的手动模式设定值跳变问题、博图V15.1的兼容性问题等。 适合人群:从事工业自动化领域的工程师和技术人员,特别是那些对PLC编程、温湿度控制和洁净空调系统感兴趣的读者。 使用场景及目标:适用于制药厂或其他对温湿度控制要求严格的行业。主要目标是确保洁净空调系统的高效运行,将温湿度波动控制在极小范围内,保障生产环境的安全性和稳定性。 其他说明:本文不仅提供了详细的编程代码和硬件配置指南,还分享了许多实践经验,帮助读者更好地理解和应用相关技术。同时,强调了在实际项目中需要注意的关键点和潜在问题。