Download Reference Manual
The Developer's Library for D
About Wiki Forums Source Search Contact

Ticket #1701 (new task)

Opened 15 years ago

Last modified 14 years ago

Make Tango fully licensed under Apache 2.0

Reported by: Don Clugston Assigned to: larsivi
Priority: major Milestone: 1.0
Component: Tango Version: 0.99.8 Sean
Keywords: Cc:

Description

Currently both licenses supported by Tango are non-ideal. The BSD license requires the copyright notice to be included even in compiled modules.

The Academic Free License includes the problematic clause 9:

AFL v3.0 Section 9. If You distribute or communicate copies of the Original Work or a Derivative Work, You must make a reasonable effort under the circumstances to obtain the express assent of recipients to the terms of this License.

--- Richard Stallman's comment on this was:

Recent versions of the Open Software License have a term which requires distributors to try to obtain explicit assent to the license. This means that distributing OSL software on ordinary FTP sites, sending patches to ordinary mailing lists, or storing the software in an ordinary version control system, is arguably a violation of the license and would subject you to possible termination of the license. Thus, the Open Software License makes it very difficult to develop software using the ordinary tools of free software development. For this reason, and because it is incompatible with the GPL, we recommend that no version of the OSL be used for any software.


This is a blocker to Tango/Phobos compatibility. For all my code which in Tango, I'd like to enable it to be shared with Phobos. As Phobos and druntime have switched to the Boost license, there should be the possibility to use the Boost license as well as AFL and BSD.

Change History

07/02/09 18:50:35 changed by larsivi

  • priority changed from critical to normal.

07/09/09 10:10:45 changed by fawzi

Well as author you can release all your code under several licenses.

Personally I don't think that adding yet another license to tango is the way to go, because having multiple licenses makes the actual licensing even less clear.

In my opinion if the license should be changed, it should be changed to a single license, and in that case I see apache 2.0 as a much better alternative.

It is used more widely and has clearer guidelines toward how to handle other licenses (which in my opinion is very important), also it tries to ensure that a single license is presented to the end user, and the apache license is mantained (for exmaple ensuring that contributions fall under that license.

I had opened the discussion about that here: http://www.dsource.org/projects/tango/forums/topic/786

(follow-up: ↓ 7 ) 09/30/09 10:35:45 changed by larsivi

  • priority changed from normal to major.
  • type changed from defect to task.
  • summary changed from Tango modules should have option for the Boost license to Make Tango fully licensed under Apache 2.0.

We wish to make Tango fully licensed/distributed under the Apache 2.0 license, and for this the consent from current contributors is needed.

Please chime in.

09/30/09 10:36:11 changed by larsivi

  • owner changed from kris to fawzi.

10/01/09 01:36:57 changed by Don Clugston

(1) The Apache license does look much better than the existing Tango license, and a big improvement over the AFL; but... (2) The primary reason I wanted the Boost license was to close the gap between Tango and Phobos -- possibly the largest problem facing D. Does this still achieve that?

(Note that the goal could also be achieved with by allowing a reciprocal Boost license for Phobos ONLY. But we have to do SOMETHING).

10/01/09 11:05:56 changed by larsivi

I have some problems understanding the issue. In general code in Tango isn't a candidate for inclusion in Phobos, and the same holds true for the other direction. If some lesser pieces are such candidates (say the math package), the author is of course free to license as he wish. If someone wish to make compatibility layers between the two, that isn't an issue either as the API itself cannot be licensed.

When that is said, Apache 2.0 and Boost aren't actually conflicting licenses, so using Phobos and Tango code together isn't an issue, and that seems to me to be the, by far, most likely scenario.

Further, having an additional license just for Phobos doesn't make sense, since an open source license is transitive towards all users in any case.

Tango has very many contributors, some that are difficult to get hold of. If we're not able to do it, that will be OK (if not preferrable) with Apache 2.0 since it will still be possible to distribute Tango under it with a NOTICE about the original licenses.

This option does not exist for Boost however, since both BSD and AFL will require explicit consent for the code to be distributed under it, Boost being a looser license. This, in addition to the other arguments for Apache 2.0, make us feel that it is not worth an investment towards Boost.

(in reply to: ↑ 3 ) 10/01/09 23:44:43 changed by Cyborg16

Replying to larsivi:

We wish to make Tango fully licensed/distributed under the Apache 2.0 license, and for this the consent from current contributors is needed.

Not that I ever committed much here, but any of my contributions to tango or dsource.org/projects/tango may be relicenced under any FSF-free licence.

Good luck if you do need explicit consent from all authors :(

11/09/09 00:43:10 changed by kris

  • owner changed from fawzi to larsivi.

01/31/10 22:54:25 changed by larsivi

  • milestone changed from 0.99.9 to 1.0.

03/05/10 19:26:30 changed by larsivi

With time, it has become evident that is near to impossible to get explicit consent from all authors. There is some evidence that this isn't really really needed, but we'd rather be on the safe side.

"history" has shown us that two licenses is very confusing for the users, especially when one of them isn't very well known, and the difference isn't _that_ big.

Thus we feel there is only one alternative left - drop one of the current licenses and stick with the other. The winner then is BSD.

In the past we have felt that the BSD is somewhat impractical for the user due to the binary attribution clause, but we intend to solve that by providing it to the users by putting the license text in a static string in a central module. Thus we end up with an open, relatively short, well known, easy to comply with, GPL compatible license. It is also a license that makes a lot of high quality libraries directly compatible - for example for potential inclusion/bundling with Tango.

We intend to implement this change prior to Tango 1.0