February 26, 2003

Notes: Weber (Steve, Not Max): The Success of Open Source

I've been reading Steven Weber's forthcoming Harvard University Press book, The Success of Open Source. He has a great deal of very interesting things to say, and I have not yet managed to wrap my mind around and synthesize all of them:


Steven Weber: The Success of Open Source: "People often see in the open source software movement the politics that they would lke to see -- a libertarian reverie, a perfect meritocracy, a utopian 'gift culture' that celebrates an economics of abundance instead of scarcity, a 'virtual' or electronic existence proof of communitarian ideals, a political movement aimed at replacing obsolete 19th century capitalist structures with new 'relations of production' more suited to the information age." "No one says that hierarchical coordination is efficient, only that it is less inefficient than alternatives."

The problems of:

  • Motivation: Why do highly-talented programmers voluntary allocate some or a substantial portion of their time and mind-space to a joint project for which they will not be compensated?: "Humans often have a passionate relationship with their creations and their work, humans wish to share, humans find 'value' in rewards other than money. Each of these attitudes exists within open source, as each exists everywhere. The rapid introduction into human affairs of extensive telecom bandwidth does not change everything, but it does change some very important things about constraints and opportunities. It takes a huge amount of 'charisma' to support open-source-like endeavors without the bandwidth (indeed, young religions are perhaps the only durable example). It takes only a small amount of 'charisma' to support open source with high telecom bandwidth, where charismatic-follower motivations are blended with the joy of doing something useful, the status of contributing something valuable to a community, and the reputational benefits of being able to say 'I rewrote that'"

  • Coordination: How and why do these individuals coordinate their contributions on a single 'focal point'? "Analyzing open source software through the lens of collective action begins to look subtly misleading. Linux now appears less like a complicated collective action problem, than a complicated coordination problem. Contributions to innovation are not problematic in this setting. The more important challenge is to coordinate those contributions on a focal point, so that what emerges is technically useful.... The open source community has developed a set of cultural norms that support this logic of incentives. A prevalent norm assigns decision-making authority within the community. The key element of this norm is that authority follows and derives from responsibility. The more an individual contributes to a project and takes responsibility for pieces of software, the more decision-making authority that individual is granted.... The Open Source Initiative codified this cultural frame by establishing a clear priority for pragmatic technical excellence.... A cultural frame based in engineering principles (not anti-commercial ideology) and focused on high reliability and high performance products gained much wider traction within the developer community. It also underscored the rationality of technical decisions driven at least in part by the need to sustain successful collaboration -- hence legitimating concerns about 'maintainability' of code, 'clean-ness' of interfaces, clear and distinct modularity. The clear mastery of technical rationality in this setting is made clear in the creed that developers say they rely on --- 'let the code decide'.... Torvalds does, in fact, have many characteristics of a charismatic leader in the Weberian sense. Importantly, he provides a convincing example of how to manage the potential for ego-driven conflicts among very smart developers.... Torvalds... continues to invest huge effort in maintaining his reputation as a fair, capable, and thoughtful manager. It is striking how much effort Torvalds puts into justifying to the community his decisions about Linux, and documenting the reasons for decisions -- in the language of technical rationality that is currency for this community.... There do exist sanctioning mechanisms to support the nexus of incentives, cultural norms, and leadership roles that maintain coordination.... Shunning is the more functionally important sanction. To shun someone -- refusing to cooperate with them after they have broken a norm -- cuts them off from the benefits that the community offers.... The threat is to be left on your own to solve problems, while the community can and does draw on its collective experience and knowledge to do the same. This is clearly a strong disincentive to strategic forking..."

  • Complexity: Brooks's Law: in software program lines written scale linearly with the number of programmers, while complexity and vulnerability to mistakes scale geometrically. How does open source avoid falling into the trap of Brooks's Law, and the resulting dynamic toward more and more hierarchical forms of organization? "Linux has overwhelmed BSD Unix, absorbed its key ideas, and attracted much of the brain power that was going into it. Linux is taking away market share from commercial versions of Unix.... Standard arguments in organization theory predict that increasing complexity in a division of labor leads to formal organizational structures.... [But] formal organizational structures are radically undermined by technologies that reduce the costs of communication and transactions. Both of these arguments have a point.... Clearly, the Internet decreases or removes the costs of geographically widespread and time-dependent collaboration. But it does not remove other costs of collaboration -- decision making, human emotion and ego, etc. These need to be managed by other means.... Managing complexity... depends on characteristics of the software itself, and characteristics of the social/political structure that embeds it. The key to managing the level of complexity within the software itself, is modular design.... It is notable that one of the major improvements in Linux release 2.0 was moving from a monolithic kernel to one made up on independently loadable modules. The advantage, according to Torvalds, was that "programmers could work on different modules without risk of interference… managing people and managing code led to the same design decision. To keep the number of people working on Linux coordinated, we needed something like kernel modules." Torvalds' point is simple: these engineering principles are important because they reduce organizational demands on the social/political structure. In no case, however, are those demands reduced to zero. Libertarian and self-organization accounts of open source software are frankly naïve. The formal organization of authority is quite structured for larger open source projects. Torvalds, as I explained, sits atop a decision pyramid as a de facto benevolent dictator. Apache is governed by a committee..."

