[dmd-internals] DMD copyright assignment

Jonathan M Davis via dmd-internals dmd-internals at puremagic.com
Tue Jun 24 10:41:52 PDT 2014


On Tuesday, June 24, 2014 16:06:29 David Nadlinger via dmd-internals wrote:
> On 24 Jun 2014, at 2:43, Andrei Alexandrescu via dmd-internals wrote:
> > If the contributor holding the copyright has a falling with D, they
> > can do harm by suddenly changing license for their part of Phobos. I
> > don't see any good for anyone out of this - only the right to damage D
> > in the future if they so want.
>
> Wait, what?!
>
> To the best of my knowledge (I am not a lawyer, obviously), this fear is
> rooted in a misunderstanding of how software licenses work. It is true
> that somebody could leave D development, take the code they contributed
> to Phobos and release a new version under a different license. However,
> while it would obviously be sad to lose a contributor, it wouldn't
> impact the project in the slightest, because they already granted us
> permission to use their contributions under the Boost license.
>
> This issue seems to underlie all your arguments. Let's make sure we
> agree on what can happen or not before continuing the discussion.

Yeah, once the code is out there, it's out there. It can't be taken back. The
original author can change the copyright to something else (even making it
proprietary) and then any future changes that they make would be under that
new license only, but the previous version of the code would still be out
there under the old license. It's not possible for us to lose any code that we
already have under Boost.

What we potentially risk losing is the ability to change the license, since
that requires the permission of the copyright holder, so if we wanted to do
something like switch to Boost 2 or LGPL or Grandma's Super License or
whatever, we'd need to get permission. But the code itself is not at risk.

Now, given that _all_ that Boost requires is that it retain the copyright
notice, I _very_ much doubt that we'll ever need to change the license. This
is the entire license:

------

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization
obtaining a copy of the software and accompanying documentation covered by
this license (the "Software") to use, reproduce, display, distribute,
execute, and transmit the Software, and to prepare derivative works of the
Software, and to permit third-parties to whom the Software is furnished to
do so, all subject to the following:

The copyright notices in the Software and this entire statement, including
the above license grant, this restriction and the following disclaimer,
must be included in all copies of the Software, in whole or in part, and
all derivative works of the Software, unless such copies or derivative
works are solely in the form of machine-executable object code generated by
a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
DEALINGS IN THE SOFTWARE.

------

It basically has no restrictions. So, unless we're worried about needing to
add more restrictions later, there's probably not much point in worrying about
needing to change the license. The one exception that I can think of is that
IIRC, we had to assign the FSF copyright over the copy of the front-end for
gdc in order to get it into gcc. And if we want to give someone else copyright
over the code for some reason, we'd need to have copyright assignment to
digital mars or some other entity that we control. So, dmd may need to
continue to have copyright assigment for that reason. I don't know. But I very
much doubt that we'll ever be looking to change licenses for druntime or
Phobos unless they need to be given to the FSF for gcc for som reason, since
Boost has no restrictions beyond requiring that the copyright be maintained.
There literally isn't much in it that could be tweaked for a second version of
the license, at least not without it being a very different license.

- Jonathan M Davis



More information about the dmd-internals mailing list