Re: Economics and the GPL

"Deven T. Corzine" <[email protected]> Sat, 15 Jun 2002 18:42:52 -0400 (EDT)
Newsgroups gmane.comp.emulators.wine.license
Message-ID <[email protected]>
On Sat, 15 Jun 2002, Francois Gouget wrote:

> > Don't label me as a *GPL opponent.  I was a *GPL proponent for many years
> > and only recently have I started to question it.
> 
> Frankly, you are obviously having more than just doubts. And despite
> whatever you may say, I really don't see anything in your discourse that
> distinguishes you from anti-GPL zealots.

To a certain degree, I've had to play devil's advocate for the sake of this 
debate, because there are so many people who accept the GPL uncritically.

I still like the idea of the GPL, and I would absolutely love to find a 
solid development model using the GPL that could generate substantial 
revenues to fund software development for its own sake.  I haven't seen 
one; all the ones I've seen depend on other things for revenue and the GPL 
coding becomes parasitic in nature.

GPL development provides value.  Much of that value is provided to masses 
of people who aren't willing to make any contribution back in exchange for 
the significant value they've received, even while they continue to funnel 
their money to Microsoft, who already has billions more than they need.

Can you think of a way to get the MASSES to contribute back consistently?  
Not a few thousand, but the MILLIONS who can benefit from free software?  
Think of a good way to do it, using the GPL, where the software development 
effort ITSELF drives the revenue stream that can fund more development, and 
I'll be more than happy to jump on board.

Many people have tried to devise a model, but nobody's really been able to.  
The models that have worked don't operate on the basis of GPL development 
actually funding itself.  It's always a side thing.  A proper model would 
be self-funding in such a way that it creates a feedback loop, where the 
more GPL software there is, the more money there is to create more GPL 
software, ad infinitum.  Microsoft's model works this way.  The GPL's model 
only seems to work as a sideline, and that keeps it from supporting itself.

> > There's nothing libelous about this usage of "coerce".
> 
> Reading some other emails you wrote about third-world countries, I can
> see how you would be completely oblivious to the offensive nature of
> what you wrote here.