"If altruism were the primary driving force behind open source software, no one would care very much about who was credited for particular contributions or who was able to license what code under what conditions.... The macro-logic of open source does not reduce to an aggregation of the motivations of the individuals who participate.... This is not a self-organizing system.... Lerner and Tirole in "The Simple Economics of Open Source" make what is probably the most forceful microfoundational argument.... The immediate benefits are simply private benefits: creating a fix for the specific problem....

"Open source modifies the cost-benefit analysis in two ways. First, the 'alumni effect' tends to lower the cost for working on open source.... Second, there are 'delayed' benefits that together make up a strong 'signaling incentive'..... With open source, a software user can see not only how well a program performs. She can also look to see how clever and elegant is the underlying code -- a much more fine-grained measure of the quality of the programmer. And since no one is forcing anyone to work on any particular problem in open source, the performance can be assumed to represent a voluntary act on the part of the programmer, which makes it all that much more informative about that programmer.... Because online communities live in a situation of abundance not scarcity, they are apt to develop "gift cultures" where social status depends on what you give away, rather than what you control....

"What, exactly, is the nature of abundance in this setting?... The time and brainspace of smart, creative people are not abundant. They are scarce.... The question of who owns what in this setting is critical to determining the things that actually matter about ownership in the open source economy: who has the right to make decisions about which pieces of code are included in public distributions, who gets credited for what work, and who can make a legitimate choice, sanctioned by the community, to 'fork' the code and claim to be 'the' product....

"Lockean property theory says that there are three ways to acquire ownership of land. You can homestead on a piece of frontier territory that has never had an owner. Or you can receive title from a previous owner. Last, if title is lost or abandoned, you can claim it through adverse possession by moving onto the land and improving it. The resemblance is uncanny. And it may be that the descriptive economics behind it are quite simple: property customs like these can arise in settings where property is valuable, there is no authoritative allocation, and the expected returns from the resource exceed the expected cost of defending it..."

"Rishab Aiyer Ghosh takes an important step.... [H]e tells a story about collective action where one person puts in a chicken, someone else puts in carrots, another person puts in some onions…and everyone can take out delicious stew. Nonexcludability is an issue because if anyone can take bowls of stew out of the pot without necessarily putting anything in, there might be nothing left for those who did contribute and thus they are unlikely to put anything in in the first place. But what if the cooking pot was magically non-rival -- if production of stew simply surged to meet consumption without any additional expenditure of effort? Then everyone knows that there will always be stew in the pot and that even if people who don't put anything in take some out, there will still be plenty left for those who did contribute. In this setting an individual faces a different calculus: "you never lose from letting your product free in the cooking pot, as long as you are compensated for its creation." The Internet makes a digital product like software 'magically' non-rival. Because a digital product can be copied an infinite number of times at no cost, this is a cooking pot that creates as many bowls of stew as there is demand.

"Given that, how are you going to be compensated for creating your product? In the digital environment this too is nearly straightforward although slightly more subtle. When I put my product into the cooking pot, I am giving away in effect a thousand or a million or really an infinite number of copies of that product. However, in my private utility calculations, multiple copies of this single product are not very valuable -- in fact the marginal utility of an additional copy to me is de facto zero. But single copies of multiple products are, to me or any other single user, immensely valuable. In practice, then, I am giving away a million copies of something, for at least one copy of at least one other thing. That is a good trade and clearly a utility enhancing one for anyone who makes it. As Ghosh puts it, "if a sufficient number of people put in free goods, the cooking pot clones them for everyone, so that everyone gets far more value than was put in."

