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

Re: draft for new Vim license



On Sun, Jan 06, 2002 at 12:46:51PM +0100, Bram Moolenaar wrote:
> Not completely true.  The GPL does allow distributing a modified version
> without source code, but with some way to obtain the source code
> somewhere.  My draft license doesn't allow that, it requires that the
> changes are always included (for the relevant alternative).  It's a
> subtle difference, but it does help to make sure the changes are easily
> available.

"...(for the relevant alternative)."  The GPL allows people to not
release the source code to their changes right away, under one
alternative.  So does the Vim license, under one alternative.

I don't think the difference is subtle, I think it is practically
nonexistent.

The GPL's alternatives are:

  3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:

    a) Accompany it with the complete corresponding machine-readable
    source code, which must be distributed under the terms of Sections
    1 and 2 above on a medium customarily used for software interchange;
    or,

    b) Accompany it with a written offer, valid for at least three
    years, to give any third party, for a charge no more than your
    cost of physically performing source distribution, a complete
    machine-readable copy of the corresponding source code, to be
    distributed under the terms of Sections 1 and 2 above on a medium
    customarily used for software interchange; or,

    c) Accompany it with the information you received as to the offer
    to distribute corresponding source code.  (This alternative is
    allowed only for noncommercial distribution and only if you
    received the program in object code or executable form with such
    an offer, in accord with Subsection b above.)

Your proposed alternatives are:

    3) The modified Vim must be distributed in one of the following four ways:
       a) If you make changes to Vim, you must clearly mention in the
          distribution how to contact you.  When the maintainer asks you (in
          any way) for a copy of the modified Vim you distributed, you must
          make the changes, including source code, available to the
          maintainer.  The maintainer reserves the right to include the
          changes in the official version of Vim.  What the maintainer will do
          with the changes and under what license they are distributed is
          negotiable.  If there was no negotiation then this license also
          applies to the changes.
          The current maintainer is Bram Moolenaar <Bram@vim.org>.  If this
          changes it will be announced in appropriate places (most likely
          vim.sf.net, www.vim.org and/or comp.editors).  When it is completely
          impossible to contact the maintainer, the obligation to send him the
          changes ceases.  Once the maintainer has confirmed that he received
          the changes they will not have to be send again.
       b) If you have received a modified Vim that was distributed as
          mentioned under a) you are allowed to further distribute it
          unmodified, as mentioned at I).  For additional changes the text
          under a) applies again.
       c) Provide the changes, including source code, with every copy of the
          modified Vim you distribute.  This may be done in the form of a
          context diff.  You can chose what license to use for new code you
          add, so long as it does not restrict present or future official Vim
          distributions in any way.
       d) When you have a modified Vim which includes changes, as mentioned
          under c), you can distribute it without the source code for the
          changes if these conditions are met:
          - The license that applies to the changes does not disallow you to
            give the changes to the Vim maintainer and does not disallow the
            maintainer to include the changes in the official version of Vim.
          - You keep the changes for at least three years after last
            distributing the modified Vim.  When the maintainer or someone who
            you distributed the modified Vim to asks you (in any way) for the
            changes within this period, you must make them available to him.
          - You clearly mention in the distribution how to contact you within
            at least three years after last distributing the modified Vim.

Your 3c) maps to the GPL's 3a).  Your 3d) maps to the GPL's 3b).

> The GPL does not allow adding changes that use a license incompatible with
> it.

No license allows doing things with a program that are incompatible with
its license.  This is a tautology.  The relevant questions are: Does the
restrictions the license places on the user run afoul of the Debian Free
Software Guidelines?  Does the license on the software conflict with
that placed on other software that the former integrates?

> This a company that wants to keep his changes secret would have to use
> the alternative license.  To avoid that every company has to contact
> me and negotiate, I would have to allow the most common cases in the
> standard license.  I think this quickly becomes equal to the draft I
> wrote.

I'm not asking you to abandon the Vim license entirely.  I think
dual-licensing is appropriate for exactly the reasons you describe.

> The GPL does allow someone to refuse giving me the source code changes.

I believe people should be free from compelled disclosures in the
software licenses they use.  The intent of the GPL is to bind source
code tightly to a binary, so that the user's freedom to modify the
software in his possession is not frustrated.

You'll notice that the GPL does not compel people to disclose their
addresses, social security numbers, bank account numbers, or credit
histories to each other.  Similarly, the GPL does not empower a license
holder to become an all-seeing eye with respect to his software.  As
long as I do not attempt to divorce the source code of a GPL'ed program
from the binaries I create from it, how I modify GPL'ed software is not
the copyright holder's business.

I find the Vim license worrisome because it imposes the presence of a
third party into my transactions with any other person; the Vim
Maintainer.  ("Making changes?  Hand them over.")  If this is regarded
as DFSG-free, what is to stop Debian from accepting future licenses that
involve the copyright holder even more in transactions in free software
between private individuals?

