[dmd-internals] DMD copyright assignment

Steven Schveighoffer via dmd-internals dmd-internals at puremagic.com
Mon Jun 23 21:00:02 PDT 2014


On Jun 23, 2014, at 8:25 PM, Walter Bright via dmd-internals <dmd-internals at puremagic.com> wrote:

> 
> On 6/23/2014 10:59 AM, Steven Schveighoffer via dmd-internals wrote:
>> I think the issue is that some future developers will not contribute. Some people just don't want to give up all rights to their work.
> 
> What practical right does one retain when it is licensed under Boost?

I don't know, practicality and logic sometimes are not factors in this decision. Go on any forum and badmouth the GPL, watch the rabid dogs emerge from perfectly competent programmers. Generally OSS programmers want to see their product used, but they may not be willing to part with all rights.

> 
> Ya know, I don't want to retain rights to D. I originally tried to make it public domain, until several people informed me that PD was not a legal concept in many countries. Boost was the next best thing. I want to continue to make D as available as possible, and that means the license may need to be adjusted in the future. If contributors do not share those goals, then yes, they should reconsider contributing to D.

Again, not for or against, just saying what I see.

> 
>> I don't know that I care about copyright assignment for DMD either way. Boost is certainly a very permissive license, > and I don't see us moving to an incompatible one in the future. On the other hand, you don't know what will happen in > the future. Someone future court challenge can make our version of boost unusable for some entire bloc of users, and > then we would be stuck. The likelihood of this latter case is astronomically low I think.
> 
>> As an aside, the tango XML library is not something that we could "just incorporate", so I don't think that's a fair > example. It requires tango's entire stream system.
> 
> 
> I haven't looked at the code, but I suspect the stream system dependency would be easily converted to ranges.

I don't really want to debate this point, I'll just say I don't agree.

> 
> 
>>  And in general, the author of that module had proven not to be amenable to having any of his code in phobos.
> 
> There were multiple authors of Tango XML, and one did not want to change the license. So all the other contributors had their code thrown under the bus as well. Note that many bits of Tango did wind up in Phobos, because all the contributors of those bits did agree. That's the big problem - one person can hold the whole thing hostage, intentionally or simply by being unavailable. Do we really want that for dmd?

Note that if Tango was boost licensed, we could incorporate anything we wanted without getting permission. You shouldn't conflate including non-compatible licensed code with later making the decision to switch DMD's license when people agreed to put their code into DMD. It's perfectly reasonable and common practice to require contributions to be licensed the same for inclusion on an open source project. Requiring assigning copyright is a much less common thing.

By this same logic, we can lament the fact that we can't incorporate libmysql because we didn't get it's owner's permission to license under boost instead of GPL. It's not a fair comparison -- Oracle/Sun did not want to contribute to D, so why should we worry about that?

I know all too well the "holding hostage" thing, and that is why I like the boost license. I think we have that base covered for the most part.

> 
> 
>>  I think the copyright assignment issue there is moot. Also, note that the requirement on the wiki is for DMD only. It does not specify phobos/druntime contributions have the requirement, and as far as I know, we do not have that authorization from all phobos/druntime contributors.
>> 
>> Is there some compromise we can attain that allows updating the license to some future version of Boost without assigning full copyright to Digital Mars?
>> 
>> 
> 
> The entity that can change the license is the copyright holder.

And granting certain rights while withholding others is always possible. For instance, I can grant power-of-attorney to someone to make one decision for me, it doesn't mean they then can do anything with my identity.

A statement saying that any contributors must agree that they give permission for Digital Mars to change the license of their code to any future version of boost license would be sufficient and reasonable, IMO. Remember that if any issues ever arise with boost license, the boost project is sure to fix them, and then we can adopt that new license.

-Steve


More information about the dmd-internals mailing list