fsfe-uk
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Fsfe-uk] Are GPL projects more likely to evolve faster ?


From: Chris Croughton
Subject: Re: [Fsfe-uk] Are GPL projects more likely to evolve faster ?
Date: Wed, 4 Feb 2004 11:50:09 +0000
User-agent: Mutt/1.2.5i

On Tue, Feb 03, 2004 at 11:16:18PM +0000, Roger Leigh wrote:

> Chris Croughton <address@hidden> writes:
> 
> > GCC -- GPL, but forked badly with EGCS taking the lead.  The original
> > project died and the ECGS team became the new GCC, but for a couple of
> > years there was a definite split with the 'official' GCC being stable
> > but limited and EGCS being innovative but not distributed as well.
> 
> That's a good example.  However, it's notable because most of the
> active GCC contributors switched to working on EGCS, and subsequently
> the fork was mended when EGCS became GCC.  I can't see the BSD or
> Emacs forks mending in the same manner, but I don't think the licence
> is the major factor in either case.

Yes, exactly.  There are occasions where there are just incompatible
goals, and so projects need to split and go different ways.  I would
hope that there is still a flow of updates in both directions for the
non-forked parts, however.

> > As a programmer, I can take BSD software (including stuff I have written
> > for myself) and use it at work without worrying that my employer will
> > get upset about their IP rights.  I've done this many times, and my
> > productivity goes way up because I don't have to "re-invent the wheel"
> > (and since I wrote the software originally, I can't do a "clean-room"
> > re-implementation).
> 
> This reminded me of a stupid case of re-engineering I'm currently
> undertaking.  In 1996, an Epson driver was written for GNU groff, but
> the author refused to assign copyright to the FSF, so it couldn't be
> included in the official groff distribution.  In 2003, I realised I
> needed a groff Epson driver, and started to write my own.  I'm
> currently doing a complete reimplementation of his (GPL) driver to
> create a new (GPL) driver.  The only difference being I will be the
> sole copyright owner so I can legally assign copyright to the FSF!

That's one area where I'm dubious as well, why should I assign copyright
to anyone else?  OK, it is sometimes a matter of employment contract,
and sometimes I have done so for other reasons (that I respect the person
involved, that I want the person -- or a charity -- to be able to reap
any financial rewards of my work as a gift, etc.) but it is my choice to
do so.

> > I don't expect reward for my own software, except in the form of
> > remuneration from my employer.
> 
> We may differ here then ;-)  I'd happily work for a pittance provided I
> could write free software only, preferably retaining copyright.  I
> have no real desire to write proprietary code--just getting money by
> way of recompense is not what I desire.

I can't afford to work for a pittance, I have a mortgage and other
outgoings.  If a company writing free software wanted to employ me, then
great, but I don't see a great number of them around.

But what I'm talking about is software I write for myself.  I distribute
that on the basis:

  I wrote it for myself, it does what I needed it to do.  If you find it
  useful, feel free to use it (just don't claim that you wrote it, and
  don't claim that any bugs you put in through your modifications are my
  fault).  If you find it useful and want to tell me about it, or about
  any bugs you've found or enhancements you've made, that's great.  If
  you don't find it useful, ignore it...

> > Maybe I don't understand your table, but why does it cost both of you 3
> > if you both freeload?
> 
> I thought this was odd when I thought it up!  It's also a logical
> impossibility for you both to freeload, since neither are releasing
> code publicly.  In general though, I don't approve of freeloading,
> which is why I favour the GPL.

Is re-inventing the wheel better, though?  Serious question.  I prefer
the carrot to the stick, and I feel that the GPL is more of a stick --
"yes, you can use our design for a wheel but only if you give everyone
else the full design of your car".  So, as in your example, everyone
designs their own wheels, and there is no incentive to make those
designs public even if (or perhaps especially if) they are better than
the GPL one.  Whereas the BSD wheel can be used by anyone, and if they
improve it they can easily release the new "enhanced wheel" without
risking the rest of their design.

> By freeloading, I don't mean using code without giving back.  This is
> very common, and we are all guilty of it.  I've never had any desire
> to hack on Emacs, for example, despite using it every day, and to
> reply to your mail.  What I mean is taking code and incorporating it
> into another project/product, basically pinching others' work and
> passing it off as your own--I would object to having my code used in
> this way, since I gain nothing from its use.  If a competitor were to
> be doing the copying, this would be rather suicidal!

Sorry, I still don't see it.  All you have done is caused them to spend
a bit more time designing their own wheel from scratch (because if they
look at your Open Wheel they could be accused of stealing it, so they
have to design theirs in a clean room).  If you were that afraid of the
competitor then you would hide your design from them as long as possible
not release it where they can steal it.

