|
|
Mueen Nawaz wrote:
> You're invoking an analogy using a *closed* model and realizing that
> what the gcc folks are doing is the same - all the while being GPL.
Let me see if I can ramble about this even more...
Who does the GPL benefit?
Original author Alice writes some code, as does Xavier.
Alice releases it as GPL, Xavier as MIT.
Betty wants to improve Alice's code. Her only choice is to release her
improvements as GPL as well.
Yvonne wants to improve Xavier's code. She can release her improvements as
GPL, or as MIT, or as commercial software.
Say Yvonne builds some significant functionality that costs more money than
Yvonne is willing to give away. Yvonne would like to spend one million
dollars developing some software, then sell it for $10 each to 100,000
people. Yvonne can do this. Betty can't.
(That's why commercial game companies, for example, don't use GPLed game
libraries. It's cheaper to rewrite the libraries from scratch than to give
away the game when you're done.)
Zacharia wants the functionality that Yvonne and Betty know how to create.
Zacharia is willing to pay $10 for Yvonne's improvements, because it will
save him $100 each month. He's not willing to spend $1M for Betty's
improvements.
Charlie, however, is willing to forgo Yvonne's improvements because they're
not "free" as in "libre". Charlie doesn't have the choice of getting Betty's
improvements, because Betty never created them, because neither Betty nor
anyone willing to hire Betty thought they were worth $1M.
Yvonne still has the choice, for any improvements she makes, of releasing
them under GPL, MIT, or commercial licenses. Betty's choice is only to make
the improvements that aren't so extensive that they cost her more than her
spare time. Unless, of course, there's a company that (for example) sells
hardware and can use the profits from selling hardware to pay for GPL
software that provides similar functionality as other software that only
runs on other hardware.
Who *does* the GPL benefit (compared to other free licenses)? It benefits
not the person using the GPL software. It benefits not the person modifying
the software. It benefits, instead, the person who gets the software after
the second person has modified it. And it only benefits *that* person if
they are a programmer or want a programmer to change it for them. So, in
other words, the person best helped by the GPL is Charlie, and only if he's
a programmer. In particular, it helps Charlie most when Charlie is also
Alice, i.e., when the final customer of the changes to the software is the
original author of the software. (Of course, it helps Doug when Charlie
incorporates and improves his changes, and so on down the line, etc.)
This would seem to explain a fair amount.
It seems to explain why the best GPLed software is that which helps
programmers create valuable for-fee services (or which has an exception
letting you sell the results of using the software), like Linux, Apache,
gcc, and the open source database engines.
It explains why there was no popular office suite before Sun and why there's
still no good equivalent of SAP, TurboTax, PeachTree, and so on. These
programs were too big to write as an open-source project just for kicks.
They're not interesting enough to programmers to take to the level of
completion needed to make them useful. Improvements to something like SAP
isn't going to come back and make any programmer's life easier, so nobody
feels the need to get others to try to contribute by making a version that
can be GPLed.
Emacs and LaTeX is good enough for geeks, and those programs get steadily
improved. Editing HTML by hand was good enough for "fancy" output, and it
wasn't worth going much beyond that as an "office suite". Getting an office
suite to the point where it would be useful to non-nerds is a large and
significant undertaking, because you can't do it just a little bit. The
"little bit" part is already done, in functionality like notepad, HTML,
ispell, and so on. The big part is the boring part of putting it all
together, making it deal with different file formats, getting it to conform
to platform standards, writing the documentation and help screens, and all
that other stuff the original author doesn't need.
Because, face it, if you're a nerd who also needed to do spreadsheets, you
bought Excel or some other commercial product - it really wasn't worth
spending a few years of your time to avoid using a commercial product. Or
you wrote something specific to your need of the moment, which was useless
to others.
It explains why the biggest successes - like Apache, Linux, MySql and
PostgreSQL, gcc - are all targeted at creating and using non-GPLed software
and services. Companies like Sun would write their own SPARC compiler of gcc
switched to insisting all output from gcc fell under the GPL. Lots of
companies use Apache, but few release the source to the scripts and database
schemas their customers invoke under it. Other popular successes, like
Firefox and Thunderbird, started out as closed-source commercial software,
released when the companies were destroyed by competition.
I suspect large projects that aren't useful to individual programmers will
very rarely be spontaneously developed under the GPL. There's going to be a
large (and increasingly larger) class of programs that people want that just
won't get developed for free, and the extent to which GPL software requires
those programs to be given away is the extent to which GPL software won't be
useful to the developers of those programs.
Comments welcome.
--
Darren New, San Diego CA, USA (PST)
"Ouch ouch ouch!"
"What's wrong? Noodles too hot?"
"No, I have Chopstick Tunnel Syndrome."
Post a reply to this message
|
|