www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Copyright for reworked Phobos code in Mir

reply 9il <ilyayaroshenko gmail.com> writes:
Hi folks,

I am slightly confused by copyright mess in some of Mir modules. 
As you may know, some of them contain reworked Phobos functions. 
Plus I am not sure that I understand the meaning of Copyright in 
the context that both Phobos and Mir are Boost licensed.

For example, currently, I am creating mir.numeric that will 
contain findRoot, findLocalMin rework of Phobos and other stuff. 
And findLocalMin in Phobos is my work.

std.numeric contains:
Copyright: Copyright Andrei Alexandrescu 2008 - 2009.

What copyright should contain mir.numeric?

Another example is that sometimes I write a new implementation 
but use Phobos unittests.

There was an inverse precedent - Mersenne Twister. Mir version 
was backported to Phobos.

Best,
Ilya
Dec 26 2018
next sibling parent Steven Schveighoffer <schveiguy gmail.com> writes:
On 12/26/18 10:40 AM, 9il wrote:
 Hi folks,
 
 I am slightly confused by copyright mess in some of Mir modules. As you 
 may know, some of them contain reworked Phobos functions. Plus I am not 
 sure that I understand the meaning of Copyright in the context that both 
 Phobos and Mir are Boost licensed.
Disclaimer: I am not a lawyer.
 
 For example, currently, I am creating mir.numeric that will contain 
 findRoot, findLocalMin rework of Phobos and other stuff. And 
 findLocalMin in Phobos is my work.
 
 std.numeric contains:
 Copyright: Copyright Andrei Alexandrescu 2008 - 2009.
Copyrights headers in Phobos are a bit unmaintained. If someone writes any code, technically, they could assert copyright on their contribution. So really, the list should just be everyone who ever committed *new code* to the module (including yourself). Just moving stuff around, or fixing a simple bug probably isn't going to be copyrightable I think (reminder: I am not a lawyer). But copyright notices aren't the final say in whether something is copyrighted by someone. It's really the evidence of who committed what that makes the difference.
 
 What copyright should contain mir.numeric?
What I would do is copy that copyright notice into your code. Then at least you are conforming to the license. Under the terms of the boost license, there isn't much to assert claim to, and I would expect anyone who contributed to a module in a significant way who wants to get recognized there would easily get added to the module.
 
 Another example is that sometimes I write a new implementation but use 
 Phobos unittests.
Code is copyrightable, even if it's unittests. So technically that portion should be boost licensed if you copied from Phobos (if it's not already). Under the terms of the boost license, you really only need to specify the license/copyright for the source code, there is no limitations on binary release. In that case, I would transfer whatever copyright notice is on the file the contains the unittests.
 
 There was an inverse precedent - Mersenne Twister. Mir version was 
 backported to Phobos.
The author (I'm assuming you) should get credit under the copyright header, if you are not, and it's important to you, just submit a PR. I've contributed loads of different things all over the place in Phobos and druntime, I almost never add my name to the copyright line, because I'm not too concerned about it. -Steve
Dec 26 2018
prev sibling parent bachmeier <no spam.net> writes:
On Wednesday, 26 December 2018 at 15:40:13 UTC, 9il wrote:

 std.numeric contains:
 Copyright: Copyright Andrei Alexandrescu 2008 - 2009.

 What copyright should contain mir.numeric?
Disclaimer: I'm also not a lawyer. At least in the US, what matters is not the copyright but the license. You automatically hold the copyright on any code you write, with or without a copyright notice. It's the license that tells others what they can do with your copyrighted code. If there's no license, you have no right to do anything with it. If it's Boost licensed, you can do anything consistent with the Boost license.
Dec 26 2018