Perens Discredits Mundie's Attack On GPL
SaxMan101 writes "CNET has an editorial from Bruce Perens that quite handily dismantles Mundies attack on the GPL and the Liberty Alliance. He takes the time to make YA strong argument for free software which he backs up with real numbers. Well said, worth the read."
Perens is dismantling Mundies FUD in a calm, businesslike way. Let's hope that the debate on MS FUD stays this calm and reasonable
It's obvious that Mundie sees the world through Windows-colored glasses. Software must be sold to get the money to make more software. How else could a software company work? If you can't license it, you can't gouge^H^H^H^H^Hcollect your due earnings. Oh, and the whole thing about people not working with Microsoft...if that's not a monopolist talking I don't know what is.
Anyway, rant off now. It's good to see someone who can rationally tear down his arguement, and it's even better to see it on a fairly commonplace site like CNet. I think more and more people are realizing the snowjob Microsoft keeps trying to pull, and in the end that will be the thing that ends the monopoly.
Electronic Frontier Foundation for online civil rights information
I'm not sure how the numbers balance out, but these concerns far outweigh the price of buying the software. If Mr. Perens is going to dip his toe in TCO waters, he'd be better be sure he can jump all the way in and not get himself drowned.
What's a sig?
I recently read an article in either Inc. or BusinessWeek about the effect Lou Gerstner had on IBM. Among other things, the article praised him for moving IBM agressively to becoming a service-based company.
I don't think Microsoft has anything to compare with this (yet), and fears those who are already in the arena.
The way Microsoft is fighting this war is to attempt to discredit open source as an approach, while (and I'm guessing on this) preparing its own service division.
It's classic. Throw out a load of FUD about the competition, while readying your own competing product. Depend on clueless PHBs to swallow your line, and watch the cash roll in.
668: Neighbour of the Beast
If you drill down a bit you find this letter from a programmer that complains about Open Source. While I found it both sad and funny, it does shed light on how Microsoft and other commercial software vendors view the movement.
To summarize: OSS is a bad thing because if free software is available no one will want to pay for software, which will drive programmers out of work. OSS is good in that it establishes competition for Microsoft, but that competition is better done through litigation or other commercial software.
Applying this point of view to Microsoft is humorous, of course, considering what they did with IE.
I actually don't think the developer has a point, though. Open source software has created far more jobs than it took. Linux, Apache, and other free platforms and development tools have meant, in my experience, that corporations are financially able to deploy systems that would otherwise have been prohibitive. The spread of such tools has also increased the number of people who are exposed to them - how many people would be running personal Unix systems if they had to have commercial systems? These people are able to get jobs in IT they would otherwise not be qualified for, or perhaps even know about.
In any case, Perens' response likening software development and protective measures against open source competition to buggy whips (actually ice, in his analogy) is only half the story.
(email addr is at acm, not mca)
We are Number One. All others are Number Two, or lower.
--The Sphinx
Intelligent citizens, industry professionals and academics will read, understand, and probably agree with this article.
This is also the sort of writing that could really color the public debate if average Joe Citizen had any reason to value the opinion of Bruce Perens over Craig Mundie.
But why should they?
What does the average person know about Perens? What do they know about the Open Source Initiative? Correct me if I'm wrong, but probably very little. What does the average person know about MicroSoft? That they build the software that runs on every computer that they sit behind every day.
There's a bit of a credibility gap.
Craig Mundie could conceivably be any employee with the MicroSoft backing, and he would get press and general public recognition that Perens doesn't.
Pro-Open Source writers are often honest and, while not unbiased or impartial, are at least driven more by a cooperative and edifying spirit than a monopolistic one. If the general public had more reason to trust them, the articles they write would more effectively influence public opinion.
Think about how can this community help people like Perens while he's busy trying to help us.
Rob Carlson
I'm pleased to see such a good piece of anti-FUD work aimed at managers.
:
...
The articles explains clearly that the key point in GPL is
But this is not to say that the main benefit of Linux and other GPL software is lower-cost. Control is the main benefit--cost is secondary.
This quote is the most important : GPL gives you _control_ on the library you've choosen to link with your project. The library is not subject to stock prices or whatever non-IT reason. If you don't want the new features : don't upgrade, you don't like the new direction : fork the developement tree
While all the points he makes are true, and the economic beneifits of free software are obvious, that is not the primary moral justification for software being free. Repeat after me, "When software is free, the world is a better place."
Now, it stands to reason, that part of the world being a better place is certainly the economic benefit that free software provides to reduce operating costs. In fact, one could argue that if there were no such effect, free software wouldn't be too great a thing -- who'd want it if it had no value (rather like some excuses for programs I've seen)? And they'd be right. These are open source arguments, though, and miss the fact that freeing software not only results in lowered operating costs for businesses that use it, but it changes the every environment in which they operate.
There are two primary schools of economic thought: planned economies and free markets. Politically, you have the statists on one side and the libertarians and anarchists on the other. Proponents from both sides argue that "their" way serves to distribute scarce resources in the most effective way, and that's what we want, no? -- effective distribution of scarce resources.
Well, yeah, but that doesn't make the scarcity go away, does it? Oh sure, the technological advancements that lead to efficiency improvements do eventually trickle down to everyone so that certain scarcities are less visible, but that's just a kludge. Think water. Most cities have methods for distributing drinking water to the point that, although the amount of water available may remain the same, it hardly seems locally scarce, even though it may have come from far away.
Free software serves to reduce the scarcity of good code out there. It provides value without relying on scarcity as the source of that value. It is a threat only to those who seek to leverage their possession of a scarce resource for maximum value. Now, if that resource is naturally scarce, fine: once sold, it is gone. But if the resource is artificially scarce, you can manufacture more of it for no cost, and charge whatever the market will bear, for pure profit (until you saturate the market, that is, but time-limited use licenses take care of that "problem" -- Microsoft's latest licensing strategy). It gives the owner incredible power over society as a whole (until society revolts).
But it costs money to produce code! People can't afford to give it away!! Well, if they depend on making it scarce for their livelyhood, no, but that is a bootstrapping problem: you make something artificially scarce in order to deal with real scarcities in your life. You'd have to do this less if there were less scarcities to worry about (imagine if we had solar-powered food-generation machines). And indeed, some have managed to give code away. RMS has done this exclusively, though by living a rather austere lifestyle. His choice. Others give code away when they can afford to. Each such contribution changes our environment for the better. For hackers who breathe code, this is, of course, a godsend (RMS, an atheist, might not like that choice of wording -- "GPLsend" then). Perhaps that's why we like the GPL so much, even those of use that produce restrictively-licensed code for a living.
So, you don't need economic arguments to defend the GPL. It is as good and wonderful for the world as are the lack of patents on fire, wheels, and language. The only people who will criticize it are those that profit from the misery that scarcity brings.
You could've hired me.
Who is the GPL bad for ?
I'd add at least the following to your list:
3. Those who would like to use code, are entirely willing to give credit where credit is due, but haven't decided yet if they want to (or, legally, are allowed to) release their own code.
4. Anyone who wants to see open standards. It was only the existance of free-for-any-use code which lead to the global use of TCP/IP -- back when every company had their own proprietary network protocols, the only reason they added TCP/IP support in was because they could do so (almost) for free.
5. Anyone who wants commercial software companies to release their source code. Companies which operate by selling software are never going to GPL their code; they might, on the other hand, release it under a less restrictive license which would allow them to incorporate improvements back into their own codebase.
Tarsnap: Online backups for the truly paranoid
What Mundie doesn't understand (or chooses to ignore) is how wealth is created. Simply passing wealth back and forth between companies doesn't create wealth. Paying taxes doesn't create wealth. Government spending doesn't create wealth.
:-)
Wealth is created by increasing efficiency. If I pay you $10/hour to build widgets worth $3 a piece, and you can build 4 widgets per hour, then I make $2/hour profit. If you figure out how to increase you efficiency and make 6 widgets per hour instead of 4, my profit has now increased to $8/hour. This can then be reflected in increased wages for you, fewer work hours, or a cheaper product. Regardless, net wealth of the economy has been increased, since more output is produced from the same input.
Where does the GPL work into this? Because one GPL application has effectively infinite supply, it drastically reduces input costs of production and therefore leads to a very high net increase in the entire economy's wealth. Commercial software necessarily leads to less wealth increase, because it has an artificial cost added to increase the producer's personal wealth at the cost of the whole economy's net wealth.
Mundie's argument is that the artificial cost is necessary for software to get produced, because there will otherwise be no incentive for the producers to produce software. The thing he ignores, though, is that obviously the software does get produced. If OS software gets produced, then it is out there. It has increased the net wealth of the economy. That increase will never go away (unlike the commercial company, which could go out of business). If OS is not enough incentive for the software to get produced, or OS doesn't lead to a solution that is sufficient, then the demand for a commercial version will be high enough that commercial development will be supportable. There is room for both.
Microsoft, of course, is just beginning to realize that the software they make is quite compatible with OS development, and there is no way they can compete with the efficiency of an OS product. Therefore, Mundie is arguing that we will all be better off if the economy's net wealth is held down in favor of MS's personal wealth gain. I just don't buy it
On the other hand, he's absolutely right that there may not be as high a demand for software developers in the future. So what. So, a few programmers may have to change careers. They're smart people (and yes, I am one), and shouldn't have too much of a problem finding work. Yes, it sucks for a few, but where would we be today if we always held back progress in favor of old, established industries. Not to be cliche, but I'm sure the development of the automobile sucked for the buggy whip manufacturers, too. Personally, I'll risk my long term personal stability for the chance of great wealth increases for both myself and the economy as a whole.
"If English was good enough for Jesus, it's good enough for everyone else."
I have to disagree.
"3. Those who would like to use code, are entirely willing to give credit where credit is due, but haven't decided yet if they want to (or, legally, are allowed to) release their own code"
Once again, write your own code, I have contibuted to GPL and NON GPL projects, I have had my code stripped and moved to proprietary products. Im not game here, if you want it to be yours, write it yourself, I no longer submit code to any BSD project, just for this reason, this goes to my second point to the letter.
"4. Anyone who wants to see open standards. It was only the existance of free-for-any-use code which lead to the global use of TCP/IP -- back when every company had their own proprietary network protocols, the only reason they added TCP/IP support in was because they could do so (almost) for free."
The GPL is not meant for the setting of standads, it was meant to provide commercial alternative, supported and developed by a group for public use.
"5. Anyone who wants commercial software companies to release their source code. Companies which operate by selling software are never going to GPL their code; they might, on the other hand, release it under a less restrictive license which would allow them to incorporate improvements back into their own codebase"
Thats fine, let them release it under ANY licence THEY want, its their code. Noone is under ANY obligation to release anything. Ive coded stuff that I wouldnt give to god or country, and things Ive done for companies I couldnt even if I wanted to. CHOICE is what its all about do what you want with what you own, but at the same time dont try to dictate terms about something you dont, (dont take this the wrong way, Im not talking about you)
Sig went tro...aahemmm.....fishing........
While you're correct in saying that software has to be paid for, you're being too narrow in looking for the money.
Examples, in house development. Companies have their own stables of programmers building the tools they need/want for competitive advantage. What if they devoted 60-70% of those resources to working on Open Source projects that get them closer to their goal? Remember, if you don't distribute an OS project then you don't have to distribute the improved code. So, if three different companies working for different things all contributed towards the development of the base utilities then they all get a return far in proportion to the initial investment.
Second, schools. These institutions get money from grants, endowments, and tuition. They have a bunch of students and professors working there. Why not utilize Open Source to keep costs down and contribute back to that community? Again, return versus investment.
Finally, the Open Source people aren't trying to keep you from making a living selling software. The main complaint most of us have (or well to be honest at least I have) with MS is that they use their position to fight illegally. If it were just a matter of "may the best code win" then I think everyone would be perfectly willing to just roll up their sleeves and duke it out.
Remember, software isn't the beginning and ending of economics. For most people and companies software is just a means to an end. (Point of Sale systems in stores, Web Servers for e-businesses, accounting systems, etc.) For the average production company software is only an overhead cost driving up the overall cost of their products. And if you look at the Fortune 500, Microsoft is pretty far down the list.
The lessons of history have shown the following: companies are always trying to decrease their costs, monopolies tend to get broken up, and everyone hates bullies.
(Btw - the difference between software, and IP, versus physical things is that sharing the one doesn't decrease the value to the current owner. Two people can use the same software at the same time and both derive the same benefit, thus doubling the return. It's tough for two people to share the same airplane and fly in different directions.)
--- I wish I could hear the soundtrack to my life. That way I'd know when to duck.
I write code, I can do whatever I want with that code,
If I choose I can sell it, (Its value is lessened if any tom, dick, or harry can, and legally, get it elsewhere) I can do so.
I can open source it, in doing so I am granting others the right to use it, Under whatever liscence I deem appropriate(remeber its my code)
Or I can let it sit on my hard drive and rot. not much use there.
But If I write the code, its my choice ho I make it available, If I am gracious enough to give it to the world, why should they dictate the terms under which they would like to use it ? That greed, and being ungrateful.
I have MANY time seen things I needed similar solutions too and said damm be nice to use that in my project, but I couldnt, mine was proprietary theirs was GPL, so what, I wrote my own. No bitching no moaning, just an understanding its not my code who am I to tell someone else how to make the code their blood and sweat into available to me under my terms, I wouldnt do it and I dont expect anyone would do it to me.
I am a capatilist, simple period. If I can make more money using open source I will, but if it interests dont meet mine, I will write my own code to fill that need.
Sig went tro...aahemmm.....fishing........
(3) is not a problem if the people do not distribute the software. It is fine to modify and use GPL'ed code internally. The GPL only covers the rules for distributing the software. So basically, unless you plan to sell the product, this isn't a problem. Note that (2) in the original list is too narrowly defined; even if credit is given, our goals with the GPL (of increasing the free software code base) are not met when someone takes the code and makes a non-free derivation.
(4) If TCP/IP were replaced tomorrow with a new open protocol for which only a GPL'ed implementation existed, people could still write and market a non-free implementation. They just wouldn't be allowed to take my GPL'ed work and use it in a way I don't approve of.
But my real response to (4) is that, as a hardened free software advocate, I could care less whether or not people have a non-free implementation of any protocol.
(5) If companies want to release non-free code that is their prerogative. Eventually, I believe, the free implementations are going to surpass the proprietary implementations in quality, and make the proprietary model unviable. If they want to continue to make non-free products at that point, that is their prerogative.
Secession is the right of all sentient beings.
Frankly, I think that the CS degree should move to the Engineering department, and become a true software engineering degree. The CIS degree belongs in the business department. [I'm one of the latter.]
But I've never understood the random ways that schools go about producing the CS people. Not that they're bad, it just seems to have no real standard.
Software Engineering ought to be more like ENGINEERING! Not just throw code at the compiler until it sticks.
I have faith, mostly, in the structural engineers, and the chemical engineers, and the electrical engineers. But software engineers?
Here's an appropriate poke with a sharp stick...
A DESIGN PARABLE
Once upon a time, in a kingdom not far from here, a king summoned two
of his advisors for a test. He showed them both a shiny metal box
with two slots in the top, a control knob, and a lever. "What do you
think this is?"
One advisor, an engineer, answered first. "It is a toaster," he
said. The king asked, "How would you design an embedded computer for
it?" The engineer replied, "Using a four-bit microcontroller, I
would write a simple program that reads the darkness knob and
quantizes its position to one of 16 shades of darkness, from snow
white to coal black. The program would use that darkness level as
the index to a 16-element table of initial timer values. Then it
would turn on the heating elements and start the timer with the
initial value selected from the table. At the end of the time delay,
it would turn off the heat and pop up the toast. Come back next
week, and I'll show you a working prototype."
The second advisor, a computer scientist, immediately recognized the
danger of such short-sighted thinking. He said, "Toasters don't just
turn bread into toast, they are also used to warm frozen waffles.
What you see before you is really a breakfast food cooker. As the
subjects of your kingdom become more sophisticated, they will demand
more capabilities. They will need a breakfast food cooker that can
also cook sausage, fry bacon, and make scrambled eggs. A toaster
that only makes toast will soon be obsolete. If we don't look to the
future, we will have to completely redesign the toaster in just a few
years."
"With this in mind, we can formulate a more intelligent solution to
the problem. First, create a class of breakfast foods. Specialize
this class into subclasses: grains, pork, and poultry. The
specialization process should be repeated with grains divided into
toast, muffins, pancakes, and waffles; pork divided into sausage,
links, and bacon; and poultry divided into scrambled eggs,
hard-boiled eggs, poached eggs, fried eggs, and various omelet
classes."
"The ham and cheese omelet class is worth special attention because
it must inherit characteristics from the pork, dairy, and poultry
classes. Thus, we see that the problem cannot be properly solved
without multiple inheritance. At run time, the program must create
the proper object and send a message to the object that says, 'Cook
yourself.' The semantics of this message depend, of course, on the
kind of object, so they have a different meaning to a piece of toast
than to scrambled eggs."
"Reviewing the process so far, we see that the analysis phase has
revealed that the primary requirement is to cook any kind of
breakfast food. In the design phase, we have discovered some derived
requirements. Specifically, we need an object-oriented language with
multiple inheritance. Of course, users don't want the eggs to get
cold while the bacon is frying, so concurrent processing is required,
too."
"We must not forget the user interface. The lever that lowers the
food lacks versatility, and the darkness knob is confusing. Users
won't buy the product unless it has a user-friendly, graphical
interface. When the breakfast cooker is plugged in, users should see
a cowboy boot on the screen. Users click on it, and the message
'Booting UNIX v. 8.3' appears on the screen. (UNIX 8.3 should be
out by the time the product gets to the market.) Users can pull down
a menu and click on the foods they want to cook."
"Having made the wise decision of specifying the software first in
the design phase, all that remains is to pick an adequate hardware
platform for the implementation phase. An Intel 80386 with 8MB of
memory, a 30MB hard disk, and a VGA monitor should be sufficient. If
you select a multitasking, object oriented language that supports
multiple inheritance and has a built-in GUI, writing the program will
be a snap. (Imagine the difficulty we would have had if we had
foolishly allowed a hardware-first design strategy to lock us into a
four-bit microcontroller!)."
The king wisely had the computer scientist beheaded, and they all
lived happily ever after.
Now that all the CS people hate me...I'll slink into the shadows.
Cheers!
Have you considered being a technical writer or something? There are many ways that anyone can help.
Bruce
Bruce Perens.
Bruce
Bruce Perens.
I suggest that you look at my paper Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!. It has that kind of information, grouped into categories such as market share, total cost of ownership (TCO), reliability, and so on.
For example, Microsoft absolutely owns the desktop client market, that's true. But it certainly doesn't own other markets - Apache is still the most common web browser, for example, and sendmail is the most popular mail transfer agent (MTA). See my paper for the details.
Total cost of ownership (TCO) is so dependent on the assumptions that you really have to do your own. However, it's clear that many people do find that GNU/Linux systems have a lower TCO than Microsoft's systems in their environment.
Please note that Perens himself claims that the $1.9 billion estimate was only if the software had been developed the same way as Microsoft's. Perens does not claim that $1.9 billion was spent. Check the linked-to paper, I think it spells things out clearly. One caveat: I wrote the analysis tool used in the paper. However, the tool simply implements a well-known and widely respected estimation model that has been openly documented; it's certainly not biased to give open source software bigger results.
I think Perens' article was well-written.
- David A. Wheeler (see my Secure Programming HOWTO)
That US$1.9B is software that was released for the general public to use, and it does indeed have a lot of users. But I don't have a user count right now, all I have is the theoretical cost of production. The true benefit may be larger than I said. Given the amount of business around Linux, I doubt it's smaller.
In economic terms, the users will derive utility from the software. They will carry out some economic activity, for example operate a business, using that software, and will gain an economic benefit because of what they didn't pay for it. This benefit may well be greater than US$1.9B, since we have a lot of users these days. Again, the software didn't just go into /dev/null, it is now part of the economy. Engineers are familiar with thermodynamics, there are some parallels here, aren't there?
Bruce
Bruce Perens.