[phobos] Transferring Copyright to D Language Foundation

Sebastian Wilzbach via phobos phobos at puremagic.com
Mon Feb 20 23:50:39 PST 2017

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 at puremagic.com> wrote:
>I would like there to be a Punycode library in the D standard 
> 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 at puremagic.com

More information about the phobos mailing list