"The problem with Ghosh's argument is that it does not explain the 'trade'.... It is still a narrowly rational act for any single individual to take from the pot without contributing -- and free ride on the contributions of others.... I believe the solution to this puzzle lies in pushing the concept of non-rivalness one step further. Software in some circumstances is more than simply non-rival. Operating systems like Linux in particular, and most software in general, are actually subject to positive network externalities. Call it a network good, or an anti-rival good (an awkward but nicely descriptive term). What I mean by this is that the value of a piece of software to any particular user increases, as more people download and use the same software on their machines. Compatibility in the standard sense of a network good is one reason why this is so.... Open source software makes an additional and very important use of network externalities, in debugging....

"The point is that open source software is not simply a non-rival good in the sense that it can tolerate free riding without reducing the stock of good for contributors. It is actually anti-rival in the sense that the system positively benefits from free riders. Some small percentage of free riders will provide something of value to the system, even if it is just reporting a bug out of frustration. The more free riders in this setting, the better. This argument holds only if there are a sufficient number of individuals who do not free ride -- in other words, a 'core' group that contributes to the creation of the good. We have already seen a set of motivations and incentives that taken together in different proportions for different individuals might inspire their active contributions."

Posted by DeLong at February 26, 2003 04:33 PM | TrackBack

Comments

Weber has an interesting working paper which canvases some of these ideas in an earlier form at http://e-conomy.berkeley.edu/publications/wp/wp140.pdf

Posted by: Henry Farrell on February 26, 2003 05:52 PM

Too much econo-jargon, methinks.

1. Why do so many blog so much for so little? There's clearly a prestige/reputational factor involved in blogging and in working on "free" code for open source projects,
2. In "Accidental Empires" Robert X. Cringely wrote about why so many programmers worked so hard in difficult conditions to write code for companies such as Microsoft and Lotus and Adobe, and what he came up with was, "they did it to impress their friends". That's clearly a part of the open source movement, related to #1 above,
3. One odd thing about software writing is that it doesn't "scale" well at all with manpower. See the classic, "The mythical man month" for example. Software is an odd product (like book authorship) where additional labor units become counter-productive at a low level,
4. Last, there must be a tie-in with the wisdom of the consensus. There's an ample body of evidence that the mean of many forecasts is more accurate than the better forecasters over time. Similarly, the aggregate input of a body of programmers assimilated on merit should have enormous Quality beyond what one or two programmers can accomplish. To some extent this point is in logical violation of point #3, but the key is that the enormous software project be broken down into "modular" components.

That's all for now. But remember: less jargon, more insight.

Posted by: Anarchus on February 26, 2003 05:56 PM

Why did Van Gogh paint his paintings? No one ever bought them. He lived off his brother Theo. Theo was an art dealer, fortunately, but unfortunately he died shortly after Vince. Neither one of them ever profited a dime. What a couple of suckers.

More at my URL.

For you literalists: Vince did sell a small amount of stuff, so the phrase "dime" is inaccurate. I doubt that he sold enough to live (at his very poor level) and finance his painting for as much as one year, though.

Posted by: zizka on February 26, 2003 06:03 PM

My correct URL

Posted by: zizka on February 26, 2003 06:20 PM

Let me speceulate a little from the "a little knowledge is a dangerous thing" side.

I wonder if the picture of open source development presented in this paper is a little idealized? In recent years some companies have started paying their people to contribute to open source software, and such paid contributors have become a major part of the effort. In particular, IBM is essentially a hardware company and sees cheap and reliable operating systems (Linux) and Web servers (Apache) as a complementary good. AOL thought for a while that having a browser of their own was a complement for their major service. Both saw the alternative of "leave that business to Microsoft" as unpalatable, given Microsoft's penchant for taking others' business.

And there are plenty of other smaller companies making money off consulting services tied to open source software. (Of course, many big software companies in the "closed source" world now make much of their money off services as well).

For all these parts of the open source effort, there is not much of a mystery about motivation. I have not seen much speculation about what proportion of the whole such contributions make, but I suspect it is much higher than in the standard picture we get from most commentators, including Steven Weber.

Posted by: Tom Slee on February 26, 2003 07:34 PM

A disappointing and empty piece.
If one is concerned with the sociology of open source, one might make a whole lot more traction by at least taking into account other important contributors, Richard Stallman of course as the major one. Does it matter that Stallman is a very different personality? Is is significant that GNU did a heck of a lot of non-glamorous heavy-lifting (writing editors, compilers, debuggers, linkers etc) before Linus came along to provide a glamorous face to the enterprise?

