code.dlang.org now supports categories and search - license information now required

ilya-stromberg ilya-stromberg-2009 at yandex.ru
Thu Oct 17 06:21:39 PDT 2013


On Thursday, 17 October 2013 at 12:27:02 UTC, Sönke Ludwig wrote:
> Am 17.10.2013 14:13, schrieb ilya-stromberg:
>> On Thursday, 17 October 2013 at 12:06:49 UTC, Sönke Ludwig 
>> wrote:
>>> If you have per-file differences, then this in fact means 
>>> that both
>>> licenses need to be obeyed when using the package. If those 
>>> licenses
>>> are incompatible, that's a problem of the package combining 
>>> them -
>>> it's basically unusable then. But going a per-file way is 
>>> by-far too
>>> detailed. It's hard enough to assure proper per-package 
>>> licensing and
>>> keeping license comments up to date, but this will IMO just 
>>> result in
>>> chaos.
>>>
>>> Also, while GPL 2 and 3 may not be compatible, there are other
>>> licenses which are compatible, but one is not a superset of 
>>> the other.
>>
>> OK, understand your position. May be just provide special 
>> syntax for
>> this cases, for example:
>> "license": [{"BSL-1.0", "MIT"}]
>
> It would have to be still valid JSON. So something like
>
> 	"license": {"or": [{"and": ["BSL-1.0", "MIT]}, "GPL-2.0"]}
>
> would work. But that is hardly more practical than
>
> 	"license": "BSL-1.0 and MIT or GPL-2.0"
>
> With the advantage of not requiring operator precedence, though.

We can use "or" as default. So, your example:
"license": [{"and": ["BSL-1.0", "MIT]}, "GPL-2.0"]

Yes, the example
"license": "BSL-1.0 and MIT or GPL-2.0"
looks better, but what about more complex cases:
"license": "BSL-1.0 and MIT or GPL-2.0 and BSL-1.0"
What does it mean?


More information about the Digitalmars-d-announce mailing list