DotNetZip.Semverd icon indicating copy to clipboard operation
DotNetZip.Semverd copied to clipboard

Consider dual-licensing?

Open lilith opened this issue 10 years ago • 21 comments

The Ms-Pl is incompatible with many free software licenses, as it imposes a unique restriction:

(D) If you distribute any portion of the software in source code form, you may do so only under this license by including a complete copy of this license with your distribution. [...]

Many OSI-approved copyleft licenses require that linking or interacting code must be licensed in a manner that does not further restrict user rights. This conflicts with the Ms-Pl, as it specifically prohibits the right to re-license.

There are many GPL, LGPL, and AGPL-licensed libraries, yet we cannot legally combine these with DotNetZip due to the terms of the Ms-Pl.

Dual-licensing under Apache 2 or MIT would resolve the problem. As GitHub notifies people who are mentioned, re-licensing would involve pasting the list of contributors into this thread and asking for a release of their copyright. Getting approval can take anywhere from a few days to several months, depending upon contributor awareness. We would also need to get approval from @DinoChiesa for the original code on SVN.

Thoughts?

lilith avatar Nov 24 '14 18:11 lilith

If it helps people, sure. I'm not against it.

haf avatar Nov 24 '14 20:11 haf

It would certainly help me. I have an optional dependency on Ghostscript (GPL), and I also have a dependency on DotNetZip. I can't legally have a published project where both plugins are enabled at the same time, which is quite a PITA - and difficult to communicate to users.

lilith avatar Nov 24 '14 20:11 lilith

We would need sign-offs from 5 people, plus any side-channel patches that don't have certificates of origin or a CLA. (P.S. https://clahub.com is awesome )

  • [x] @haf
  • [ ] @DinoChiesa
  • [x] @dosomder
  • [x] @seth-deja
  • [x] @Thieum

lilith avatar Nov 24 '14 21:11 lilith

Let me know the process, and I have no problem for the sign-off.

Thieum avatar Nov 24 '14 21:11 Thieum

I am happy to sign off as well.

seth-deja avatar Nov 24 '14 21:11 seth-deja

Can you please post a suggestion for CLA for this project? CLAHub looks nice, I suppose it integrates with pull requests nicely?

haf avatar Nov 25 '14 06:11 haf

What should the name of the managing organization be? My standard CLA is here, which is based on the Apache Individual Contributor License Agreement.

I've had CLAHub set up for only a day, but it does seem to integrate seamlessly with pull requests.

lilith avatar Nov 25 '14 10:11 lilith

Also, I've created a pull request to first normalize the LICENSE and NOTICE files (this doesn't change any licensing, just clarifies the status quo).

lilith avatar Nov 25 '14 12:11 lilith

There is no managing organisation. It's open source and developed free from such constraints. We're in that case the 'organisation' 'DotNetZip'. :)

haf avatar Nov 25 '14 14:11 haf

I think copyright can only be assigned to a person or a legal entity. Since the Apache license grants similar rights as the CLA (although with the restrictions of the Apache license), you might just ask @DinoChiesa, @dosomder, @seth-deja, and @Thieum to make the following statement:

I hereby release all of my contributions to this project under the terms of the Apache 2 license.

lilith avatar Nov 25 '14 15:11 lilith

Wouldn't it be easier to release all code to the public domain? That means anyone can do anything with it. MIT is similar, but also explicitly says I'm not to blame if anything goes wrong... Using a license like that avoid having to make strange claims about 'assigning copyright'..., right?

haf avatar Nov 25 '14 19:11 haf

There's no internationally consistent concept of public domain :cry: ; nor does MIT address the patent concerns that are particularly important in this type of library. Apache 2 does.

The primary benefits of a CLA would include

  • Permit you to instantly relicense under Apache 3, if, for example, a decade from now laws have changed enough that Apache 3 is needed. Without it you'll have to get all contributors to go through this again.
  • Instructing contributors that they may need to get their employer's permission to release source code, and explaining those steps.

lilith avatar Nov 25 '14 20:11 lilith

Question; as you say "copyright can only be assigned to a person or a legal entity", isn't then "I hereby release all of my contributions to this project" a contradiction -- it doesn't specify an object/entity to take that ownership over?

haf avatar Nov 25 '14 22:11 haf

A CLA is written as an inbound license to a managing entity. An outbound license like Apache is granted to everyone. The CLA doesn't grant the public rights, it grants an entity the right to grant the public rights.

lilith avatar Nov 25 '14 23:11 lilith

So which entity are we?

haf avatar Nov 26 '14 08:11 haf

Well, as a person, you could receive the grant of rights from each contributor. Or, you could ask the .NET foundation to provide that service. Or, you could file for an LLC (usually < $100, depends on your state, very low maintenance). You could even word the CLA to specifically name multiple contributors or maintainers as the recipients, if you want.

I would start with asking contributors for an outbound license, as that's the easiest way. Then, when time permits, you can go back and ask for CLAs and set up clahub or a cla bot.

The only corporate entity noted in the copyrights is Microsoft, in combination with @DinoChiesa. If you get a CLA from them, it will need to be in a different form, specifically the "Software Grant and Corporate Contributor License Agreement", which differs from the "Individual Contributor License Agreement ".

lilith avatar Nov 26 '14 14:11 lilith

I am fine to sign off aswell.

dosomder avatar Nov 29 '14 08:11 dosomder

So just Dino left then.

haf avatar Nov 29 '14 11:11 haf

We can safely merge this, as Dino doesn't respond, imo. We've waited long enough. Can you send the PR?

haf avatar Apr 14 '15 08:04 haf

If we can't get a sign off, I don't think relicensing is possible.

lilith avatar Apr 15 '15 04:04 lilith

@DinoChiesa Just curious if you would be willing to sign off on a change/shift to dual licensing of the DotNetZip project to Apache or MIT license? All other contributors have already signed off. All that is needed is your agreement posted into this issue and then the relicensing can be done. If you are not on board with the change, would you be willing to make a comment to that effect in this thread as well. That way yea or nay, we can at least close this issue.

jshergal avatar Dec 23 '22 02:12 jshergal