*BSD News Article 56682


Return to BSD News archive

Newsgroups: comp.os.linux.advocacy,comp.unix.bsd.freebsd.misc
Path: euryale.cc.adfa.oz.au!newshost.anu.edu.au!harbinger.cc.monash.edu.au!nntp.coast.net!chi-news.cic.net!newsfeed.internetmci.com!in2.uu.net!news.alias.net!myriad!mylinuxbox!suck!netcom.com!kevinb
From: kevin@frobozz.sccsi.com (Kevin Brown)
Subject: Re: Linux vs FreeBSD
Message-ID: <kevinbDJGqtq.Fup@netcom.com>
Sender: kevinb@netcom15.netcom.com
Reply-To: kevin@frobozz.sccsi.com (Kevin Brown)
Organization: Frobozzco International
References: <489kuu$rbo@pelican.cs.ucla.edu> <DJ8DMn.3oM@nntpa.cb.att.com> <4aa6k2$9et@josie.abo.fi> <4aajus$nd@dyson.iquest.net>
Date: Tue, 12 Dec 1995 07:44:13 GMT
Expires: Mon, 11 Dec 1995 08:00:00 GMT
Lines: 201
Xref: euryale.cc.adfa.oz.au comp.os.linux.advocacy:30049 comp.unix.bsd.freebsd.misc:10262


In watching the debate between GPL/LGPL and the BSD/MIT copyright, it
occurs to me that perhaps people haven't really thought this stuff all
the way through.

To begin with, let's examine the state of affairs in the commercial
world *sans* free software, with respect to one particular capability.
Let's look at the capability to compile C code.

In the commercial world, an entity that wants to compile C code has
two choices: it can either buy the capability from someone who has
written the software to do it, or they can write such software
themselves.  Since writing software is itself an expensive
proposition, any company that decides to write such software is likely
to sell it to others under the same terms that other companies do,
namely without source code.

Where there exists more than one company selling such a product,
competition is likely to ensue, thus reducing the cost of the binary
distribution somewhere close to the actual price of making sufficient
profit from the product to keep the distributing company alive (i.e.,
enough to make it worth it to the company to distribute the binaries,
but low enough to keep the demand high enough).