As for the effectiveness of Open Source, well duh. Anyone who has ever worked within a commercial software environment will tell you that they a tenth as productive as they are when working on their own code for reasons that are completely stupid. For example frequently they simply do not, as a matter of company policy, have access to other code with which they are interfacing, so when problems occur they have to waste time trying to work around the limitations of the interface, or to reverse engineer how it behaves. Even if they do, in theory, have such access, they may not, in practical terms, be able to use it --- they don't know how to get at the source because they don't know where it's stored. Even when they get to the source, they don't know how it works because there isn't an infrastructure of shared ideas and fragments of documentation (even just comments written on Usenet) that can be searched with Google.

And of course every commercial company does things based on what appears to be arbitrary and stupid reasoning. Code from group A will not be used y group B because the manager of group A has some vendetta with that of group B. The result---maybe the JPEG decoding of the company's photo displaying app behaves like a freaking slug because it was written by amateurs rather than using the optimized code written by pros. The company may spend vast amounts of money on a technology like SOM that, at the time, was perhaps premature, but years later, when there is a pressing need for such technology, there's apparently no interest in resurrecting it. Every commercial SW engineer has had the experience of devoting a year of their life to useful code that solves real problems --- but is never shipped and disappears into the void, never to benefit anyone.

Contrast this with Open Source. There, maybe I really like the framework of Joe's faxing application, and am grateful that he deals with stuff I don't know anything about like talking to the modem hardware, but let's face it, his program is slow because the group3 fax code is not well optimized. So I download the code, rewrite the group3 codec, and presto, it's faster. Maybe a week's worth of interesting work for me---without the two years of fighting the system, getting management buy-in, trying to find who in the organization actually is responsible for the fax code and so on.

I mean, come on, what is hard to understand here? If we all had to learn physics by starting with Galileo and deriving everyything ourselves from that point, physics wouldn't be very advanced either. Standing on the shoulder's of giants and all that. The issue is not the economics of Open Source. The issue is the OPEN-NESS of Open Source. When I want to write an app that does something, rather than re-inventing the wheel, I take whatever various pieces I may need that have already been written, exploit some design ideas that I saw in some other programs to structure the code, and hey presto, I have something ready without much difficulty.

Posted by: Maynard Handley on February 26, 2003 11:58 PM

I have one little problem with this analysis, what prevents it from applying to any very high productivity activity? A modern farmer can easily produce hundreds - possibly thousands - of times the quantity of food he or his family needs. The marginal value of additional food is, for him, effectively zero. And, equally clearly, the farmer benefits from the "network effects" of a well-fed society. He relies quite heavily on non-farmers' labour, and they will surely not work if not fed.

So why don't farmers just give away their produce?

The answer of course is quite obvious. The doctor, benefiting from free food from the farmer, is under no obligation to treat the farmer's medical problems. He will only work for some gain. The farmer must have a mechanism for bargaining for the services of others in return for his production because he has no other source of revenue. It is not a matter of the scarcity of food requiring efficient allocation but the need for society to allocate resources to farmers.

_What makes open source possible is day jobs._ Would Torvalds be working on Linux for free if he couldn't afford to pay his rent? I strongly doubt it. The question is, as day jobs get scarcer, will open source suffer?

I am inclined to look in a direction that Weber may be exploring, but is only touched on briefly in your précis: "[P]roperty customs like these can arise in settings where property is valuable, there is no authoritative allocation, and the expected returns from the resource exceed the expected cost of defending it." It is not clear - even for large-scale commercial software or other kinds of intellectual property - that the expected cost of defending exclusive control of a resource is less than the expected returns. For small software vendors - individuals and small firms - this may be especially true. Lacking in access to lawyers or complex IP protection schemes, they may be unable to undertake even simple measures to protect their assets.

And yet, the demand for specialised software is clear and may now be so great that software has to be commissioned even when it can not be exclusively controlled. Open source might represent nothing more than a cultural mechanism whereby authors at least have some return for the investment of their time above having the resource itself. For individual programmers, this may be in the form of prestige and added bullet points on their resumés, for firms perhaps it is also prestige but probably more importantly advertising. Does Transmeta even have a product? I don't think so. Yet, everyone knows that Linus Torvalds is paid by Transmeta in part for his work on Linux. Transmeta is thus a high profile firm which is probably more easily able to get capital because of its fame.

Open source may simply be a cultural response to the non-exclucivity of software in conjunction with extremely high demand. It may not be a better solution so much as better than nothing. If either demand fails or exclusivity becomes easier to sustain, I wonder if there is any future for open source at all.

Posted by: Scott Martens on February 27, 2003 05:30 AM

