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.
For the record: As far as I'm concerned, I do believe you, when you say that. This however doesn't mean that your conclusion is correct.
In your case there is really two questions: Is LGPL good for CodeWeavers? Is LGPL good for Wine?
Just because you might possibly be right as far as CodeWeavers are concern doesn't nessarily mean that it is good for Wine.
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?
I think this perfectly illustrates the danger in believing that not giving back things that are not strategically important for a specific business model is a viable thing to do.
That said, I do regret that Marcus had to spend time to in concrete terms illustrating that point.
Wouldn't you rather be able to better play Monkey Island instead?
Actually no, I don't like Monkey Island. :-)
Seriously, I don't think anybody believe that double work is good, so the answer is pretty obvious.
I have always felt that in order for Wine to progress, it was important that changes to Wine be returned to the Wine project.
Yes, so far we agree.
It has always been clear to me that if everyone returns the work, in the long run, everyone benefits.
I think the flaw in your thinking lies here. At first glance this seems to be an obviously true statement.
However, if you analyze it more carefully, you will find that it is not nessarily so that the persons that benefits from the work are the same people that are able to do the work.
This is not a problem if you have a free market, then the people that benefits for the work will hire those people that can do the work if the benefit outweights the costs.
If futhermore some sort of work protection exist then you can more efficiently share the cost since you don't have to worry that somebody steals (read: copies) the work after it is done and can try to recoup the remaining, costs after you have done the work.
In short: With work protection people able to do the work don't need to find enough people benefiting from a work to cover all the costs from start.
The LGPL means that no work protection exists anymore you have to give the work back and thus people doing the work must have full costs covered before doing the work.
You can absurdly enough compare it to a world without copyright protection. The arguments against using the LGPL for a project is basicly the same as the one for having copyright protection in the world.
Now you probably think I'm a total nutcase. You will probably say: "The arguments for copyright protection can clearly not be the same as the one against LGPL."
No they can't, of course not, but I didn't say that: Notice the difference of scale "for a project" compared to "in the world".
This makes your statement below false, since it the dual of your statement, a IMHO good slogan for people that believes all information should be free is the following: "If everybody can use everybody else work, in the long run, everybody benefits"
You see the similarity don't you?
This is of course not a conclusive argument against the LGPL, I do not claim it is, but it still makes your statement false.
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.
Yes and it makes sense that you do because increasing the amount of freely available Wine code can only benifit you, since you can use it in other projects for other customers.
From this doesn't follow that LGPL is a good license from Wine.
It might marginally simplify your life at a terrible price.
Some questions: Wouldn't abolishing copyright simplify your life? Probably? Right?
Would you be prepared to pay the price? Probably not? Right?
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.
If copyright didn't exists you could release the code anyway, but as I said you wouldn't want to pay the price would you?
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.
The question is not whether LGPL scare away your customers, the question is whether it scares away other businesses from investing in Wine.
Obviously specialist consulting services like CodeWeavers can survive in any market almost regardless of the rules of the market, as I explain in another mail. This is quite unintresting as far as LGPL is concerned though.
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.
Obviously, if something is impossible then it is.
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.
OK. I can see your point but that comes with as I said a terrible price.
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.
The world is not a simple place. There are few things that are 100% wrong or 100% right.
Yes, you can get some "protection" but are you prepared to pay the price?
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.
Please note what Dimitrie O. Paun said that the LGPL only extends to the DLL boundaries. That was one of the few things everybody seemed to argee on, even Alexandre last debate.
So even with LGPL, they could still have used it. the DCOM stuff they did was in another DLL.
I must emphasize this. This is VERY IMPORTANT that you realize.
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).
The question is not how hard it is rather why they would want to waste any resources on it at all. Most companies would benefit very little from not submitting non strategic code.
If this argument held any water, then Transgaming would have just been forced to contribute the Direct3D and IS6 support back.
The Direct3D stuff is quite seperate and the IS6 stuff are IIRC in quite seldom changed parts of Wine.
Your real world example is not very good.
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?
Hard to tell. But everything comes with a price. Will you pay it? And even if if you will. Should Wine?
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.
Well we will see, however we should think both once or twice before going down the one way street that LGPL is.
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.
Well, I really hope I qualify. Read what I have written and think about it.
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.
I guess that was I stab at me.
As explaination I was irritated on all non-contributors that posted their crap, so I just happend to take it out on somebody whose name I didn't recognize, so I'm sorry that Dan Kegel happend to get in the way.