Installshield 6 (inter-proc) patches
Geoff Thorpe
geoff at geoffthorpe.net
Tue Dec 18 05:13:40 CST 2001
Hi there,
I have been watching this thread quietly for some time now but I feel I
should probably put my opinion forward ... now or never. Warning - it's
longish and covers a few things that might be considered a little bit "left
field".
I have worked at more than one company in the capacity of an "open source
programmer", however you choose to read that. My primary open source
involvement has been with the OpenSSL project, but I've ventured forth bits
and pieces to other projects too.
The following note struck a chord with me;
> If you believe all are greedy bas*ards and will just steal the code, then
> you shouldn't care. If you think that people can make a 'good faith'
> judgment on what's a bug fix and what is their stuff and will contribute
> the former, then you should care. Let's say company A implements
> DSOUND, and contributes X bug fixes that fix acm stuff, but keeps its
> DSOUND implementation. I would say that you are STILL better off, as you
> got the acm fixes. If company A would not have done the work because it
> couldn't keep what it did, then you are NOT better off by using LGPL.
I think the essence here is pretty spot on, but I'd like to take it a step
further. I have worked on source code in a company that for various reasons
(outside it's control I might add) was using essentially a "forked"
development tree. The reason is that proprietary code (including external
elements they had no permission to open to the wide world) was being used
as a supplement to the public code at a certain point in time. During only
a short period of time, they did not have adequate resources to pay
attention to this problem let alone rectify it. As a result, the open
source project had continued forth to the point that not only was the
proprietary tree left behind, much of the change in the public tree had in
fact conflicted massively with the proprietary code. In this case they
hadn't wanted to keep the proprietary code to themselves, but even in cases
where the retention of corporate development is by choice - the maintenance
curve can easily get steeper than the perceived benefit of doing so.
This is not that uncommon - maintaining proprietary patches to open source
projects is always a pain in the ass, and the only positives (when there
are any) are commercial. And you should know full well that when commercial
considerations have chosen to win out over technical and/or logistical
considerations, you can discuss the differences between LGPL/X11/BSD/etc
until you are blue in the face and it won't, in all reality, make a shred
of difference to what such companies do. As has been adequately
demonstrated in many posts already - you can wrap up proprietary code in
any number of ways and the practical hurdles of separating that from
"public" code are probably minimal (and reasonably constant over time). So
the LGPL-vs-BSD differences in that respect are unlikely to amount to much
IMHO - especially given the component-oriented nature of wine.
"Forcing" those companies (if one believes the LGPL assertions) that are
planning to retain (some of) their wine improvements to at least provide
static libs of their proprietary code makes, IMHO, no great difference. The
only noticable difference AFAICS is that it improves their users'
experience anyway - because they can use the company's product but benefit
(perhaps) from improvements in the public code ... but ... if you look at
it - helping users of those company's products is hardly doing anything to
"deter" the behaviour we all agree should be discouraged, is it? It simply
improves the user-experience of these companies and rewards the business
model. Again, I doubt the LGPL in reality discourages this behaviour any
more than the current license.
I'm not going to "vote" on the wine licensing issue at the end of the day -
I'm a casual user and certainly have *not* contributed anything to it - so
to my mind, I have no right to do so.
However, if I might wax extreme for a moment, my out-there suggestion would
be to stick with a BSD style license but to put an advertising clause *in*.
This leaves companies/users/etc basically with their existing freedoms, but
provides a P-R feedback loop that might discourage companies who were
looking to peddle their wares as "better and other than wine" - it would
instantly show them up as being "wine + stuff we didn't contribute back"
rather than anything completely independant of the public project. This
might also allay fears companies might have about contributing - ie. would
Transgaming fear other companies profiting from their work if those other
companies also had to 'fess up to using the public wine project themselves?
Would not the kudos from sponsoring/contributing/maintaining the D3D work
in the public wine project more than offset the fact that other companies
would then have the same functionality? I don't think so - especially as
the public version would also have it.
Under such a license, what companies contribute back and what they don't is
still their choice, but there is a counter-balance to the temptation some
might have to withhold their own improvements whilst harnessing the work of
others.
The rest of the suggestion I would like to make may seem somewhat
surprising; dual license this BSD+adv-clause with the GPL. Not LGPL, but
GPL. GPL is an enormous hunk of trouble I know, but under a dual license
you're only bound by it if you choose to use it instead of the alternative.
The GPL would then exist as an alternative for those who can not work with
the BSD (and/or the advertising) clauses - eg. some of those GPL and LGPL
projects that have a "no additional restrictions" viral element. If they
don't like BSD/adv-clause, they could always go with GPL but would then be
stuck with the *ultimate* counter-balance, they have to open up
*everything* else they do and stay with the GPL from then on. Given that
the most stark conflict with a BSD+adv-clause license is the GPL itself,
this would provide a clean fit into GPL projects. Those that can't handle
using the GPL option (we shall call this "the sane world") would then have
all the freedoms of that BSD-style alternative - with the simple proviso
that they have to 'fess up from the get-go that their product is built
using wine. In other words; if your commercial product can run win32foo.exe
and the public version of wine can not, that means you have supplemented or
edited the wine code but didn't contribute it back. Customers can then
judge for themselves.
From my experience, I would expect that there are those who would *not*
want to use a "mutant" wine just to get paid-up support or an extra feature
or two - the simple reason is that you've always got a smoother upgrade
path and wider support/info resources available to you if the commercial
product hasn't frankensteined the public version. From a Q/A point of view,
do you prefer your employees/children/uncle/whoever buying supported
products that are known to be forward compatible with a public open source
project, or do you prefer them buying products that have no future the
moment their subscription lapses or the company goes under?
If you don't know it's based on wine, you probably think you've got no
choice. If you know it's based on wine, you're more likely to wait for the
public wine itself to catch up (or you will buy your supported product for
the support services but will switch to the public version as/when it
matures enough to solve your needs).
Anyway ... sorry for the blurt - I realise such a scheme may be off the
radar for most people, but thought I should at least mention it. At least
it might inject a fresh "something" into this thread (though what that
something is remains to be seen ...)
Cheers,
Geoff
More information about the wine-devel
mailing list