Re: Economics and the GPL

"Deven T. Corzine" <[email protected]>
Newsgroups gmane.comp.emulators.wine.license
Message-ID <[email protected]>
On Sat, 8 Jun 2002, Francois Gouget wrote:

> On Fri, 7 Jun 2002, Deven T. Corzine wrote:
> [...]
> > The only problem with this idea is that the GPL isn't really "free market"
> > because it coerces the programmer into applying the GPL to other code that
> > might not have been licensed that way given a choice.  If the programmer
> > loses to right to choose the license on their own code, the market can
> > hardly be said to be "free".
> 
> I really resent this abuse of 'coerce' by *GPL opponents. It's akin to
> libel. I apologize to Deven because the following email is not
> specifically about things he said (hence the reply to just the list).
> It's just that this 'coerce' is sort of the last straw that broke the
> camel's back.

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.  At this point I'm mostly 
ambivalent about it.  Right now, I think the *GPL is basically a good thing 
but IF it were to become an effective monopoly, I could see that as being a 
very bad thing.  That's where my concern lies -- what happens down the road 
if the GPL takes over the world, as Stallman would like it to?  (Stallman 
is no less interested in global conquest than Gates, make no mistake.)

There's nothing libelous about this usage of "coerce".  It's description of 
fact, nothing more.  If you choose to read negative connotations into it, 
that's your bias showing through.  "Freedom" is NEVER absolute.  To have 
absolute freedom would require living in a state of anarchy, which most 
people find unacceptable.  To a certain degree, coercion is necessary and 
desirable, even if some people have a knee-jerk reaction to the word.

What does terminology matter?  I could have said "requires" instead of 
"coerces" without changing the meaning of the statement at all.  Reacting 
to the terminology alone smacks of political correctness.

> In the US you can receive hundreds of 'free' credit card offers per year
> (I kid you not). You may even receive checks of up to $50 in the mail.
> All you have to do is sign a piece of paper and return it in a postage
> paid envolppe, or cash the check at your local bank. Isn't it great?
>
> Well, if you do either then don't come whining after that you are locked
> into outrageous interest rates or that you have to pay $100 per month
> for a minimum of one year for a service you don't care about. You agreed
> to a contract when you returned the signed piece of paper or cashed the
> check at your local bank. It is not because the offer was 'free' that
> you are exempt from reading the contract you are getting into or that
> you don't have to fulfill your part of the contract.

I never suggested that programmers were fooled into thinking that they'd 
get the code for free without consequences.  The requirements set forth by 
the GPL are very well known.

> Exactly same is true of software source.
> 
> Before you start using (as in modifying it and incorporating it in your
> development) or distributing software, *read* the license agreement
> carefully.
> 
> It's the same thing for all contracts: If you don't agree to the terms
> of the contract / license beforehand then *do not* use the service /
> product / software. *Never* start using the service / product / software
> first and refuse or complain about the contract terms you did not read
> after!

I never suggested any misunderstanding of the contract involved.

> Nobody coerces you to apply the *GPL to your code. If you made the
> *choice* to use some piece of software that is under the *GPL then it
> was with the understanding and agreement to the consequences. It means
> you considered the temrs fair or at least still to your benefit.

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."  Obviously, "the programmer" 
necessarily refers to one who has accepted the terms of the GPL -- other 
programmers wouldn't be bound by it.  You didn't bother to quote the very 
next paragraph where I point out that "the programmer can avoid using any 
GPL code at all" -- I never suggested that coercion into USING the GPL.

Clearly, the program CHOOSES to operate under the GPL at this time.  (If 
the GPL ever becomes an effective monopoly, the supposed freedom of that 
"choice" becomes more open to question.)  Having made that choice, the GPL 
DOES coerce the programmer into applying the GPL to the additional code, 
whether or not that's the programmer's preference.  The GPL does not give a 
choice to the programmer as to what license to use -- it says that you MUST 
use the GPL, period.

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?

> If not then you should have used some other piece of software under a
> different license or you should have redevelopped it yourself.

I said the programmer could avoid using any GPL code at all.  At least for 
now, that's true.  As software grows more complex, it's harder and harder 
not to rely on other code.  (Please, name ANY end-user application that 
implements the X11 wire protocol directly without using Xlib, Xt, Qt, GTK+ 
or any other toolkit to build on.)  If a day comes when software is too 
complex to be useful without building on existing libraries, and ALL of 
those existing libraries are under the GPL, will it really still be fair to 
say that programmers "choose" to use the GPL?