Are you one of those people who goes LOOKING for things to be offended by?
I'm tired of the political correctness movement.  I never disparaged any 
third-world countries, I only said that I did not believe that they were 
COMPLETELY without resources.  Yes, their resources are often very limited; 
they could always contribute by writing code and providing support services 
rather than expecting money from them.  (Either that, or let them slide 
entirely, since they're not in a position to help.  Nothing wrong there.)

I don't have a problem with programmers sharing all their code, I have a 
problem with millions of users who want to be complete freeloaders without 
contributing back anything at all -- this is the tendency of the masses, 
and the reason why their support goes to Microsoft, not free software.  
Sure, they may USE free software, but most of them don't SUPPORT it.

> > It's description of fact, nothing more.
> 
> It is not a fact.
> 
>    coerce tr.v.
>        1.To force to act or think in a certain way by use of pressure,
>          threats, or intimidation; compel.
>        2.To dominate, restrain, or control forcibly: coerced the
>          strikers into compliance. See Synonyms at force.
>        3.To bring about by force or threat: efforts to coerce agreement.
> 
> Certainly you cannot disagree that coerce is a word with very strong
> meaning. Now, developpers working on GPL code have agreed to the terms
> of the GPL when they started using it, otherwise they would not be using
> it. So how can they be forced to follow these terms when they already
> have agreed to them. You cannot be forced to do that which you have
> already decided to do.
> 
> So your use of 'coerce' is a mischaracterisation of the GPL license. And
> that's your bias showing.

The force involved is the force of law behind copyrights and contracts.  
Ultimately, that force can lead to men with guns throwing you in jail.  
Break the GPL, and you run the risk of having that force applied against 
you, first by social pressure, then by threats of legal action, finally by 
criminal conviction and incarceration.  The fact that the force behind 
copyrights is the same one the GPL seeks to thwart by turning it back upon 
itself doesn't change the fact that force is part of the equation.

Under what fiction can you possibly believe that the GPL's requirements are 
NOT coercive?  If they weren't, they wouldn't be REQUIREMENTS, they would 
merely be REQUESTS.  No, the coercion is absolutely necessary -- the GPL is 
worthless if enforcement is impossible.

Your knee-jerk reaction to the word "coerce" is showing your bias.  To you, 
it's a loaded word, and therefore offensive.  Political correctness demands 
that you defend the GPL's honor by trying to change the facts.  But facts 
are facts -- the GPL is coercive, because it HAS to be to meet its goals.

Why do you assume that coercion is by definition wrong?  Law and order, 
taxes, union dues, whatever -- all sorts of things in this world have to 
use coercion to function.  That's like.  Sometimes coercion is necessary.

> > I never said anyone coerces you into using *GPL code.  I said that the GPL
> > "coerces the programmer into applying the GPL to other code that might not
> > have been licensed that way given a choice."
> [...]
> > That's coercion, plain and simple -- after the choice was made to use GPL
> > code, the programmer never again gets a choice with the derived code, even
> > if the ultimate result is that the program gets to a point where the new
> > code dwarfs the original GPL code, ALL of the derived code is forced to be
> > licensed under the GPL.  How is this not coercion?
> 
> It's not coercion because it is something he agreed to from the
> beginning. Again, your choice of words is either very poor or
> intentional. I'm not sure which is worse.

So, if David Koresh or some other cult leader entices people to join his 
cult, it's not possible for him to later use coercion on them because they 
joined of their own free will?  Just because a free choice was made at 
point A doesn't guarantee that by point B it's still a choice being freely 
made -- perhaps by that point it's a choice that was regretted, but having 
passed the point of making the original choice, you're coerced into staying 
on the path you first chose, even if you'd rather now choose another.

I'm not suggesting that the GPL is a cult, but your notion that later 
coercion is somehow impossible merely because someone started by freely 
choosing to go along with the idea is absurd.  Someone could freely choose 
to go along with the GPL at point A, and later at point B regret that 
decision and no longer have the choice to make freely -- having adopted the 
GPL, they may now be FORCED to continue with it.  How is this not coercion?

> Furthermore, if you are the _sole_ copyright holder for a piece of code,
> then you can change its license whenever you want. If you have really
> modified or added to the code so much that the code on which you don't
> hold the copyright has been isolated to a specific area of the project,
> then you can remove that code altogether and reimplement it. Then you
> are the sole copyright holder of all the code and you can license it
> however you please. And if, like in your scenario above, your code
> already dwarfs the original GPL code, then taking it out and
> reimplementing it should be an easy matter.

It's not that simple.  Sure, if you wrote 100% of the code, from scratch, 
you could relicense it at any time without implicating the GPL.  However, 
if you started with GPL code released by someone ELSE, and all of your code 
grew from that initial base, then the FSF could claim ALL of your code to 
be "derived" from that GPL code, even if you later excise it.  And unless 
you're willing to fight this interpretation in court, you'll be forced to 
compete against your own code, since you will be required to keep it under 
the GPL, according to that theory of "derived works".

Now, such a theory may not have legal merit, but that won't stop them from 
advancing it if they choose to.

> Of course this assumes that there is a single copyright holder, for
> instance a company. If that's not the case, then changing the license
> requires the agreement of all copyright holders.

Yes, we're all aware that a sole copyright holder can relicense -- the 
question is whether or not you can relicense with impunity if your code was 
all based on someone else's GPL code.

> > It's voluntary for now.  But once you choose to use the GPL, you can't go
> > back and change your mind later without starting over from scratch and even
> > competing against your OWN code!
> 
> If it's your own code then you can change the license anytime you want.
> If it's not just your own code, then you must have the agreement of the
> other copyright holders. It's only fair since you are effectively trying
> to change the license of *their* code. And if they don't agree, then you
> can still change the license to the pieces for which you are the sole
> copyright holder, i.e. your own code, so you don't have to start from
> scratch.

This ignores the "derived works" theory above.

> <aside for would-be project leaders>
> 
> Copyright assignment btw is an important point to consider when starting
> a project. If you require copyright to be assigned to you, then it gives
> you the power to change the license whenever you want (1. assuming the
> license would not allow it otherwise; 2. of course this is never
> retroactive). But it may also turn off potential contributors. I'm
> pretty turned off by projects that require copyright assignments because
> they give themselves rights that they deny me. This is one (small)
> reason why I will probably never make significant contributions to any
> of the FSF projects (the bigger reason being that I am unlikely to ever
> have the time anyway so the point is moot).

This is a difficult conundrum.  While it can be convenient and beneficial 
to the project to have a sole copyright holder, many developers are very 
reluctant to assign copyright, and rightly so -- it limits their ability to 
reuse that code in the future.

Perhaps it's not necessary to actually assign the copyright, but simply to 
assign nonexclusive sublicensing rights to the project.  That way, the 
original developer could keep the copyright and the right to relicense, but 
the project could also choose to switch licenses at will as well.  Wouldn't 
this be sufficient for the project's needs?

> An alternative is to use the X11 or BSD licenses which let you change
> the license of the project without requiring copyright assignment. But
> then, so can others. So you may end up facing competition from companies
> or forks based on incompatible licenses, both of which have the
> potential of taking users and developpers away from your project.

This could happen if the contributer does the relicensing too, of course.

> Which is the right choice? There is no definitive answer. There are a
> lot of other aspects of the license to take into considaration in
> relation with your project. So this decision must be made on a case by
> case basis, and even so, the choice may not be clear-cut.

I suspect it makes more sense to assign licensing rights rather than the 
actual copyright itself.  It seems like that should be good enough.

> > I'm surprised such a fork wasn't created earlier, actually -- even if not
> > by the participants in the original project.
> 
> So would you be surprised to learn that Wine was originally under the
> GPL license and that the switch to the LGPL was actually the third
> license change?

No, since I saw it mentioned in Alexandre's Wine talk someone pointed me at 
a while ago.  It certainly begs the question, though -- why did Wine change 
from the GPL license to the BSD license?  For that matter, why the change 
from BSD to X11?  Are they really that different?

Surely there were reasons for the original GPL->BSD change -- do those 
arguments no longer apply for some reason?

Regardless, the project can change its license if it wants to; that's fine.  
I'm just surprised that for all those years it was under BSD/X11 licenses, 
nobody tried to make a GPL'd fork of it.  Maybe that's due to the sheer 
size and complexity of the project...

> > In my message you replied to, I wasn't even talking about Wine anymore, but
> > the nature of the GPL, and the possible dangers of a GPL monopoly.
> 
> Yes I know you were quite off-topic <g>. And I should probably not have
> answered because of that. But anyway, as I said already, this was not
> specifically in response to your message.

Well, I didn't say that it was on-topic! :-)

> Actually, I believe only the 'coerce' part was in response to your
> message.

And that part was an overreaction to a simple statement of fact.

> > To be exacting about this, the GPL is just as "proprietary" as Microsoft's
> > EULA is.  The proprietor (such as it were) of GPL code is the community of
> > developers willing to operate under the restrictions of the GPL, rather
> > than a single legal entity.  In fact, it is the coercion within the GPL
> > which makes it proprietary -- the BSD and X11 licenses are not proprietary.
> 
> There you go again completely distorting the meaning of words just to
> fit your claims.

I'm not distorting anything.  I've already quoted the relevant definitions 
from the Oxford English Dictionary to justify this usage of "proprietary".  
The "one" in qestion, who benefits from the proprietary nature of the GPL, 
is one community (the GPL community), rather than one organization or one 
individual.  There's absolutely nothing distorted about the meanings of the 
words here -- it's just in conflict with the connotations Stallman has had 
for "free" and "proprietary", so of course his supporters don't want to 
hear the truth, that the GPL is just as proprietary as the enemy is...

> > The code still benefits more people if more people are using it, even if
> > some of those users are paying for proprietary versions of the code.  And a
> > proprietary version doesn't need to offer "many" compelling features, only
> > a single one.  And that feature might well be support or documentation, not
> > necessarily code.  Anything the user is willing to pay for.
> 
> Wonderful! You have just rediscovered the 'support' and 'widget
> frosting' open-source business models. Anyone can offer support and make
> documentation of *GPL software. So this is by no means a distinguishing
> feature of *BSD licenses. And I don't see why they would would not be
> successful with *GPL software if they can be successful with *BSD
> software.

I said not NECESSARILY code.  Sure, support or documentation value-adds 
work fine with the GPL.  Cygnus and O'Reilly have survived this way, but 
CODE is the most compelling value-add, and the GPL impedes that.  Nobody 
will pay for the code if they can get it for free.

And no matter how well documented or supported the code is, there's always 
a need for new coding, not just helping around the edges of the old code.
It would be better if the funding for that coding were self-sufficient, not
dependent on largesse from the other sources.

> These are the same business model which you were using above to prove
> that a proprietary software can coexist with its *BSD cousin. Now you
> say that these models cannot work, so obviously such cohabitation should
> be impossible, no?

The "support" and "widget frosting" models can work, but they're indirect 
models.  How about a direct model where development leads directly to more 
funding that can support more development?  Show me that one.

> Anyway, if the *GPL licenses really make businesses fail, then that's
> the answer to your fears about the *GPL destroying the software
> industry.

Not all GPL-centric businesses fail.  But even if they did, that doesn't 
mean that prorietary companies are safe -- the GPL codebase grows whether 
the GPL company succeeds or fails, so its power is ever-growing.

> Currently we are in a situation where proprietary software utterly
> dominates the software landscape, and where companies owning this
> software are asking more and more of their users. The result is an
> upswell in open-source software, under many licenses among which GPL,
> BSD and X11. So the rise in popularity of these licenses is a reaction
> to the excesses of the proprietary software vendors (rise facilitated
> by the Internet, no doubt).

This is exactly the situation I'm sick and tired of.  I'm sick of Microsoft 
(and their kin) getting all the money from the masses (which can then be 
used to harm free software), while free software gets short shrift.  We're 
competing against a company with $40 BILLION in cash available, and they 
just keep getting more every day.  Meanwhile, millions of people already 
benefit from free software, yet only thousands contribute back, whether in 
time (coding, bug reporting, whatever) or money.

While those thousands amount to an impressive level of resources, imagine 
what could be done if we could lean on MILLIONS of people instead of only 
thousands?  Then we ought to be able to compete head-to-head with Microsoft 
instead of this geurilla warfare...

That's the dilemma I'm struggling with.  I would love for all software to 
be under the GPL so that millions could benefit.  But I want those millions 
to give something back to ensure that the development could outstrip any 
possible competition from proprietary software vendors.

You seem to think I'm on the side of the proprietary software vendors.  
You're wrong.  I'd be more than happy to put them all out of business, just 
as long as it doesn't put all the programmers out of a job in the process.

> Now, if the GPL starts to dominate the market, and if as you claim it
> makes it impossible (or very difficult) for businesses to make a living,
> then businesses based around the *GPL will obviously disappear at the
> first economic downturn or be outdone by their BSD/X11 or proprietary
> cousins. Then, only individual part-time volunteers will be left to
> contribute to *GPL software, which you seem to believe will not be able
> or willing to meet customers demand. Thus, the market will be open for
> proprietary software starting either from scratch or from BSD/X11
> projects and we will see a swing back towards proprietary software.

I don't think it's fair for millions of people to be making their demands 
on those volunteers, while refusing to pay anything for their efforts -- 
this guarantees that those volunteers will never be able to quit their day 
jobs, and if the proprietary programming jobs are decimated by the GPL, 
those day jobs may be low-paid menial labor of some sort.  Is this justice?

> And if the GPL fails to dominate the market, or does not make it so hard
> after all for companies to make a living, then there is no reason to
> fear that it will destroy the software market.

I don't really care whether companies can make a living off proprietary 
software.  There's plenty of other business areas in the world.  I do care 
about the users of the world being able to get the software they need, and 
the programmers of the world being able to make a living writing programs.

If all the users of the world could get together to provide a living for 
all the programmers of the world, who could then give everything back to 
the users under the GPL, I'd be delighted with that situation.  I just 
don't see how to make that happen, because the GPL demands redistribution 
be possible for free, and most people won't pay for anything they can get 
for free.

I'm looking for a solution to get the users and programmers together into a 
single cooperating community, and ideally eliminate all proprietary 
companies from the loop -- their profits are an inefficiency in the system.  
If I could think of a way to make this happen under the GPL, I'd be happy 
to do it.  But human nature is hard to change -- that's why coercion tends 
to be necessary, because people do NOT naturally cooperate for the greater 
good, even if they can all agree on it.

> > > If your competitor can take advantage of that GPL code then why can't
> > > you?
> >
> > Because (for whatever reason) you're not willing to abide by its demands.
> 
> Then you have only yourself to blame. If you are running a car wash and
> for moral reasons refuse to pay your employees less than $100.000 a year
> (note for people not in the US, that's way more than the average salary
> here), then you are putting yourself at a disadvantage. Furthermore,
> your stock-holders (assuming there are any) could convincingly argue
> that you were not acting in their best interests and sue you.

Stockholders might sue you for using the GPL and relinquishing whatever 
potential proprietary advantage they think the code might have had.

> Similarly, if your _sole_ reason for not using *GPL is that "you're not
> willing to abide by its demands", then you are not acting in the best
> interest of your business and have only yourself to blame.

Did you consider the possibility that not EVERY business has its needs best 
served by operating under the constraints of the GPL?  Would it be in the 
best interest of Microsoft to go all-GPL?  No, because their abusive but 
highly-profitable business model would fall apart.  It would be better for 
society and the world, but Microsoft cares only about its own interests.

> > This isn't about the technical quality of the code, only the license.
> 
> Hey, I'm just trying to be exhaustive and cover all the possibilities.
> Otherwise the argument would be full of holes.

Just what we need, even more digressions.  How do you think we got here in 
the first place? ;-)

