[rust-dev] Please read: Rust license changing (very slightly)

Graydon Hoare graydon at mozilla.com
Wed Nov 21 09:46:58 PST 2012


We're doing a small bit of housekeeping on the license for Rust this
cycle. The initial version we published under (MIT; amusingly referred
to as "BSD" for several versions) is a bit old by liberal-license terms,
and in particular lacks some provisions newer liberal-licenses have
worked out concerning patents.

So we're going to "upgrade" the license in the 0.5 cycle from pure MIT
to dual MIT/ASL2. This is a no-op for most considerations: you can still
use Rust under MIT terms if you like -- including making proprietary
derivatives and GPL programs and all manner of restrictive things, which
are *mostly* all permitted under ASL2 as well -- and since MIT lets you
to sublicense you can even make up new terms and redistribute your copy
under those. This doesn't take any freedoms away from recipients of Rust.

What it _does_ is restrict _contributions_ to Rust just the slightest
bit: they have to be under MIT+ASL2, not just MIT, meaning that a
contributor will now be agreeing to the additional provisions of ASL2
when sending us (say) a patch or pull request.

These additional provisions are, as I said, just patent-protection
clauses; I'm not a lawyer so I will not attempt to paraphrase them here
-- see section 3 of https://www.apache.org/licenses/LICENSE-2.0.html --
but I've been advised that the patent landscape is getting sufficiently
ugly that it's wise to include such language in any open source license
these days. So here we are. Apparently it is also (still) the case that
in 2012 every single file needs a bit of legalese added. So we'll be
adding the following block to all the files in our repository:

  // Copyright 2012 The Rust Project Developers. See the COPYRIGHT
  // file at the top-level directory of this distribution and at
  // http://rust-lang.org/COPYRIGHT.
  // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
  // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
  // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
  // option. This file may not be copied, modified, or distributed
  // except according to those terms.

It's a bit boilerplate-y but it's the minimum I could get a consensus on
between our legal and license experts to cover this case, and it's short
enough that I can live with it.

Beyond that, I'd ask anyone who has made existing nontrivial
contributions (I will also email each of you separately) to agree to the
ASL2 provisions on your existing contributions (as I said, this amounts
to "grant of associated patents"), such that we can assume the ASL2
terms do in fact apply to the whole project. Obviously any files we
can't get that agreement for, we'll have to work through case-by-case.

(and .. sorry! nobody likes this part)


More information about the Rust-dev mailing list