Subject: Re: [was Cygnus] now Ghostscript and Aladdin
From: Ian Lance Taylor <ian@airs.com>
Date: 23 Jun 1999 01:24:48 -0400

   From: "Stephen J. Turnbull" <turnbull@sk.tsukuba.ac.jp>
   Date: Wed, 23 Jun 1999 13:41:47 +0900 (JST)

   My main point is that people are attracted to projects primarily by
   project content and the fact that the source is in front of them;
   license bias is a second order effect.  If you built a program from
   source and a bug bit, would license willies keep you from chasing it?

Yes, they certainly would.  It's not like I need things to do.  I have
dozens of top priority things to do at any one time, so I pick and
choose.

If I build a program from source, and it has a bug, and it is a GPL or
otherwise free program, particularly if it is from somebody I like and
respect, I may spend the time to track down the bug.

If the program is under some dual license, I am considerably less
likely to bother to track it down; I'm more likely to simply live with
the bug or throw away the program.

For that matter, I am more likely to submit a bug report for a GPL
program than I am for a dual license program.

   Having fixed it, would you not submit a patch?

I admit that if I must have the program, and the bug is fatal, I would
probably track it down.

However, that rarely happens, as there are essentially no programs
that I must have that I do not already have.

When it happens anyhow (e.g., bugs I've encountered recently mixing
RedHat with PCMCIA schemes), I usually just make a quick hack which
solves the particular problem I am encountering.  I don't bother to
submit such a patch.  I then fall back on whether to make a bug report
or not; see above.

   It's less clear, but I still find it hard to imagine that you would
   add a feature you personally needed and not contribute it.

I'm sorry to disappoint you, but it does happen.  When I need a
feature, I can either 1) fix it the right way or 2) put in a hack that
is highly specific to my own situation.  In case 2, the normal case, I
don't have a patch to submit.

   The author always has special rights to the code you do not have.  The
   author can always relicense under proprietary terms;

Theoretically, yes.  In practice, it's hardly worth worrying about.  I
don't know of any case where a GPL program was taken proprietary by
the author.  I'm not inclined to worry about hypotheticals.

   And license isn't all that matters.  I believe that Peter does not
   require a copyright assignment.  That means that you can guarantee
   that your code will be free in perpetuity, under the GPL, if you so
   desire.  You do not have that right under FSF policy; you delegate it,
   permanently, to the FSF.  I suspect that the FSF could relicense
   assigned code under non-free terms,[1] although as long as Stallman
   runs it I have absolute trust it will not, because he is a fanatic,
   excuse me, a "man of great determination."

I don't see it.  I see your footnote about the FSF assignment, but to
me the assignment says the code will always be free for some
definition of free.  In the binutils assignment form, the paragraph in
question is this:

|   The Foundation promises that all distribution of the Work, or of any
|work "based on the Work", that takes place under the control of the
|Foundation or its assignees, shall be on terms that explicitly and
|perpetually permit anyone possessing a copy of the work to which the terms
|apply, and possessing accurate notice of these terms, to redistribute
|copies of the work to anyone on the same terms.  These terms shall not
|restrict which members of the public copies may be distributed to.  These
|terms shall not require a member of the public to pay any royalty to the
|Foundation or to anyone else for any permitted use of the work they apply
|to, or to communicate with the Foundation or its agents in any way either
|when redistribution is performed or on any other occasion.

       Ian> If I were to contribute to Ghostscript (which is unlikely
       Ian> simply because I rarely use it) I would be concerned that my
       Ian> patch would be non-free and effectively hidden for some time.

   You, too, are subject to FUD?[2]  :-(

Well, of course I am.  FUD wouldn't work if we weren't all more or
less subject to it.

   Currently, I believe that the Ghostscript code base is publically
   available in regularly released betas.  It is however only announced
   to a selected group of beta testers AFAIK.  This is precisely the same
   policy that the FSF has---those in the know can get relatively current
   code.  I prefer projects that make the CVS tree available and have
   open beta lists, but betas every couple of weeks are pretty good.

   Then read the license, admittedly it's non-free.  But "effectively
   hidden"?  That's FUD[3]; in plain English, "effectively hidden" means
   "can't be studied and applied to anything," and that's just not true.
   Anybody can do anything they want with Ghostscript, except that if
   their use of Ghostscript constitutes value-added to a commercial
   product, they must negotiate with Aladdin (actually Artifex, I guess).

You're right, ``effectively hidden'' was a poorly chosen phrase.
Sorry.  Please consider it omitted from the above quoted paragraph.

       Ian> all concerned.  So the licensing issues would indeed
       Ian> discourage me from even starting to contribute.

   Your logic is impeccable, and I cannot say that "most" people don't
   think that way.  But from introspection and observing the people who I
   know well enough to see them "thinking about contributing," I find
   they hack on a program because they use it, or because it has
   incredible hack value.  This hacking happens naturally if the program
   is source-accompanied, as all GPL programs and Ghostscript and Mozilla
   are.  Then they usually mail off the patch.

I work on programs for the reasons you mention, but for me there are
other important reasons.  I work on programs because the work must get
done, and because I am in a position to do it correctly.  For example,
I was the gcc fixincludes maintainer for a few years.  I've always
hated fixincludes; I think it's a total crock and a confusing hack,
and to top it all off it's totally useless on the well designed
systems I naturally prefer to use.  However, nobody else working on
gcc at that time would admit to knowing enough shell/sed/portability
arcana to do the job right.  So I did it.  Fortunately Bruce Korb has
rewritten fixincludes for egcs, so I can duck out with a clear
conscience.


Anyhow, you made a complex answer to a relatively simply point: I tend
to avoid working on dual license programs.  You point out various ways
I could deal with this problem, but, frankly, why should I bother?
Just like everybody else, I have to pick and choose what I work on.  A
dual license program falls farther down my stack.  If I use one, I
live with any problems rather than taking the time to fix them.

Ian