It seems to me that open source flourishes when it is written for the use of other programmers. In those situations, all the arguments Brad excerpts apply. But if you look at OSS which is written for ordinary users, you are much closer to the relationship between the farmer and the doctor. Writing software that ordinary users can understand and benfit from requires many more skills than simply programming -- there's documentation, UI design, and the whole complex of sympathies required to understand how the problem looks to someone else.

All the evidence suggests that Open Source programmers are lousy at these things. The only large, user facing OSS projects that I know of -- Mozilla and OpenOffice, are not in any important sense the products of volunteer labour. They kept in being by the resources of very large (if shrinking) corporations as a way of doing othe rcorporations down. Sun, for example, has at least 100 full time developers working on Open/Star Office. If they were sacked tomorrow, there wouldn't be a project.

So the balance between those who put veggies inthe soup and those who simply stand and slurp is importantly soup-dependent. A good economic analysis would show just how user-unfriendly an OSS project must be to be viable.


Posted by: Andrew Brown on February 27, 2003 05:54 AM

It seems to me that open source flourishes when it is written for the use of other programmers. In those situations, all the arguments Brad excerpts apply. But if you look at OSS which is written for ordinary users, you are much closer to the relationship between the farmer and the doctor. Writing software that ordinary users can understand and benfit from requires many more skills than simply programming -- there's documentation, UI design, and the whole complex of sympathies required to understand how the problem looks to someone else.

All the evidence suggests that Open Source programmers are lousy at these things. The only large, user-facing OSS projects that I know of -- Mozilla and OpenOffice -- are not in any important sense the products of volunteer labour. They are kept in being by the resources of very large (if shrinking) corporations as a way of doing other corporations down. Sun, for example, has at least 100 full time developers working on Open/Star Office. If they were sacked tomorrow, there wouldn't be a project.

So the balance between those who put veggies inthe soup and those who simply stand and slurp is importantly soup-dependent. A good economic analysis would show just how user-unfriendly an OSS project must be to be viable.


Posted by: Andrew Brown on February 27, 2003 05:55 AM

I'm not at all convinced by your argument, Andrew. You seem to imagine that programmers are not ordinary users. Of course there are tools that are only of interest to programmers, but programmers also care about being able to play music or organize photos or suchlike, and at least some of them have wives/girlfriends/children for whom they'd like to write software.

I suspect a more important factor is bootstrapping. The type of programmer who is interested in writing low-level code is different from the type of programmer interested in writing GUI code, and the latter programmer has no patience with primitive tools and APIs. A particular problem, I think, is the dev tools available under Linux---most people interested in GUI programming expect to use something like Metrowerks or, if desperate, Dev Studio or Project Builder. They're simply not interested in hearing about how cool and powerful emacs, make and gdb are. But this will change as the infrastructure is filled in. An interesting example is MacOS X where there is a whole cottage industry of people wrapping GUIs around UNIX command-line-tools.
Once again the tools that make this easy, PB, IB and Cocoa, aren't on Linux right now, but that isn't to say that they won't ever be there.

Posted by: Maynard Handley on February 27, 2003 07:55 AM

As both a software geek, (non-programming however, syntax burns my mind) and a person who believes that libertarianism is a pipe dream, there is one huge difference between open source and the Lockien view of property.

Software is not limited.

I can take the program, make a copy, and both of us have that program. However, only one person can have effective use of an area of land.

That said, open source works toward a rather egotistical meritocracy, people want to be recognized for being good at what they do, and as the article mentions, open source is great for this. Closed source tends to obscure those lines..saying that one is programming for Adobe or MS is fine and dandy..but exactly WHAT did you program? Chances are you are under some form of NDA...hardly bragworthy.

Open source is oncoming wave, constantly improving, feeding off of itself, becoming bigger and more relevent. It is not too hard to believe that within ten years a majority of our software tools (I am leaving gaming out of this, as it seems as though that is an art), are all open source, and we will wonder how it could have ever been anything else.

Mozilla is neck and neck with IE (and in a Standards complient WWW much better), OpenOffice is AHEAD of MS Office, in using XML based documents. That is the biggies. As for Linux as a whole..all the roots are there, waiting to be taken advantage of. All that is needed is an easy to use way to package, install, and uninstall software..and we are almost there as well.

But this is not a model for society at large, as for the most part it is resource-free. As the Slashdotters say, free as in beer. (meaning low costing). Everybody can use it, report bugs in it, and improve it (although the above poster is correct, in that too many cooks can spoil the broth..but that usually results in a more concise fork down the road) and nobody is any worse off, and often better. Compare this to material economic transactions, which are limited by material concerns and costs to a much greater degree.

