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.