The end results?  Well, for one, an entity which needs to compile C
code must either pay a very high up-front expense to write the code
themselves, but reap the support rewards of having complete access to
the source code, or they must pay a low to medium amount for the
compiler but get support which can be, and often is, worse than what
they could do had they access to the source.  In the latter case, the
entity cannot get support from any source other than the compiler
vendor, and this means that the compiler vendor, having a monopoly on
the support for their product, can charge a relatively high premium
for it (note, however, that since they *are* likely to be in
competition with other vendors, the price of the product + the price
of the support is likely to be more or less competitive with the
prices of the other vendors, but vendors overall can charge a higher
price because it's not at all clear how the price breaks down).

The consequences to the vendors themselves?  Clearly, each must invent
the ability to compile C themselves, since they have no access to
source.  Furthermore, they need to distinguish their compilers from
the other offerings, which means that they end up inventing features
that are incompatible with the ones offered by their competitors.
Where a vendor wishes to include a feature offered by another vendor
in their own compiler, they must invent it themselves.



Now let's examine the case of free software under the BSD copyright in
the above conditions (assume for the moment that there is a freely
available BSD compiler).

Vendors now have a choice: they can either implement the ability to
compile C code themselves, or they can distribute binaries derived
from the BSD compiler.  It's pretty unlikely that they'll distribute
source, since that would be an added expense.

Consumers also have a choice: they can either buy binaries from a
vendor, or create their own binaries (or obtain them from some other
free source).

The end result?  The prices of C compilers drop because the price of
development has gone down and because of competitive pressures from
the free sector.  But two things remain the same: vendors still have a
lock on support since they remain the sole source of such support with
respect to their offerings, and vendors will continue to invent new
features to differentiate their products from those of their
competitors and reinvent features that their competitors have.  If the
free compiler is a good base, lots of derivative works are likely to
pop up, but they're also likely to be incompatible with each other.

The consequences to the consumer?  They can choose the free compiler
if they want, but they're not likely to unless the feature set of that
compiler happens to fit their needs.  The longer the free compiler has
been out, the longer commercial vendors have had to create divergent
sets of features for that compiler, probably to the extent of making
their offerings incompatible with the free version (since doing it
that way reduces the competition from the free sector).  If the
consumer happens to need a feature that only the commercial vendors
supply, then they can buy the commercial version and pay for the
support that vendor has to offer (whether in money or in bad support,
and the two aren't mutually exclusive :-), or they can contract out
the work to someone who can then make the appropriate modifications to
the free version.  Since the BSD copyright allows the author of the
derivative work to keep his modifications to himself, such
modifications are likely to remain proprietary, and therefore the
public version will not evolve much except through the efforts of
people in the free sector itself.



Now let's examine the case where the only source of free software is
GPL'ed software (assume that "GPL" refers to the appropriate choice of
the GPL or the LGPL, depending on the context).

Commercial entities which wish to write a compiler have two choices:
do it themselves or base theirs on the free version.  But those that
wish to base theirs on the free version are forced to release source,
thereby disclosing their efforts to the public.  Their alternative is
to do it themselves, but that's a more expensive proposition.
Competing firms can, and will, incorporate the ideas of their
competitors into their own designs, but they can't use the actual code
of their competitors unless they also release their product under the
GPL, which means that if they wish to use the source of their
competitors, it's more economical for them to base their compiler on
the freely available version than to implement their own and release
the source of *that*.  Therefore, while it's possible for multiple,
incompatible versions of the free compiler to emerge, it's not
particularly likely since there's no advantage to it.  This puts all
vendors who base their product on the free compiler on an even
footing, which means that the *only* way they can really compete is by
the support and services they offer.  Since they'll be in competition
on this point, with respect to the same compiler, the price of support
and services with respect to the free compiler will hit rock bottom,
as there's no monopoly on it.

Consumers will be able to choose between the various proprietary
compilers and the free one.  Where they choose the free one, they
obviously get source and also get the choice of how to obtain their
support.  Since any vendor who bases their compiler on the free one
must provide source, the consumer can provide their own internal
support or buy it from any one of the vendors.  As with the other
cases, they must choose a proprietary one if the free one doesn't
provide it, but they also have a third option that's more likely to
work in this scenario than in the BSD scenario: they can hire someone
to implement the needed feature(s) in the free compiler, since the
source is freely available.  Chances are, at least one of the support
providers will offer such a service.

End result?  In the free sector, the compiler ends up evolving
primarily as a result of the needs of individual consumers who
contract someone to implement the features they need, and therefore it
acquires the features that the consumer group as a whole desires.
Otherwise they buy the commercial version and deal with the well-known
consequences of that.  This is likely to result in a free compiler
that keeps up well with the commercial versions in terms of truly
needed features.


Now let's look at the case where both BSD and GPL versions exist.

Again, vendors can choose between GPL versions and free versions.
However, those who are interested in actually implementing a compiler
will clearly choose the BSD version, since they can create
proprietary, derivative works from it and retain a monopoly on their
support.  The freely available BSD version, therefore, will evolve
only as a result of the efforts of the free sector.  Vendors who wish
to simply provide support and customization services, however, are
likely to choose the GPL version because it's more likely to be kept
up to date by other support and customization organizations, and
therefore will be a better product than the BSD version.  This is a
feedback situation: the more vendors that support the GPL'ed version,
the more appealing the GPL'ed version will be to both consumers and
support/customization organizations.  Until support organizations form
around the GPL'ed version, however, the GPL version and the BSD
version will be on equal footing, evolving only as a result of the
efforts of the free software sector.

There is one other factor to consider: the source compatibility
between the BSD version and the GPL version.  The greater the
compatibility, the more likely it will be that features which appear
in the GPL version will make their way into the BSD version.  But
where the source compatibility is small with respect to such changes,
the GPL version is more likely to gain features sooner (assuming that
the free sector's efforts are more or less equally divided between the
two versions) as it will have more commercial effort backing it.



How does this translate to Linux and NetBSD/FreeBSD?  So far, the two
have been on more or less equal footing since the commercial sector
hasn't really gotten involved that much yet, which means that the free
software sector is where all the action has been.  However, this *is*
starting to change, if slowly.  In particular, Caldera has contributed
some kernel changes back to Linux which, as far as I know, haven't
propagated to FreeBSD yet.  At the same time, we have an example of a
company (BSDI) whose product is derived from BSD but whose efforts,
due to their proprietary nature, have not helped the NetBSD/FreeBSD
community (as far as I know.  Counterexamples welcome).

I suspect that there are some companies who are waiting to see how
well Caldera does.  If they do well, expect competition to result.




No matter how you slice it, though, there's no question about it: the
world is better off with free software, whether it's under the GPL or
the BSD copyright, than without it, as my previous comments should
make clear.  :-) However, I believe GPLed software to be in a better
position to benefit from commercial involvement than software under
the BSD copyright, since commercial efforts with respect to BSD
copyrighted software are highly likely to be proprietary in nature.


-- 
Kevin Brown                                     kevin@frobozz.sccsi.com
This is your .signature virus: < begin 644 .signature (9V]T8VAA(0K0z end >
            This is your .signature virus on drugs: <>
                        Any questions?