> He can't be forced to distribute his copy to anyone.

I think that's a feature, not a bug.  The less coercion we exercise on
people via our software licenses, the more likely it is that they are
free.

> I would have to convince one of the people who received the changes to
> send me a copy.  The GPL allows them to do that, but I still have to
> find someone who will send me a copy.  They might all refuse (e.g., when
> they are all in the same organisation).

This leads to one of two possibilities:

1) The organization's legal department (or legal reasoning) forbids them
from using Vim at all, because modifying it would compel disclosures
that they do not want to make.  Perhaps they are a super-secret startup
or skunkworks, the mere existence of which could be problematic.
Similarly, perhaps they are a human rights organization in a country
that has forbidden the possession of, use, or sale of software not
approved by the government (i.e., the United States if Senator Hollings
passes the SSSCA).

2) They violate your license and you have to sue them for copyright
infringment to get satisfaction.  In earlier mails, you implied that you
didn't think you had standing, or at least intent, to file any such
suit.

> Although this is a bit unlikely to happen, I like the principle that the
> person who makes the changes must send me those changes when I ask for
> them.  I don't want to hunt them down.  Thus allowing someone to use the
> GPL for the modified Vim may cause a problem for me.  It might result in
> making the changes inaccesible for me.

I think that's a risk you have to take if you want your software to be
regarded as Free.

> I understand why the GPL doesn't include this requirement, since it is
> hard to apply to software that was made by a group of people.  And it
> puts a person (or group of people) in a privileged position, which some
> people might not like.

Quite.  Copyright holders already enjoy enough privileges.  The idea of
a copyleft, which you seem to like even if you're not crazy about the
specific details of the GPL, uses the very expansive powers allocated to
copyright holders in most countries to use that power to encourage
modification and redistribution, not forbid it.  Non-copyleft free
software licenses, such as the MIT and BSD licenses, make no attempt to
encourage modification and redistribution among any second-order
licensees (that is, works under those liceses may only be free to me in
their original forms -- if someone comes along in the meantime and
modifies them, he can lock them up under a proprietary software
license, as companies from Microsoft to Sun have done with the BSD
codebase.)

> Now, the draft Vim license also has a bit of this problem.  That's one
> of the reasons I'm not sure I want to use it.  A difference with the
> GPL is that I require that the changes are always included in the
> distribution.  I thought this would reduce the disadvantage a bit.

Perhaps it's worth asking RMS if the FSF would regard a license that is
functionally identical to the GNU GPL but which omitted sections 3b) and
3c).  I think in actual fact this would be GPL-incompatible because it
places further restrictions on redistribution (you can't make the
written offer), but this is an interesting case because I think 3b) and
3c) are already softenings of the copyleft stance, made for practical
reasons.

In actual fact, though, the interpretation of the GPL you should be most
concerned about at present is that of Andrew Haylett and Alessando
Rubini.  Perhaps you could ask them to add a rider to their license on
the GPM library to explicitly permit linking with Vim?

> After all, who actually uses a written permisison to obtain the source
> code?  Or even checks the source code is actually available?  For most
> people (real users, not software developers like us) it means you get
> binaries and use them and never worry about the source code.

How many people actually exercise their right to vote?  Their right to
complain to their local Health Department about unsanitary restaurants?
Their right to sue their local cable or phone company for
anti-competitive practices?  Very few.  That few people avail themselves
of an affirmative right is *not* evidence that the affirmative right is
useless.

You'd probably be a lot more passionate about voting rights if your
government threatened to take them away from everyone, and so it is with
the written offer clause of the GPL.  The very presence of this
affirmative right discourages abuse of the license terms.

> Another problem that I'm worried about is that many people will think
> Vim _is_ GPL.  It will be mentioned in lists in magazines and on web
> sites.  We would have to check and request correction where it's wrong.

Perl is dual-licensed, and I don't see magazines getting this wrong.
I'm happy to help you write text to go at the top of the Vim license
document to try and make this crystal clear.  I don't think this should
be a stumbling block for you.

> Perhaps it would help to give a good name to the dual license.  GPL++
> perhaps?

I think this would cause even more confusion than it would avoid.
People might think it's a new version of the GPL from the FSF.

> Including the GPL actually makes it a lot more complicated.  It's hard
> to read and even harder to understand.

Perhaps, but people have lots of experience with it.  You can't say the
same for the Vim license because Vim is just one piece of software, and
the GPL has been applied to many pieces of software for many years.

Furthermore, you can short-circuit people away from the text of the GPL
at the top of your license with words like, "Vim is dual-licensed under
the GNU GPL and the Vim License.  If you prefer the GPL, please see
<external reference>; if you do not like the GPL, please see below for
the text of the Vim license."

Or something like that.

