Thread overview
[phobos] Transferring Copyright to D Language Foundation
February 21
I would like there to be a Punycode library in the D standard library. I tried to write one myself, but among the Wikipedia page and the RFC, I could not quite figure it out. I am sure that I could probably figure it out if I put the time and effort into it, but that seems unnecessary. I found a Punycode repository on GitHub that is written in D and looks perfectly fine.

Since I would like to submit pull requests to Phobos for other things, and since some of my code will need Punycode encoding and decoding, I wanted to get the owner of that repository to submit the pull request. Then, after std.punycode becomes a reality, then I can reliably submit my code.

The problem is that his code is copyrighted under his name using the MIT license, yet, according to the D Wiki, you must turn over the copyright to the D Language Foundation if you wish to submit to Phobos. I have been in contact with him via email and he is willing to forfeit the copyright to the D Language Foundation.

So my question is this: what is the best way--legally speaking--to go about submitting his punycode library to Phobos? How do I provide proof to the D Foundation that he has forfeit his copyright (if he can even do that)? After that, should I submit the pull request to Phobos (still giving him full credit), or do I need to have him submit the pull request?

P.S. Punycode is used in internationalizing domain names, which would have uses for std.uri or an std.dns (if such a thing comes to exist).
_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 21
Hi Jonathan,

A couple of quick answers -  please note that I don't represent the D Language foundation nor can speak for them, so please just take my reply as advise.

On February 21, 2017 8:09:23 AM GMT+01:00, "Jonathan M. Wilbur via phobos" <phobos@puremagic.com> wrote:
>I would like there to be a Punycode library in the D standard library.
> I tried to write one myself, but among the Wikipedia
>page and the RFC, I could not quite figure it out. I am sure that I could probably figure it out if I put the time and effort into it, but that seems unnecessary. I found a Punycode repository on GitHub that is written in D and looks perfectly fine.

The first question you need to ask yourself is not about licensing, but is this something that would potentially be acceptable within Phobos. In other words can you convince the majority of voters that it's worth shipping this code to everyone?

>Since I would like to submit pull requests to Phobos for other things, and since some of my code will need Punycode encoding and decoding, I wanted to get the owner of that repository to submit the pull request. Then, after std.punycode becomes a reality, then I can reliably submit my code.

My opinion: Just fork the project and continue to improve it. Maybe the original author is even interested in giving you merge rights...

>The problem is that his code is copyrighted under his name using the MIT license, yet, according to the D Wiki, you must turn over the copyright to the D Language Foundation if you wish to submit to Phobos. I have been in contact with him via email and he is willing to forfeit the copyright to the D Language Foundation.

Wow - great job!

>So my question is this: what is the best way--legally speaking--to go about submitting his punycode library to Phobos? How do I provide proof to the D Foundation that he has forfeit his copyright (if he can even do that)? After that, should I submit the pull request to Phobos (still giving him full credit), or do I need to have him submit the pull request?

Usually a comment on GitHub is enough as proof - the D Language foundation is still you so not all details have been worked out entirely. If you want to be in the safe side, let him mail a statement of his approval to the D Language foundation mailing address. I haven't looked at Ponycode, but please be aware that legally all contributors need to approve a license change. I remember one project which it took about one year to do so. In any case it's definitely not necessary that he submits a PR. If you want to, you can set the Git history of your commits to attribute him, but even this isn't necessary and seldomly done.

>P.S. Punycode is used in internationalizing domain names, which would have uses for std.uri or an std.dns (if such a thing comes to exist).

I am not sure whether std.dns will ever be a thing as currently there is a drive towards the DUB infrastructure as with dub a user can easily choose whatever implementation he prefers and there is not a big need for backwards compatibility as "stable" users can just stick with a specific version. So the idea is to provide only the necessary layers and some "batteries". Though to be fair this isn't always true as Phobos still doesn't include an eventcore nor database abstraction, but both are proposed and will hopefully soon be a reality.

_______________________________________________
>phobos mailing list
>phobos@puremagic.com
>http://lists.puremagic.com/mailman/listinfo/phobos

_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 21
On Tuesday, February 21, 2017 07:09:23 Jonathan M. Wilbur via phobos wrote:
> The problem is that his code is copyrighted under his name using the MIT license, yet, according to the D Wiki, you must turn over the copyright to the D Language Foundation if you wish to submit to Phobos.