Today, it's a voluntary choice.  If the GPL codebase becomes a monopoly, 
that choice will effectively no longer be voluntary.  If your choice is to 
use the code that's available or not to be able to build anything useful at 
all, is it really a choice anymore?  Microsoft is trying to force everyone 
into using their code, and Stallman is trying to force everyone into using 
GPL code.  It's not so different, except that the GPL remains the underdog.

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!

> And don't complain either that you don't have the resources to redevelop
> that piece of software. What would you have done if it had not existed
> in the first place? If your whole project relied on the existance of
> this piece of *GPL code then you should have read the *GPL first anyway.

This isn't about people misunderstanding licenses, so quit pretending that 
it is.  This is about restricting the freedom of programmers to choose 
their own license for their own code, if you're going to "let them play".

Plenty of other free software (including "copyleft" licenses like the MPL) 
don't take this freedom away from the programmer.  The GPL does so, in an 
attempt to (quite literally) take over the world.  It's a political thing.

> Now, some people have complained that the change of the license from X11
> to LGPL has somehow 'stolen' their code. This is simply not true!

BSD/X11 code can be appropriated into *GPL projects.  Describing this as 
theft is a bit much, since the license allows it.

> First, your code is still available under the X11 license, just get the
> CVS of the 2002/02/28.

I'm not one of the people making this claim.  (For that matter, none of my 
code is in that CVS server!)

> Second, before contributing to an X11 Wine you should have read the
> license! By contributing to the X11 Wine you gave your permission for
> your code to be used in any LGPL project. Guess what! That's by design.
> Anyone could have forked Wine and started an LGPL branch at any time. So
> if you contributed with the expectation that the license of the 'main'
> branch would never/could not be changed you were wrong. Neither the X11
> or the 2-clause BSD license offers any such garantee.

I'm surprised such a fork wasn't created earlier, actually -- even if not 
by the participants in the original project.

> Third, nobody is 'forced' to contribute to the LGPL branch. Proof:
> people who did not want to do so started ReWind. So you are extremely
> lucky, the X11 branch is still 'alive':  it's just called ReWind. If you
> absolutely want to work on an X11 project then work directly on ReWind.
> And if Wine has more activity than ReWind, though luck. Each volunteer
> is free to choose which branch they want to contribute to.

No doubt they will.  Unfortunately, this is a division of effort and forces 
duplication of effort as well.  That's life, but it's an inefficiency that 
will tend to slow both forks somewhat.

> The same goes for people who developped software for Windows and now
> want to port them to Unix. They should have used portable APIs from the
> start. If they did not then it means that:
>  * they did not intend to ever port to Unix. Thus they had no
> expectations about Wine and no right to complain.

They wrote for the most prevalent platform.  As a business decision, it 
makes sense, even if the cumulative effect is disastrous as the majority 
of the industry becomes (HAS become) heavily dependent on Microsoft.  They 
chose to use the APIs because not to would have been too expensive to 
survive against those who did.

Now turn this around.  If the GPL becomes a monopoly, the prudent business 
decision would be to use the GPL because it would be too expensive not to.
Is this really much different (or ultimately healthier for the industry) 
than the current situation?

>  * they expected to port it using a proprietary product and thus again
> have no right to complain. (would they complain if one of these
> companies went out of business?)

With Microsoft "owning" 80-90% or more of the market, porting isn't an 
issue -- companies target the dominant platform and assume that the few 
people on other platforms don't matter enough to worry about.  It sucks, 
but that's the way businesses make their decisions.  Some port to the Mac 
because it has a significant minority marketshare.  Many don't even bother 
with that much porting effort.

>  * they expected Wine to remain X11 and use it once mature a couple
> years down the road. Again they should have read the license first and
> realized that nothing garanteed that the Wine development would continue
> under the X11 license. that was a gamble and they lost so the only ones
> they can blame for this is (as for all gambles) themselves. If they find
> the new license inacceptable they can still pick Wine from the
> 2002/02/28 or ReWind so they are not 'coerced' into anything.

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.  Maybe 
other people have issues with this license change, so I'll assume you're 
addressing them and ignore this.