Posted by: Glenn on February 27, 2003 09:12 AM

Great post, Sir Glenn.

Question for you and the rest: Over time, Microsoft has benefitted greatly from a symbiotic relationship with its independent developers, especially for "niche" apps not worth MSFT's time to develop. When does LINUX get the critical mass to begin pulling legions of independent developers into the game, and do they write open or closed code?

Also, why isn't Dell more active in pushing Linux on the desktop? They've got a booming business in Linux servers already, and they could crank even harder on market share if they could sell their PC's $100-$200 cheaper running Linux rather than Windows . . . . . . and note: Walmart.com is just starting to push Linux PC's running Lindows and Mandrake.

Posted by: Anarchus on February 27, 2003 11:06 AM

'Late last year in Atlanta at a Linux convention, which
was impressively organized by an ad-hoc group of Linux fans,
Eric Raymond, the open-source guru, elaborated on his notion
of prestige as a motivating force. "None of my peers are
impressed by what kind of car I have," he said with twinkling
eyes. "They're impressed when I have a T-1 line in my house.
This all goes back to evolutionary biology where we're all
competing for prestige because we think it will get us babes."

There was a pause, as the almost entirely male audience --
some of whom looked as if they hadn't started shaving --
considered the obvious implications of this observation.
Finally, someone called out: "Is it working for anyone?"
There came the resounding unanimous reply: "Nooo!"

But maybe the word just has yet to get out.'

--"The Rebel Code" The New York Times, 2/21/1999

Posted by: Bill Woods on February 27, 2003 12:14 PM

Programmers use some non-programming software, it's true. But they do have an entirely different approach to it than wives/mothers/secretaries. I think the tidiest illustration of what programmers don't notice that users want is supplied by the differences between OSX (and Safari) and FreeBSD (with KDE/Konqueror). It's not reliability. It is the slickness, the ease of use, the documentation, the general feeling that this was done to meet users' needs, and not show off the programmers' cleverness.

It is the signalling, and information-bearing functions of a market that open source software needs, and I don't see how it can get, in the absence of monetary reward, a way for users to signal their preferences efficiently to the people who write and maintain the stuff.

And if there are no slick, visual IDEs under Linux, surely this marks another inefficiency in the OSS model?

Anyone who claims that Open Office has caught up with MS Office simply hasn't used the two side by side very much. I believe in competition sufficiently that I wrote the whole of my last book in OOo; and it was, for that purpose, slightly better than Word 97. But it's much slower and clunkier for more lightweight tasks, and I don't doubt that if I had been using a more modern verson of Office, that would have been as good at handling long documents. I know the claim was actually minited to saying that an XML fiel format was more advanced, but isn't the next version of Office going to have one of those?

Posted by: Andrew Brown on February 27, 2003 02:32 PM

As a software engineer who has been in the business for almost 20 years I thought I could add a few comments here. I work at a company called Network Associates, Inc. We have the name rights for the stadium that the Oakland A's and Raiders play in. (Not that I've ever been there, I live and work in Oregon at a remote office.)

There is definitely an element of creation for its own sake in the Open Software movement. Over the years I've occasionally taken personal time to write programs of interest to me in my own pursuits and then given the code away. But that stopped when I settled down, got married and had kids. I'm strictly mercenary these days.

The reasons aren't entirely financial. I'm very devoted to my wife and three sons. Time that I used to spend hacking up new code in my single days, I now try to spend with family and friends. Over the years, my priorities changed.

I'd posit that most programmers writing for Open Source projects are younger, or at the least single.

But they do great work. As a developer of firmware for high speed network analysis equipment I've used GNU tools for years. GNU is a great example of how effective and ubiquitous Open Source tools can become under the right circumstances.

Then there's Microsoft... still can't believe the justice department didn't break that mafia like operation up.

Andrew Brown said:

"And if there are no slick, visual IDEs under Linux, surely this marks another inefficiency in the OSS model?"

Open Source will always be a fringe market, but the market is there. As I mention above, I use GNU tools constantly and have for years as I've developed firmware for Intel, Motorola, NEC, and National Semi-Conductor chips.

Oh, and by the way, I know in these days of cheap memory and mega fast CPU's no one cares about software efficiency anymore. But a Linux server will give you twice the performance for the same amount of memory and disk space as a Microsoft server. Microsoft has "fat" code. It's inefficient and really a travesty to a purist like myself who 20 years ago was agog at the Commodore computer that had a whole 64k of addressable memory!

That's why I use GNU compilers and tools to develop products that have helped to generate tens of millions of dollars in revenue for the company with which I work.

I wouldn't be to quick to dismiss Open Source.

This is not an advertisment for GNU by the way, but you can call it an endorsement.

Posted by: Greg on February 27, 2003 04:54 PM

Anarchus:Linux gets into that game when it has enough user base to make it economically viable. My feeling is that software will be a combination of open and closed source. Pretty much the whole software community is a gift culture as it is, (like it or not, getting your hands on software through grey/black market channels is very easy) minus corporate desktops, so I would assume that not much would change one way or the other, except you may see this acknowledged widely.

Secondly, Microsoft is very aggressive against alternative OSs on the desktop. If a computer maker sells computers without a Windows license, Microsoft pulls the OEM contract. It is as simple as that. Their justification of this is the assumption that all computers will have Windows on it anyway, and any non-Windows computer is just going to have an illegal copy. The arrogance of this is striking. Even duel-boot systems are no-nos. That does not go true for Corporate customers, mainly because the presence of the BSA would not make that excuse fly.

Andrew:I actually do not like Aqua. The over-reliance on smaller windows has always been a weakness in Apple's design MO to me. The lure of the GUI has always been about the multitasking (alt+tab style) features for me. But make no mistake about it, Aqua style GUIs are coming.

As well, I do prefer OO to Office. Most of that is based around Office crashing on a routine basis. I agree with you that it is clunky for lightweight tasks..but I do not use Word for such things either. I mostly use text editors for things such as composing e-mails or writing quick drafts.

I actually was a fan of Office until the last few versions. The later versions especially tends to have this habit of always needing the CD when it is most inconvient.

It will be interesting to see if Office XML decides to actually compete with OO, or if they will try to break the file format.

Posted by: Glenn on February 27, 2003 05:14 PM

Size is power. Over time, the WINTEL block garnered more and more power and became able to pull OEM contracts and beat up on suppliers, vendors and even customers.

But that's beginning to change, I think. Though not a professional geek, my sense is that the INTEL CPUs have lost their performance edge over AMD CPUs. Intel has a huge cost-per-unit advantage at the moment by virtue of their larger production base, but that could erode over time.

Microsoft faces a bigger challenge. The hardware vs. software cost components of a new system have swung towards much higher software costs over time. DELL benefits if it can continue to gain market share by driving unit costs down, and DELL is up to perhaps 12% of the market now.

At some point, even forgetting about the U.S. Justice Department, Microsoft won't be able to discipline Dell by cutting off its license because Dell could damage Microsoft almost as badly by eliminating Windows entirely. That inflection point is sitting out there in front of us somewhere, but I'd be very surprised if Michael Dell and his finance guys haven't gamed out the possibilities to get the timing right.

The more I think about it, the more I think Microsoft is dead in the long-run. They're charging hundreds of dollars for bundled OS and Apps that simply aren't worth that for most non-commercial users in the internet age. Everybody once wondered if the network appliance running Netscape would be the death of Microsoft - but as it turns out, it'll be the traditional PC - hooked to the internet, running a free browser (IE, Netscape, Mozilla, Opera, whatever) on LINUX with OO or some other simple office system for light WP and spreadsheets. Death to Gates. And a painful death to Ballmer!!

Posted by: Anarchus on February 27, 2003 05:51 PM

information[1]-->attention[2]-->reputation[3] economy indeed :) whuffie[4]!

---
In Kingdom[5], "free energy" and scientific advances have rendered scarcity and poverty extinct. Near-universal computer networking has created a meritocracy which replaces money[6] with "Whuffie[7]," a constantly shifting measure of societal esteem. As networked people interact, their computer implants tabulate their respect or contempt for each other; well-regarded individuals receive all the privileges of old-style wealth and fame, while unpopular people become pariahs, granted only the basics in food and shelter.

[1] http://www.dankohn.com/archives/000276.html
[2] http://www.firstmonday.dk/issues/issue2_4/goldhaber/
[3] http://www.wired.com/wired/archive/8.07/egoboo.html
[4] http://theonionavclub.com/avclub3907/words3907.html#review1
[5] http://www.craphound.com/down/
[6] http://www.thememorybank.co.uk/firstchapter/index.htm
[7] http://transaction.net/money/internet/

Posted by: kenny on February 27, 2003 08:52 PM

The open source "voluntary" worker assumption is misleading. At this point many of the contributions come from people being paid to develop open source. This is quite different from "voluntary" contributions and reflects the business value companies such as IBM expect to receive for their investment.