Where in the wiki did you read this? This is the first that I've ever heard of it. I think that there was some kind of turning over of copyright that was required in dmd for getting gdc into gcc proper, and IIRC, there was a fair bit of complaining about that. Regardless, the code in Phobos is all copyrighted by individual authors. The key thing is that it needs to be licensed under Boost. So, if code exists under a different license, you'll need permission to get it relicensed under the Boost license.

- Jonathan M Davis

_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 23
On Tuesday, 21 February 2017 at 12:10:33 UTC, Jonathan M Davis wrote:
> On Tuesday, February 21, 2017 07:09:23 Jonathan M. Wilbur via phobos wrote:
>> The problem is that his code is copyrighted under his name using the MIT license, yet, according to the D Wiki, you must turn over the copyright to the D Language Foundation if you wish to submit to Phobos.
>
> Where in the wiki did you read this? This is the first that I've ever heard of it. I think that there was some kind of turning over of copyright that was required in dmd for getting gdc into gcc proper, and IIRC, there was a fair bit of complaining about that. Regardless, the code in Phobos is all copyrighted by individual authors. The key thing is that it needs to be licensed under Boost. So, if code exists under a different license, you'll need permission to get it relicensed under the Boost license.
>
> - Jonathan M Davis

Hey Jonathan, that's good to hear. That probably makes things a lot easier both for contributors and the D Language Foundation!

As for where I read it:
https://wiki.dlang.org/Starting_as_a_Contributor#Create_a_pull_request
"Please note that all contributions to DMD frontend, DMD backend, Druntime, Phobos, or the official tools require that the copyright to that code be assigned to the D Language Foundation."
_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 23
On Tuesday, 21 February 2017 at 07:50:39 UTC, Sebastian Wilzbach wrote:
> The first question you need to ask yourself is not about licensing, but is this something that would potentially be acceptable within Phobos. In other words can you convince the majority of voters that it's worth shipping this code to everyone?

I am tempted to respond with why I think Punycode should be a part of the standard library, but I will omit that, since I don't want this thread to turn into a debate (or even us agreeing back and forth if that is the case); I'll leave that to the formal review process. The code is already written anyway, and it's fairly small, so it's not a big deal if it gets rejected.

> Usually a comment on GitHub is enough as proof - the D Language foundation is still you so not all details have been worked out entirely. If you want to be in the safe side, let him mail a statement of his approval to the D Language foundation mailing address. I haven't looked at Ponycode, but please be aware that legally all contributors need to approve a license change. I remember one project which it took about one year to do so. In any case it's definitely not necessary that he submits a PR. If you want to, you can set the Git history of your commits to attribute him, but even this isn't necessary and seldomly done.

As for submitting the code, thanks for the advice. You have a good plan. It sounds like this will be quite a bit easier than I thought!
_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 22
On Thursday, February 23, 2017 02:36:26 Jonathan M. Wilbur via phobos wrote:
> On Tuesday, 21 February 2017 at 12:10:33 UTC, Jonathan M Davis
>
> wrote:
> > On Tuesday, February 21, 2017 07:09:23 Jonathan M. Wilbur via
> >
> > phobos wrote:
> >> The problem is that his code is copyrighted under his name using the MIT license, yet, according to the D Wiki, you must turn over the copyright to the D Language Foundation if you wish to submit to Phobos.
> >
> > Where in the wiki did you read this? This is the first that I've ever heard of it. I think that there was some kind of turning over of copyright that was required in dmd for getting gdc into gcc proper, and IIRC, there was a fair bit of complaining about that. Regardless, the code in Phobos is all copyrighted by individual authors. The key thing is that it needs to be licensed under Boost. So, if code exists under a different license, you'll need permission to get it relicensed under the Boost license.
> >
> > - Jonathan M Davis
>
> Hey Jonathan, that's good to hear. That probably makes things a lot easier both for contributors and the D Language Foundation!
>
> As for where I read it:
> https://wiki.dlang.org/Starting_as_a_Contributor#Create_a_pull_request
> "Please note that all contributions to DMD frontend, DMD backend,
> Druntime, Phobos, or the official tools require that the
> copyright to that code be assigned to the D Language Foundation."

It looks like someone going by the username Greenify added that bit back in August. I have no idea who that is or where they got the idea that copyright assignment was a requirement.