Personally, I don't really mind that Wine changed to the LGPL, whether or 
not it's a choice I would have made.

> So generally, anyone who is contributing or depending on software which
> is under the X11 or 2-clause BSD license is at the risk of seeing the
> main branch of development move to another license LGPL, GPL, or
> proprietary.

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.

It's quite ironic, actually.  Stallman rants about the evils of proprietary 
software while creating yet another enclave of proprietary code that others 
need to be cautious of.  BSD developers have a more honest claim to being 
against proprietary code than Stallman does.

It's funny that this never occurred to me before now.  It's quite obvious.

> If you don't like that then create a fork to the 3-clause BSD license or
> some other suitable license and either try to convince the majority of
> contributors to move to your fork, or contribute so much to that branch
> that it become ipso-facto the branch where stuff happens.

Again, I'll assume this is directed at someone else.

> On a quite different subject, Deven is also concerned that *GPL software
> is going to put him out of a job because 'it's the "free beer"  aspect
> that keeps people coming back for more'.

Actually, I'm not concerned about a job for myself.  I know that we won't 
lose ALL programming jobs, and I'm confident that I'll be able to get one 
of the remaining ones, however many there may be.  I'm more concerned about 
the overall effect on the computer industry.

> Well, guess what, X11 and *BSD software too is free as in 'free beer'.

Yes, but it's non-proprietary code.  Like public domain code, it can be 
appropriated for new purposes, which makes it valuable to everyone, even if 
it's available for free.  These licenses are the closest we get to having 
no copyrights on software.

> Following the usual 'economic' reasoning, if proprietary versions of an
> X11 and *BSD project thrive, it's because they offer many compelling
> proprietary features that are missing in the open-source project.
> Another way to say this is that the open-source version is so behind the
> times that nobody wants to use it. Is that a win for the X11 and *BSD
> licenses? I would rather call it a farce.

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.

> And if proprietary versions prosper while having no big advantage over
> the X11/*BSD version, then it means that these companies must be relying
> on something else to live... like better packaging, better marketing or
> services. All of which work just as well with *GPL projects.

Many have tried to make all sorts of business models with with the GPL, yet 
none have been fantastically successful.  Make all the arguments you want, 
but history isn't being terribly supportive of the business case for using 
the GPL.  I'm not saying it's impossible to make a profit this way, but it 
has tended to be relatively disappointing, and we have to ask why.

> So this is not going to calm Deven's fears but, in my view, if *GPL
> software kills the industry, then so will X11 and *BSD software.

No, because there can always be proprietary offshoots from X11/BSD code, as 
from public domain code.  These offshoots can generate revenue for whatever 
company makes them.  Eventually, they're probably better off donating that 
code back to the public version rather than maintain it, once there isn't 
much of a proprietary advantage contributing to that revenue stream from 
the older code.  This is a sustainable model.

The GPL, on the other hand, is proprietary to the GPL community, and isn't 
compatible with such economic activity.  It's not been proven that pure GPL 
development will be able to sustain the computer industry at its present 
size, much less an expanding one.  That's what concerns me.

> > Sure, the programmer can avoid using any GPL code at all, but that puts 
> > him at a disadvantage against a competitor who can draw on that code.

Okay, you finally got around to quoting this, after implying that I was 
implying that the programmer would be coerced into using the GPL in the 
first place...

> 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.

>  * because of the way your software is architectured? Would you complain
> that your competitor's architecture makes it easy for them to handle
> double-byte characters but yours does not? Of course not. Then you have
> only yourself to blame if you cannot use the GPL code.

This isn't about the technical quality of the code, only the license.

>  * because your product is targetted to a platform that requires you to
> both sign NDAs and make modifications to the GPL code (the mythical
> PS2)? Well, then so is your competitor and thus they cannot use the GPL
> code either. Or it means they are not targetting that platform and thus
> are not your competitor, at least for this platform!

Maybe one platform is proprietary and the other isn't, but each serves the 
same purpose ultimately, and for the purposes of the product in question, 
the user might not care about the platform.  Consider a device like the 
TiVo -- it's a standalone box which serves certain functions; it matters 
little to the user what the underlying platform is.  It's a black box.

>  * because of philosophical reasons? Well, you are not going to complain
> about that, are you?

The most obvious reason is that it's incompatible with the company's chosen
business model.

> 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?

Deven
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.