Subject: Re: NT vs. Linux > At some point, volunteers will get tired of developing something for > free and they'll go on to other things. Linux will be abandoned. i'm afraid you've confused computer programmers with software companies. programmers write code because that's part of who we are. we groove on designing logical machines, then testing them to see if they work. a programmer who refuses to write any code whatsoever, unless they're getting paid for it, probably isn't worth the price they're asking. the guy you really want to hire is the one who writes code at the drop of a hat, simply for the challenge of doing it. that's the one who's going to have a wide and varied range of experience, and will give you the best value for your money. free software will survive indefinitely, because the economics of it are unbeatable. brownian motion produces enough energy to keep it going. it's not that there's no way to win.. there's just no way to lose. if you want to talk about free software, you have to have the right definition for the word 'free'. it's not a matter of shooting for zero development cost, because development always costs something. it's a matter of reducing the marginal cost of reproduction to zero. in economics, the word 'margin' means the financial difference of choosing one alternative over another. the marginal cost of throwing something away versus selling it is the entire sale price. the marginal cost of selling now versus waiting for the price to drop is the difference in profits between the two. therefore, the marginal cost of reproducing something is the financial difference between putting one more copy into the world and leaving things the way they are. reproduction expenses in the world of software are incredibly low. almost all of your cost is in development. OTOH, there are serious margins regarding how many units you sell at what time, and at what price. most of the voodoo in software pricing has to do with getting the maximum profit for the maximum number of sales. you decide on the number of copies which you can sell at the maximum profit, and only allow that many copies to exist. producing more than that number of copies has a marginal cost, because it undercuts your maximum profit. that's why software vendors and media companies get so thoroughly bent about pirating.. it cuts into the profits they could (hypothetically) make by enforcing a precise level of scarcity. free software short-circuits all that, because it defines the sale price (and thus the profit) as zero. all you have left is the development cost. once you've recovered that, the marginal cost of reproducing the software versus throwing it away is almost nothing. there's no hypothetical 'maximum profit' to be diluted. the only expense is the cost of copying and storing the data, both of which are continually being pushed down by Moore's Law. in the open source/Linux world, programmers recover their development costs with the first copy. we write code because we want to do something, and can't do it at all without the software. our payoff is the ability to use the thing once we've created it. at that point, there's no practical economic benefit to keeping the code private. in fact, there are a number of benefits to making the code public, but their marginal value is small enough, and unpredictable enough, that no commercial venture would want to bother with them. for starters, the ability to acquire pre-written code, which does roughly what you want, greatly reduces the cost of development. instead of building a whole new product from scratch, you're only tweaking something that already exists. not only do you have less cost to overcome, you have more time to go on and work on other things. the big payoff, though, is that different programmers have different opinions of what's easy. if i'm good at high-level design, but lousy at optimization, i can write a tool that's solid as a rock, structurally, but not very fast. another programmer, who's good at optimization but lousy at high-level design, can then tweak the code for speed, even if they never could have written the overall program. the internet provides a very efficient market for that type of chance collaboration, and collaboration between specialists is the central theme of Adam Smith's _Wealth of Nations_ .. not to mention the cornerstone of economics. the fact that there are no startup expenses, and that the cost of development gets lower as more people handle the code, means that almost any improvement, no matter how small, is worth reproducing. that means the quality of free software continually ratchets upwards, with occasional leaps as someone talented decides to be philanthropic. the general trend is up, though, because there's no reason for a free market to propagate software which is worse than what already exists. with a complete operating system and programming environment freely available, and undergoing continuous quality improvement, the cost of *leaving* the free software movement is higher than the cost of joining it.. and there's no requirement to leave, even if you want to develop commercial software. commercial software doesn't increase the overall value of the free software economy, but it doesn't hurt it, either. go price the five-year total cost of ownership for Microsoft's shrink-wrap development suite, and tell us what's economically viable. remember, it's no good writing commercial software in an out-of-date coding environment.