> I guess it all depends on what is a "cost" to you.  I'd count use of
> my code by competitors as a big cost, since I've paid the cost for
> development, and they are profiting from it at my expense (lost
> sales).  But the scale is fairly arbitrary.

I don't see it as a cost, I see it as a lost profit, which to me is not
the same thing (if a competitor makes a better wheel and so eats into
your sales, I don't see that as a 'cost' either -- I know the
pigopolists (RIAA etc.) do see it that way though).

> > In my case, specifically intended.  My software (that I develop
> > privately) is open to anyone to use.  If they want to use it in a
> > closed-source product without my knowledge there's nothing I can do
> > about it whatever the license I put on it (how would I ever prove that
> > someone like MS was using my code, or even find out?).
> 
> Although one can't prevent others breaking the licence, the difference
> is that if I GPL license my code, and someone incorporates the code
> into their proprietary product, they *broke the law*.  They are in the
> wrong, and I have a legal case against their unauthorised use.  Most
> people are honest and will make every reasonable effort to comply with
> a licence.

Are they?  As I said, I knew at least one company which did that by
default, I have no reason to believe that there aren't plenty more.  Not
necessarily intentionally even (see below), but through thinking that
the 'free' means that it is completely free for them to do as they like.

> > How much GPL code do they use, and is there any way of spotting it?
> 
> Try running strings and grep on a few common Windows binaries.  You
> might be surprised!  You see UCB copyrights in quite a few (Win98).

Interesting, the authors put the copyrights into the code as strings?
No wonder there's code bloat, with the original UCB licence there must
be megabytes of them <g>.

In most cases of GPL code I've looked at, though, it seems that the
copyright and licence info is only in comments.

> > I know at least one company which routinely stripped the copyright
> > and licences from any code they used, reformatted it and renamed
> > variables etc. according to their own coding conventions, and just
> > incorporated it in their own product.  Since the source stayed
> > in-house, no one outside even had a suspicion that this happened,
> > and everyone in the company accepted it as the done thing.
> 
> That's dishonest and illegal.  I couldn't in good concience work for a
> company like that.

To be fair to them, when it was pointed out to them the clauses in the
copyrights which said "This copyright must not be removed" they did
change their policy (for new software being added; they couldn't
remember what older software had been used and modified).  They had
never bothered reading the licences because it was 'free' software and
they interpreted that as "public Domain", and stripping the headers
comments was just removing source bloat as far as they were concerned.
Presumably some developers had noticed as they were stripping the
comments, but had accepted "the company knows best".  The reformatting
and variable name changes weren't deliberate obfuscation, they were to
conform to company coding rules.

It was certainly still illegal and immoral, but was not exactly
intentional...

> > (Personally, I do prefer BSD type licences and my software is released
> > under a modified (more lenient) BSD style licence...)
> 
> That's perfectly fine--providing you accept that your code may be
> reused in this way.  I don't personally, which is why I favour the
> GPL, but I see we are of differing opinions in this respect ;-).

I accept that (if it's any good) my code will be reused in that way
whatever I do, but I would rather give permission for the majority who
will use it sensibly to do so without having to jump through hoops.

For instance, one company used my re-implementation of ISO C printf
(strictly, it wasn't a /re/ implementation because I originally wrote it
while the ANSI standard was still in draft!) in preference to the GPL
one, because it did not make sense to expose megabytes of source code
just to use one function (and they weren't allowed to release their code
anyway, because of their contracts -- governments are often sticky about
such things for security reasons).  OK, I could have re-re-implemented
it for them specifically, but why bother?

> Nope, and both positions are entirely valid.  It depends entirely what
> you want out of the licence, which is I guess where our difference
> lies.
> 
> As an example of why I have my preference: last year, the Gimp-Print
> project was approached by a major high-end preprocess printing
> software company, who wanted to use Gimp-Print directly in their
> software for generating print output.  Because the project is GPL this
> was not a possibility (either practically or ethically), so the
> outcome was that they released a GPL program to interface their
> program with Gimp-Print.  That is, it encouraged the release of more
> free software.  Both parties have benefited from this.

If their program is useful to others, yes indeed.  I guess I've almost
always worked on embedded systems where that sort of thing is not
possible (it's all linked together and so forms an entity containing the
code) and so the options are binary ("To use or not to use, that is the
question").

But I certainly don't eschew using GPL code and libraries where the
problem doesn't arise, and many of the owners of GPL code are willing to
grant exceptions for specific cases where there is good reason (there
are some fanatics who won't, but that's their choice).

Chris C




reply via email to

[Prev in Thread] Current Thread [Next in Thread]