> How often does RMS have to correct wrong ideas about the GPL?  It's
> not so clear what the GPL really means.  I can't say I fully
> understand it.

If anybody attempts to misrepresent the meaning of the GPL to you in
this discussion, please point them out to me and I'll smack them down.
It is not my intent to use -- or condone -- subterfuge to get you to
adopt the GNU GPL as at least one license to apply to Vim.

And, in any case, while *you* may understand the Vim license, there are
a lot more people that understand the GPL.  The GNU GPL is a de-facto
standard in the realm of free software licenses.  It shares that status
with a few other licenses, but the Vim license is not among them.

I understand that you may feel that applying the GPL to Vim, in
conjunction with some other license, may be a bit of an act of
delegation to the rest of the community.  You'd have to trust them more
to protect your interests in Vim, because you'd be trusting them to
interpret the GPL as it applies to your work.

However, one of the major principles behind Free Software is the act of
letting go of absolute control over your work.  If you're not
comfortable with that principle, then you should not seek acceptance of
Vim as Free Software.

> Writing my own license has the risk of making a mistake, causing a
> "hole".  But at least it was intended to be right and I can make
> corrections when needed (without changing the intention of the license).

The intention of the license is only relevant once you're in court and
testifying before a judge.  Before that time, people have only the
letter of your license to rely upon; loopholes, accidental restrictions,
and all.

> I can't change the GPL when I discover it has a disadvantage that I
> really don't like.

That's true.  The real issue here is whether the GPL has a disadvantage
that you can't remedy by simultaneously licensing under your own
license.

> > 4) It should be appealing to Andrew Haylett and Alessandro Rubini, who
> >    are the copyright holders of the GPM library, which is GPL'ed.  At
> >    present, linking Vim with the GPM library is not permitted under the
> >    GPM library's license.
> 
> As I already said, it's allowed to compile, but you might not be allowed
> to distribute the result.  That's actually the main problem of the GPL I
> don't like.  But the dual-licensing would solve that.

Yes.

> Currently it would not be allowed to distribute a Vim with a change that
> falls under GPL, because the license says that the maintainer must be
> allowed to include the change in the official version of Vim.  A change
> under the GPL conflicts with that, thus additionally you would have to
> permit me to include the changes in the official Vim.  That's a sort of
> dual-licensing already! :-)

Yes it is.  I think that's a point worth pondering.  You are shifting
the burden of dual-licensing onto your contributors.  You might get more
contributors if you're willing to allow distribution of Vim under the
GPL, because there are a lot of developers out there who are comfortable
writing code under the GPL, and probably fewer who are comfortable
writing code under the "Vim" license ("what's that?").

> In the dual-license situation you do get this problem.  A fork of Vim
> might appear where a GPL'ed change has caused the whole to become GPL,
> since the alternative license can't be used together with the GPL'ed
> piece.

Such changes would not be part of the official version, then, right?
People are already allowed to fork Vim; your license grants them this
freedom.

> With the draft license I sent there is the same problem, except that the
> changes must always be included.  That's stricter than the GPL (which
> allows distibuting binaries under some conditions).

So does your (existing, actual) license, actually.  It allows
distributing the binaries without any obligation to give anyone but you
the changes to the source code.  If you elect to collude with someone
who modifies Vim to keep the changes secret, your license is actually
much weaker than the GPL.  The users of the modified Vim have no
recourse to obtain the source code for their modified version.  And they
may not even have the option to use the official version; perhaps they
are in a work or school environment which harshly punishes the
installation of "unauthorized" software.

> That makes sure the changes have a much wider distribution and it will
> be easier for me to see them.  But I'm not sure that is sufficient...

Sufficient to achieve what, exactly?  Omniscience of all source-level
changes to Vim that are made?  Such a goal is simply not going to be
reconcilable with the Debian Free Software Guidelines.

> Copyright belongs to the person who wrote it.  Depending on the countrly
> you are in, you mostly don't even have to put your name on it.

That's true, AFAIK.

> Transferring copyright requires a written and signed paper.  An e-mail
> with some vague statement won't be valid.

How about an e-mail with a specific statement?  :)

> However, nobody really cares about what the official rules are.

I disagree.  Debian, and more specifically SPI, does not want to get
sued for copyright infringment, or for "contributory infringment" which
is a legal doctrine popular in the U.S. that says even if you aren't
doing anything inherently wrong, we don't like you anyway and we're
going to take you down.

> Only very few contributions have the name of the author in them and
> are considered part of the whole.

Your existing copyright document implies that you are the sole copyright
holder.  If this isn't true, please correct it.

-- 
G. Branden Robinson                |     It's not a matter of alienating
Debian GNU/Linux                   |     authors.  They have every right to
branden@debian.org                 |     license their software however we
http://people.debian.org/~branden/ |     like.  -- Craig Sanders

Attachment: pgpldDllbPCxe.pgp
Description: PGP signature


Reply to: