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'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
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
The most paradoxical comment within this letter is this:
In other words, he think that the way to protect his intellectual property is to ask that it be illegal for others to give away their intellectual property. And this isn't too much to ask. Scary thought.He also seems to give the RIAA implicit control over all music, but that's another flame war.
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........
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........
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!