Clarification on my call for license change

Jeremy White jwhite at codeweavers.com
Fri Feb 15 08:19:44 CST 2002


Several people have asked me to clarify my original post.

I apologize for not replying sooner; to be honest,
I have been hoping that the flames would die down,
and I was very reluctant to fan the flames in any way.

Further, I'm not sure if I have anything to add other
than kindling.  But, I don't mean to 'hide', so here
goes.

First of all, let me say that my call for a change was not
based on a single mysterious event.  It was triggered
by an event that I cannot discuss due to a confidentiality
agreement.  More important, it is a culmination of a number 
of events and disturbing trends which I can freely discuss.

We've already discussed the concern with the InstallShield
related patches of Transgaming; I won't belabor
that now.  But doesn't it bother anyone else that
Marcus spent 5 weeks redoing work that they already had?  
Wouldn't you rather be able to better play Monkey Island instead?

I have always felt that in order for Wine to progress,
it was important that changes to Wine be returned
to the Wine project. It has always been clear to me
that if everyone returns the work, in the long run,
everyone benefits.

So, with each and every one of my major 
customers over the past three years, I have had a major, knock
down, drag out fight over licensing.  I have always
insisted that changes we make to Wine be returned to
Wine.  This has meant (while in a sales situation) 
explaining the complexities of BSD versus GPL
licenses.

Wine still requires huge capital investments to
make it work, and any company that is going to
invest hundreds of thousands of dollars is
naturally going to demand ownership of the resulting
work product.  It it were LGPL, it would be
an easy negotiation - I'd just say "Sorry, can't
do it."  End of story.

I know that the naysayers will jump on this and say
"Oh, but then you wouldn't have had any customers,
they would have been scared away by the LGPL."
To this I respond very simply:  bullshit.
I was there for each of these sales processes,
and each customer was primarily interested
in the end result, not in the nitty gritty
license details.

There is an analogy I recall from when I took
a physics and public policy class.  If a physicist
stands up and says "It's a bad idea to build
chemical weapons" nobody will listen to the physicist's
opinion - they just get a different physicist to do the
dirty work. If, instead, she stands up and says "It won't work.  
The inverse poleron field conclusively prevents that."  
There is no more debate, and public policy moves on to protecting
chickens from acid rain or something else.

So, my business is threatened, because CodeWeavers
is trying to be the best physicists in town.
If I, as a matter of principle, refuse
to work on chemical weapons, I lose business because
my customers hire different physicists who will
build chemical weapons.

Okay, let me drop the analogy and come back to
straightforward facts.  If I believe in the LGPL,
and release all of my code to WineHQ under the
BSD despite that, then I am a fool.  Transgaming,
Lindows, name your new competitor, each of them
can take the best of my work and use it in their
product.

I'm sure Transgaming doesn't have any problem using any
of the great new Window management code or
Window messaging code we wrote.  In fact, the
InstallShield 6 stuff wouldn't be *possible*
without that code.  However, if I had it to do
over again, I would not have released that code
under the BSD license.

So, I think there are several fundamental problems:

    1.  The current license encourages forks.

        We have the WineX fork; I think that Lindows
        is still formulating their strategy, but
        they have publicly stated that they like
        having some proprietary pieces, this certainly
        suggests another fork of Wine.

        You can argue that the pain of maintaining
        a separate fork is so great, and the work of
        merging in the BSD code is so hard, that people will
        just naturally contribute their code back.

        We do merges of six month drifts on a regular
        basis; it's just not that painful (the last
        one took Francois 2 days; the resulting bug
        fixes probably took 3 or 4 days).

        If this argument held any water, then Transgaming
        would have just been forced to contribute
        the Direct3D and IS6 support back.


    2.  The current license discourages competitors
        from releasing their code.

        Since I believe in the LGPL, but compete with Transgaming
        and Lindows, contributing my code under the current license
        is like giving my competitors my very best and getting nothing
        in return.  

        You know, the concept of making money on Free software is crazy
        enough without enabling your competitors into the mix.

        And, much as Gav and I are friends, we do compete.  I have been
in 
        sales situations with embedded customers where gaming expertise
        was required.  Now, Gav has the best of what I can do, and I
have
        little or none of what Transgaming did.

        In hindsight, if I had it to do over again,
        I would have held out all code we had done
        over the past year or two.  Where would Wine
        and Transgaming be if we had done that?


    3.  The current license is harmful to the growth 
        of Wine, because it creates a murky, uncertain ground.

        This is true for a lot of reasons.  First, I think
        we all sort of kind of hope that any corporate
        Wine citizens will follow some sort of unwritten
        ethical code of conduct.  That is, we'd like
        the corporate citizens to pitch in and help Wine
        to grow.

        Having unwritten rules is foolish, IMO.

        The current license specifies:  go ahead and do
        anything you want - we don't care.  But I think
        we do care (*I* care).  So corporate citizens
        spend all their time worrying about this
        middle ground of perception (how much time
        do you think this debate is taking away from
        my people, and the Wine hacking they could do?)

        Well, a Copyleft license provides potential
        corporate citiziens with written rules.

        Second, it clarifies the code issues.  Right now,
        say I wanted to work on a game.  Well, gosh, just
        how should I do that?  Should I work against the WineX
        tree?  But if I do that, I can't really talk about
        it on wine-devel, and I can't really share my work
        with others.  Ah heck, maybe Transgaming will fix
        my game.  I'm just going to reboot over to Windows.

        And if you don't think that's a serious problem,
        just look at the Wine project historically.  Over
        the past five years, game related patches have
        overwhelmingly dominated wine-devel.  Over the
        past 12-18 months of Transgaming?  Virtually dead.

        Add to that the new problem of CodeWeavers now
        being unwilling to contribute their code under
        the current license.
        
        In my opinion, all the developers will just throw
        up their hands and go work on something else, and
        I think that would be a great tragedy.
         


I hope that helps.  

Looking back on this, I see nothing but kindling.

If you want to raise a point or an argument that is a variation on
something we've heard before, just don't.  

And if you're not a contributor to Wine, please don't
respond at all.  You can flame me privately.  Or go find a different
mailing list.

I would really prefer to hear only what Wine contributors
think about this.

Jeremy

p.s.  For the record, in my mind, Dan Kegel qualifies as a major
contributor to Wine.  It is through his hard work that we have a chance
that the U.S. court system will put into place systems that will make
Wine development easier and protect Wine from predatory action
from Microsoft.




More information about the wine-devel mailing list