> Then why don't you use the platform which is not proprietary? If your
> competitor can, then again, why can't you?

I don't know.  It would all depend on the specific facts of the situation, 
and you can't assume that competitors in the same market can always make 
the same choices.  There are usually other factors which differ, and may 
affect any given decision.

> And, btw, in the case of the TiVo, it is based on GPL software,
> specifically because it's a black box and it does not matter to the user
> what they are using.

TiVo is based on Linux because it's high quality code that works well, and 
they got more out of using Linux than it cost them to return their kernel 
changes back to the community.  (And they did have some changes to return.)

However, the key reason why this works for them is because (like OS X) they 
have a proprietary add-on which is really the heart of the product -- the 
TiVo application is the reason customers buy the box, not because it's on 
Linux or uses GPL code.  (Well, except a few people.)

Do you really think TiVo could survive by making ALL of their code GPL?

> > The most obvious reason is that it's incompatible with the company's 
> > chosen business model.
> 
> As you said, the company has *chosen* this business model. So why are
> they complaining? There are tons of things that the choice of a business
> model makes possible or impossible. Using GPL code is just one of them.

Not every possible business model is appropriate for every business.  There 
is no one-size-fits-all solution.  I think a franchise is as close as you 
can get to that. :-)

> > > So if you *cannot* use GPL code while your competitors can it's only
> > > because of self imposed restrictions not by the GPL's fault.
> >
> > It's possible that the competitor will choose to use the GPL and ultimately
> > go out of business as a result of that choice.  If it turns out that using
> > the GPL can't sustain a viable business model, should each competitor in
> > that market go out of business as well, just to be able to use the GPL code
> > and keep up with the competition until they fail?
> 
> Definitely not. Individuals and companies should they choose to use the
> GPL if it is the wrong license for their market? Use the right license
> for the situation!

If the GPL is the wrong license for your market, but your competitor is 
using the GPL, you still have to compete against them, even if they'll 
ultimately be unable to stay in business.  Worse yet, even after that 
competitor goes out of business, you'll still have to compete against their 
GPL code, which someone else will probably adopt since the work has already 
been done...

> I am not claiming that the GPL is the right license for every case. But
> unlike you I am not claiming either that the GPL will coerce developpers
> into doing things they did not want to do, kill all businesses that use
> it, be the next monopoly, destroy the software industry... or in short
> be evil or part of an evil plot by Stallman and the FSF.

Wow, you have a positively Olympic talent for jumping to conclusions.

Deven