- Jonathan M Davis

_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 23
On Thursday, 23 February 2017 at 04:17:53 UTC, Jonathan M Davis wrote:
> It looks like someone going by the username Greenify added that bit back in August. I have no idea who that is or where they got the idea that copyright assignment was a requirement.
>
> - Jonathan M Davis

Yeah, I think Greenify was mistaken. On the "Get Involved" page:

"Contributions to the source code are done via pull requests. Please note that contributions to DMD source code will only be accepted if the author agrees to have the copyright of the code assigned to the D Language Foundation."

Note that this quote does not mention Phobos, so I have to think that Greenify was probably mistaken. However, I have looked at a few files in Phobos and I do not see formal copyright statements at all, even though there is an "Authors" section. I assume that unless otherwise stated, the copyright is automatically held by the authors. If that's true, it affirms your claim that you do not need to transfer the copyright for Phobos submissions.
_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 24
On 2017-02-23 18:53, Jonathan M. Wilbur via phobos wrote:
> On Thursday, 23 February 2017 at 04:17:53 UTC, Jonathan M Davis wrote:
>> It looks like someone going by the username Greenify added that bit back in August. I have no idea who that is or where they got the idea that copyright assignment was a requirement.
>> 
>> - Jonathan M Davis
> 
> Yeah, I think Greenify was mistaken. On the "Get Involved" page:

I am not so sure about this.
I think this just hasn't be properly communicated yet, see for example:

https://github.com/dlang/dmd/blob/master/README.md
https://github.com/dlang/dmd/commit/f8707eaa2a31888ca542f510907297d70c856c41


> _______________________________________________
> phobos mailing list
> phobos@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos
_______________________________________________
phobos mailing list
phobos@puremagic.com
http://lists.puremagic.com/mailman/listinfo/phobos
February 24
Greenify is Sebastian.

We definitely have not assigned copyright to the D language foundation for Phobos. It was a requirement for DMD front end, not for any libraries. The wiki should be reverted.

Here is an archived discussion we had at the time:

http://forum.dlang.org/post/C6F4A202-EFD6-44E1-8780-5AB543BB382E@klickverbot.at <http://forum.dlang.org/post/C6F4A202-EFD6-44E1-8780-5AB543BB382E@klickverbot.at>

To answer the original question, you need a boost license to get something into Phobos. I am not a lawyer, but I *believe* the boost license would satisfy the requirements of the MIT license. So I think you could just use it. But I’m not 100% sure.

Separately, my opinion is that the library in question does not need to go into phobos. It belongs in code.dlang.org <http://code.dlang.org/>. Is it not possible to use it from there?

-Steve

> On Feb 24, 2017, at 11:25 AM, Sebastian Wilzbach via phobos <phobos@puremagic.com> wrote:
> 
> On 2017-02-23 18:53, Jonathan M. Wilbur via phobos wrote:
>> On Thursday, 23 February 2017 at 04:17:53 UTC, Jonathan M Davis wrote:
>>> It looks like someone going by the username Greenify added that bit back in August. I have no idea who that is or where they got the idea that copyright assignment was a requirement.
>>> - Jonathan M Davis
>> Yeah, I think Greenify was mistaken. On the "Get Involved" page:
> 
> I am not so sure about this.
> I think this just hasn't be properly communicated yet, see for example:
> 
> https://github.com/dlang/dmd/blob/master/README.md https://github.com/dlang/dmd/commit/f8707eaa2a31888ca542f510907297d70c856c41
> 
> 
>> _______________________________________________
>> phobos mailing list
>> phobos@puremagic.com
>> http://lists.puremagic.com/mailman/listinfo/phobos
> _______________________________________________
> phobos mailing list
> phobos@puremagic.com
> http://lists.puremagic.com/mailman/listinfo/phobos



February 25
> On 24 Feb 2017, at 21:06, Steven Schveighoffer via phobos <phobos@puremagic.com> wrote:
> 
> To answer the original question, you need a boost license to get something into Phobos. I am not a lawyer, but I *believe* the boost license would satisfy the requirements of the MIT license. So I think you could just use it. But I’m not 100% sure.

I’m pretty sure the MIT license has more restrictions than the Boost licenses. That would mean you can add Boost licensed code to a MIT licensed project but not the other way around, but I’m not a lawyer.

--
/Jacob Carlborg