DonN.

Posted by: Don N on February 27, 2003 09:00 PM

I think the reputation and capital attraction issues are both very important in Open Source. I've spent my whole career up until now writing custom software under NDA's, and yes, it totally sucks when you can't talk about what you did.
(I've worked for banks, stock exchanges, Fortune 50 [not 500] companies on contract, but can't put most of it on my resume due to extreme NDA's...that's over now, sick of it)

That's part of why custom software is SOOOO expensive, as compensation for loss of copy and bragging rights.

You'll notice that most Open Source infrastructure projects (Linux, Apache, Sendmail) have been able to attract capital investment for customization/consulting businesses run by their core team founders.

I think those individuals mentioned above that work for pay on open source projects at firms such as IBM have managed to have their cake and eat it too, lucky bastards! :-)

Posted by: David Mercer on February 27, 2003 10:57 PM

Micropayments sucks:

Open source should evolve into Market source. Value added, globally would then be rewarded, per use.

Posted by: Zack Lynch on February 27, 2003 11:08 PM

Well, we're all agreed that OSS works for some things and not others. I think the point that it is mostly written by single young men is important (and they are the people to whom tribal status is most important).

But I come back to my original point: has anyone done an economic analysis which would tell us what kinds of OSS software are likely to flourish, and which will probably fail? There's got to be a thesis in that somewhere :-)

Posted by: Andrew Brown on February 28, 2003 12:39 AM

Why do highly-talented programmers voluntary allocate some or a substantial portion of their time and mind-space to a joint project for which they will not be compensated?

Well, recall that quite a few of those programmers actually were (and are) graduate students in computer science. Note that many of them were (and are) in Europe, where

* youth unemployment is relatively high,
* social assistance is relatively generous,
* thesis requiement in M.Sc.-level programs is much more common than in the U.S., and
* structural transformation is lagging behind that of the U.S. economy (meaning relatively few job openings for IT workers).

What's the outcome? Students develop open-source software, hoping to be noticed and gain enough experience and visibility for a corporate job (which are few and far between), Ph.D. scholarship, or independent consulting work...

Posted by: Nikolai Chuvakhin on February 28, 2003 05:12 PM

I gave up programming a while back because I hate debugging. But the key point that needs to be emphasized is simply this - programming can be FUN. Lot's of FUN. (For the right sort of people). And it's fun to work with other people who are good. It's great when someone you respect says "wow, that's good code." It's really enjoyable to pour over code with someoene and figure out better ways to do it. It's also fun to look at someone else's code - someone who's good - and see how they did something in a way you wouldn't have thought of, but which works really well. And it's even more fun to figure out how to tweak it to make it better.

And as was pointed out earlier it's fun to work without corporate bullshit and incompetents sometimes. I mean, at one company we found that key tables had been hardcoded into the system and improperly documented and couldn't be changed without a couple months of work. Cutting out that sort of crap can make programming fun again, rather than the chore that jobs often make it.

Posted by: Ian Welsh on March 1, 2003 07:13 AM

I don't think it is right to say that a programmer is not compensated. Rather, their role as both 'producer' and 'consumer' blurs the issue.

To draw an analogy. Programming is a bit like gardening - as Ian says, it can be fun, but it's not for everyone. Now, I can go to my local commercially run park, pay money (probably) and enjoy it, but if it doesn't have something that I'd like - say a collection of Australian natives - then I have three choices:
* Ask the company who runs the park to put some in
* Pay someone to create a garden with that feature
* Plant my own

Assuming I plump for the last option, I also have three options regarding what I do with it:
* Try and gain compensation for my efforts by getting people to use and pay for it
* Have it as a strictly private garden (ie. not release the software to the public)
* Let anyone come in and use it, for free, since the cost to me of having visitors is essentially zero - the only actual cost is for users to come to it (ie. distribution)

So, why do we have Open Source and not _only_ private or commercial gardens?

A few reasons:
1. As mentioned, there is an ego thing to having your code on display.
2. The more you contribute to Open Source the more you get out of it. That is, the better the software, the more likely you are to have other contributors.

But most importantly:
3. In development, the vast majority of the work (and the boring part at that) consists of setting up the structure for the code (ie. shifting dirt). The beauty of Open Source is that it is (largely) done for you. You can plant your garden without worrying about the quality of the soil, or the watering system. What this means is that in terms of getting what you want as a consumer, contributing to Open Source is often the cheapest way for a programmer to achieve it.

Posted by: Russell on May 16, 2003 09:32 PM
Post a comment