# 'Dæmon License': an anti-viral license.



## rigoletto@ (Jul 9, 2018)

The objective of the *'Dæmon License'* is to create a license completely and clearly incompatible, directly and indirectly, with the COPYLEFT philosophy.

Beyond personal convictions, a possible use would be for the corporation XYZ willing to open some _random_ code to be improved community-wise but they are _afraid_ of doing it because someone could fork this code, stamp a GPLvX in there (what I call code smuggling) for the all new code, and somehow the majority of the contributions end up on this fork instead of the original code.

The thing could then end up as an awesome code which the XYZ corporation will not be able to benefit of it because they cannot import GPLvX code in their base for some reason.

They have the option to order a custom license, but they have to deal with the risk of that be circumvented due to something not being well written/implemented, or while they are willing to open the code they are not interested on spending money with bureaucracy to do that (specially thinking about medium/small business).

The main reason I didn't write it yet are:

my lack of proper knowledge of the subject (law-wise)
lack of proper English grammar knowledge
I do not have any code to publish
Everybody know the COPYLEFT philosophy and objectives. I personally do not think the main objective of the copyleft licenses is the code freedom but third party code appropriation: _anything that directly integrates or directly links to substantial portions of GPL software becomes GPL._

Several people, each one with its own reasons, does support free software but are against the COPYLEFT practices, but the available licenses do not provide protection to those people code to avoid its code be used on copyleft projects, something they do not support or are against of. Evidently, again, I am talking about individuals and small business who can't afford specialized lawyers to write a custom license for them.

The idea is to start with a BSD3CLAUSE BSD2CLAUSE license and add two others clauses with these objectives:

make it "crystal clear" copyleft incompatible, directly and indirectly, not allowing the use of _custom_ licenses between (think LGPL) to workaround the 'Dæmon License'
a counter-measure clause against license violation, a builtin punishment
eventually an exception for code that will never be published, but just for internal consumption
Just making it clearly incompatible was supposed to be enough, but everybody know GPL licensed projects are often violated and the code owner does not have means to fight against that violation due to high costs. Too bad for them to embrace a bi-polar licensing model they cannot afford.

The idea of the license is simple: do not get any of this code involved with COPYLEFT in anyway, but if you do insist there is the retro-viral medicine.

One time the Dæmon licensed code is violated the medicine is automatically applied, what means all involved copyleft code become 'Dæmon Licensed' as punishment for the violator. And so the owner of the violated code can publish (or use, doesn't matter) all copyleft affected code under the 'Dæmon License'.

_If I give something for free, I GIVE, but at the same time I do not want it to potentially become part of a practice I am against of, even if indirectly, specially if it is predicable to happen._

*I am not implying everyone should support this kind of licensing, anyone can publish anything with any license they desire, but to attract people who is willing to HELP. Reddit-like comments are not welcome, as we do not need more noise than we already have on this forum.*


----------



## ronaldlees (Jul 9, 2018)

I don't think 3'rd parties can re-license the code, only the original author(s).  The BSD license calls for distribution of the conditions paragraph, which is as it is (very liberal), and is a not a GPL license paragraph.  OTOH, IANAL ...


----------



## rigoletto@ (Jul 9, 2018)

Third parties cannot re-license the software (unless the license allow it), I was talking about the 'marketing' thing they do.

Ex. get a BSD code and put one line of code (and preferecially change the name of everything involved), then add it to GitHub with a GPLv3 License because all code from now will be GPLv3. Later add the necessary BSD disclaimer very hidden somewhere in the repository and never talk about it. Next step, tell to everyone how your code is marvelous.

This is the same people do on proprietary software but those don't try to sell their code is free. I do not agree copyleft software is free software since it force you to comply with their philosophy. It is even worse than proprietary (IMO).

The objective of GPL is to appropriate of third party software[1]. If someone make a mistake[2] while implementing something that include third party GPL software, it can potentially afect all involved code forcing everything to become GPL licensed.

[1] if you want your code to be free you just need keep it free. Nobody (usually) can for you to re-license your software.
[2] you can search around the forums for some serious 'real world' concerns ralphbsz brought from business when GPL code get involved.


----------



## xtremae (Jul 9, 2018)

lebarondemerde said:


> See OpenZFS, they talk like they do/did all the work in there.


Does the CDDL limit freedom of speech? If not, freely expressing one's opinion does not breach the license and certainly does not re-license the project.


----------



## rigoletto@ (Jul 9, 2018)

CDDL was created to be GPL incompatible (it is well know Solaris engineers didn't want ZFS on Linux), *but the thing was not well implemented.*


----------



## xtremae (Jul 9, 2018)

I agree but the license governs compatibility, not what someone can or cannot say about CDDL licensed code.


----------



## ShelLuser (Jul 9, 2018)

Who cares though?

That so called "anti viral clause" you speak off reminds me of the sole reason I dislike the GPL: it limits one freedom because it demands that all work based on the Original should also be licensed under the GPL. Which is why many compare the GPL with a virus due to its intended spreading.

The whole idea behind the BSD license is to provide a true form of freedom. And yes, that also means that this can be (ab?)used in ways the OP describes. Yet I don't see a problem. Anyone who knows their stuff can poke right through stuff like this.

Still, in the end things work as intended: people gain access to open source and the freedom to use that as they please (to certain extends).


----------



## sidetone (Jul 9, 2018)

Are you aware of the BSD 3-Clause Clear License license? Oddly, if the license is made to keep another entity from taking it over, it becomes a little more like a GPL license, unless you use an Apache license, which is very complicated. (I'm unsure where CDDL is on the spectrum).

The original license cannot be changed, only their additions to it. It is important to save the code that have original licenses, before additions get added to it.

I don't like how something is under a FreeBSD license, then it seems like it gets absorbed in a predatory kind of way. Then it becomes something that GNU fans take credit for. There was a newer BSD license, that was incompatible with GPL licenses of that time. Then GPL 3? license was made, which was able to absorb code from that later BSD license.

Other than something like a ClearBSD or Apache type of license, I don't know what else can be done without breaking the tradition of free to use for all.

I think when code is started from a liberal license like MIT, ISCL or BSD, completion of it has to be vigilant, so that any more incorporation cannot be much more useful than the original code. An author can also hold on to it, then release it later to one of these licenses. Some from other opensource projects who use code from one of these licenses, seem to have no interest in doing this.

There has to be some understanding of copyright that is helpful. Of course different countries and institutions have different rules of copyright law.

An "ad Minimus" addition to a BSD code is not a creative expression enough to prevent putting a GPL or copyright stamp on it. GPL can use it, but they cannot use the ad Minimus additions exclusively. An ad Minimus addition would be like adding the words "an", "the" or punctuation; then they cannot prevent a BSD entity, any other person or organization from incorporating that to the original code under the BSD style license. In other words, any addition that is ad Minimus would belong to the original BSD, MIT, ISCL style of  license. It may be abstract or up to opinion what constitutes ad Minimus.

It is also in copyright law, that I read, but I'm not sure if this is all encompassing, that machine generated code cannot be copyrighted, because it is not of original creative expression. I'm unsure if it can always be proven if code is machine generated. Lists and tables cannot be copyrighted, despite that it may take days, weeks, months or years of work to accomplish attainment of that knowledge. If a table is styled with artwork, then that can be copyrighted, or trademarked or something like that.


----------



## kpedersen (Jul 9, 2018)

I believe an interesting example of what the OP is talking about is OpenOffice.

From a distance it seems quite sad seeing it being trampled on by LibreOffice from the fact that LibreOffice can take patches from OpenOffice (Apache, MIT) and yet OpenOffice cannot take patches from LibreOffice (GPLvX).

But at the same time, as a consumer, this does not affect me. I was also never going to attempt to repackage and resell OpenOffice, so professionally it does not affect me either. And many of the OpenOffice developers are quite happily working on LibreOffice so it doesn't really affect them either. On a closer inspection, noone has really been hurt by this system.

In my personal opinion, there is a need for both GPL and fully permissive licenses. There is also no real harm in allowing BSD/MIT licenses being affected by the GPL viral effect either because that is still a much better prospect than a company simply closing up the source entirely (which remember they can do with BSD/MIT).


----------



## rigoletto@ (Jul 9, 2018)

sidetone said:


> I don't like how something is under a FreeBSD license, then it seems like it gets absorbed in a predatory kind of way.



The exactly same thing happens with GPL, and most of time they can't do anything because of the lack of resources. So, they usually only have means to enforce on individuals or small business (and when they have), what is an ever bigger joke than what they talk about BSD/MIT.


----------



## Sensucht94 (Jul 9, 2018)

lebarondemerde said:


> CDDL was created to be GPL incompatible (it is well know Solaris engineers didn't want ZFS on Linux), *but the thing was not well implemented.*



Personally I don't think so; my opinion is that the rumor about Sun developers willing to purposely damage Linux and FSF is more of a bashing trend spread by GPL-fanatics, bothered by someone going copyleft -while re-implementing the whole concept in a saner way- and actually not using their beloved license (alias postmodernist phylosophy),  and based on an immotivated assertion from the OpenSolaris dev Danese Cooper at 2006 DebConf, which was
promptly proved wrong by Simon Phipps. In 2015 Bryan Cantrill (who, no secret, I'm fan of) when asked: _"Was the CDDL designed to prevent Sun technologies from entering Linux?"_, answers:


> Great question, and the answer was that we didn't know -- but the expectation was that it would be ported to Linux relatively quickly. I remember vividly standing over a terminal with a bunch of people as we actually launched OpenSolaris (like, clicked carriage return on making the DTrace code live -- which was the first in the chute), and the Sun Legal guy and I were chatting. We were both wondering if DTrace was going to show up in Linux in a month or if it would take two years. But that was the range of guesses: neither of us believed that the Linux community themselves would hold up CDDL as an obstacle, and certainly if you told me that a decade later, DTrace wouldn't be in Linux because of licensing FUD, I wouldn't have believed you. Of course, in hindsight, it all seems so clear: NIH is enormously powerful, and we were fools for discounting it. After all, as Jared Diamond pointed out in "Collapse", the Norse in Greenland starved to death when their domesticated livestock died rather than eat fish like heathens...


----------



## sidetone (Jul 9, 2018)

I think a solution is to use a combination of an open BSD, ISCL, MIT license, with clearly marked components that are exclusively BSD3 Clear license. So they can absorb parts of it, but for parts incompatible with the GPL license, they will completely have to rewrite, or plug it into their GPL code to make use of the free code. Either that, or have publishers who first hold on to the code, then later release it with a liberal license, once it is functional and near completion.

Considering how cluttered or bloated much of GPL code is, there is a lot of room for improvements with BSD style used with its licenses. If done, it must be done meticulously, before it gets absorbed in a large way. But that is too much to ask.

Apart that in GPL code, there is a tendency to pile on, because people do not want to contribute a lot of effort that they cannot use exclusively, but allow entities who own the copyright to get exclusive use of. When a lot of GPL code is proactively developed, I don't know if by design or by coincidence (I think both) that a lot of GPL code has a tendency to be cluttered. In other words, in GPL style of code, a lot of code is passively piled on, causing clutter, but when code is not passively piled on, it seems to proactively be cluttered. It is like heavy developers are trying to tangle knots.



lebarondemerde said:


> The exactly same thing happens with GPL, and most of time they can't do anything because of the lack of resources. So, they usually only have means to enforce on individuals or small business (and when they have), what is an ever bigger joke than what they talk about BSD/MIT.


Yes, I understand and sympathize with that to an extent. I was kind of describing that. Admittedly, many open source projects lack resources. While GPL can benefit BSD code at times, I don't like how some bash BSD projects, after the GPL code they are praising, was done on top of BSD code.


----------



## rigoletto@ (Jul 10, 2018)

I've added "3. eventually an exception for code that will never be published, but just for internal consumption".

I am logging it in here to avoid EDIT on the original post.


----------



## sidetone (Jul 10, 2018)

There are at least two what I see as successes in MIT, ISCL or BSD styles of source code (aside from what's in the base of BSD OS'es). x11-wm/jwm and audio/sndio. sndio is so different than what is at Linux, that there's little reason yet for them to implement it. jwm used to be GPL, but it was later released to MIT by the author. These can be forked with little consequence, because in terms of functionality (not necessarily in features) they are complete.

Maybe there can be a type of license, that you can do anything with the code, but if you fork it, you cannot do it under the same program name (kind of like how DocBook's license is), but you must attribute the original authors and other important details.


I don't see an excuse for hardware drivers, which the manufacturers made to be open, and made on top of BSD code to be made into a GPL type of license. If they made it from scratch, then they should do it. I wish hardware manufacturers would make it so you can't close off contributions to software to their hardware that are based on top of code that the manufacturers contributed, but you can keep them as a trade secret.


----------



## rigoletto@ (Jul 10, 2018)

*Added to OP.*
Another unlikely but possible use would be a XYZ corporation willing to open some random code but they don't want it going thru GPL/Linux madness because of some reason (doesn't matter), like they end up in a situation where the code got improved but they now cannot import this code back because the improvements are GPLvX - someone did a fork stamped a GPLvX license in there for all new code and somehow everyone contributed to that fork instead of the original code.

They have the option to order a custom license, but they have to deal with the risk of that be circumvented due to something not being well written/implemented, or while they are willing to open the code they are not too interested on spending money to do that.


----------



## sidetone (Jul 10, 2018)

As long as there are an infinite way to write code to accomplish a specific result. Using the code that's under the original BSD type license, before it was forked, then adding to that should be no problem. I just don't know if there are many ways to complete a piece of code.


----------



## rigoletto@ (Jul 10, 2018)

Yes, but why someone who opened the original code and can't stand to GPL would like assume the risk have to re-write (what cost money) all contributions just because someone (totally not related with them) decided GPLvX *IS* the way to go. Not to say there still have the discussion of what derivative work is.


----------



## sidetone (Jul 10, 2018)

lebarondemerde said:


> Yes, but why someone who opened the original code and can't stand to GPL would like assume the risk have to re-write (what cost money) all contributions just because someone (totally not related with them) decided GPLvX *IS* the way to go. Not to say there still have the discussion of what derivative work is.


It all cost someone time or money to make any piece of code. Starting from the BSD licensed code is a good starting point.

I wish I could make big contributions of efficient coding, but I have a lot on my plate at the moment to take on big learning projects on programming.


----------



## sko (Jul 10, 2018)

kpedersen said:


> I believe an interesting example of what the OP is talking about is OpenOffice.
> 
> From a distance it seems quite sad seeing it being trampled on by LibreOffice from the fact that LibreOffice can take patches from OpenOffice (Apache, MIT) and yet OpenOffice cannot take patches from LibreOffice (GPLvX).



Just FTR: OpenOffice was being gutted and bled to death by oracle (like everything else they've touched...) to develop their renamed variant of StarOffice. The rotten carcass of OpenOffice.org was then thrown over the fence (or "generously donated" in Oracle terms) of the Apache Foundation, which still keeps it on life support for unknown/questionable reasons as it is de facto a stale project.  All core developers left OO and joined LibreOffice a long time ago (~2010-2011) and that's where all development has happened since.

As OpenOffice.org was already licensed under GPL, continuing with that license this might have been the only available choice for LibreOffice. Apache re-licensed AOO much later, so the incompatibility with AOO was surely not a goal for LibreOffice.


----------



## rigoletto@ (Jul 14, 2018)

First draft, and actually based on BSD2CLAUSE instead of BSD3CLAUSE. It does not met all requirements yet.



> Copyright <YEAR> <COPYRIGHT HOLDER>
> 
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
> 
> ...


----------



## rigoletto@ (Jul 17, 2018)

Draft 2



> Copyright <YEAR> <COPYRIGHT HOLDER>
> 
> Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
> 
> ...


----------



## Chris_H (Jul 17, 2018)

OK. I'll bite. I'm not at all fond of the poisonous *GPL* license, and I'm no fan of Stallman. I really appreciate the MIT/BSD license. I guess (in the context of your writings) I'd simply use the MIT/BSD 3 clause, adding simply one more clause:
 o The source covered by this license may NOT be re-licensed under any GPL, or derivative license thereof. Nor may any contributions to this source carry the same.
I think that covers it.
After all. Isn't hat really your (and may(s)) beef? 

--Chris


----------



## sidetone (Jul 17, 2018)

Chris_H said:


> OK. I'll bite. I'm not at all fond of the poisonous *GPL* license, and I'm no fan of Stallman. I really appreciate the MIT/BSD license. I guess (in the context of your writings) I'd simply use the MIT/BSD 3 clause, adding simply one more clause:
> o The source covered by this license may NOT be re-licensed under any GPL, or derivative license thereof. Nor may any contributions to this source carry the same.
> I think that covers it.


That's one brilliant solution.

 The freedom of MIT/BSD licenses getting taken in by restrictive licenses is a paradox.


----------



## Chris_H (Jul 18, 2018)

err.. um, no. It *ensures* that the freedom it was _intended_ to provide, _remains_ there. 
But yes, I get your point, sidetone 

--Chris


----------



## rigoletto@ (Jul 18, 2018)

I thought on something like that but would be pretty easy to write a completely new license without any relation with GPL archiving the same effects.

The spefic characteristic of the *GPL* licenses is the term forcing derivative work to be licensed under the same terms, and so I did the first draft. But, it is doable to write a license that does not enforce the "same terms" but manage to archive the same results using different terms (this is moot but doable).

So, a closer look and those licenses are about removing the freedom[1] of the permissive-like licenses imposing restrictions. I do not know any other licenses that impose those kind of restrictions since proprietary does not have derivative work to be distributed.

[1] of course *GPL* cannot re-license a work under BSD/MIT but one time a lot of work is done on top of it, it is often counter productive to re-write the whole thing back to a permissive license - it is like they try _hijack_ the work to impose their political visions.


----------



## kpedersen (Jul 18, 2018)

This license does not protect against GNOME-ization.

"Dragging in and hooking a software up to so many dependencies it becomes impossible to build / maintain and might as well be proprietary / closed-source because the code is effectively inaccessible"

or GNU-ization.

"Tying almost every aspect of a software to an external internet server (.deb / .rpm repository, CPAN, PIP) so that it fails in exactly the same way as a DRM / online activation scheme"


----------



## rigoletto@ (Jul 18, 2018)

kpedersen 

Derivative work which bring those "features" are useless anyway.


----------



## rigoletto@ (Sep 2, 2018)

One more step:



> Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
> All rights reserved.
> 
> Redistribution and use in source and binary forms, with or without modification,
> ...



It does need some grammar review.


----------



## rigoletto@ (Oct 11, 2018)

Little steps.


```
Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice,
   this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright
   notice, this list of conditions and the following disclaimer in the
   documentation and/or other materials provided with the distribution.

3. Derivative work cannot be distributed under terms and/or linked to work
   that impose restrictions on how derivative work should be distributed,
   ever if those terms grant exceptions to the present work.

4. If derivative work become distributed and/or linked to work under terms
   that impose restrictions on how derivative work should be distributed,
   ever if those terms grant exceptions to the present work, those terms
   and conditions are void, and the derivative and/or linked work is under
   the present License.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
```


----------



## rigoletto@ (Oct 18, 2018)

One more step.


```
Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

    3. Source code of derivative works cannot be distributed and/or linked
       to works under terms that impose restrictions on how the source code
       of derivative works should be distributed, ever if those terms grant
       exceptions which cover works licensed under the present License.

    4. If the source code of derivative works become distributed and/or
       linked to works under terms that impose restrictions on how the
       source code of derivative works should be distributed, ever if those
       terms grant exceptions which cover works licensed under the present
       License, those terms and conditions are void, and the derivative
       and/or linked works are licensed under the present License.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
```


----------



## sidetone (Oct 18, 2018)

Rigoletto said:


> ```
> 3. ... terms that impose restrictions on...
> 
> 4. ... and the derivative and/or linked works are licensed under the present License.
> ```


3 needs to say "that further impose restrictions".
4 the last phrase is unclear. It is written like it is refering to works of under another license being combined. It's written like it would try to override other licenses more aggressively than GPL and also not allowed, by an action not under control by the owner of the copyright and allowed under its license.

Allowing any use of binary, but limiting distribution of the source code when combined with other licenses is a good idea. This alone will conflict with GPL, where they cannot combine their license with this, because their license requires redistribution.


----------



## rigoletto@ (Oct 18, 2018)

sidetone 

"3" already fixed in here. I was finding the "4" text with somethig weird. I just need to think how to better express it, since, obviously, the forced _re-license_ can just be over the code owned by the violator.

Thanks!


----------



## rigoletto@ (Oct 18, 2018)

So, just a quick hack.


```
Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

    3. The source code of derivative works cannot be distributed and/or
       linked to works under terms that further impose restrictions on how
       the source code of derivative works should be distributed, ever if
       those terms grant exceptions which cover works licensed under the
       present License.

    4. If the source code of derivative works become distributed and/or
       linked to works under terms that further impose restrictions on how
       the source code of derivative works should be distributed, ever if
       those terms grant exceptions which cover works licensed under the
       present License, those terms and conditions are void, and the
       derivative works and/or the linked works, if the former have the
       same copyright owner, are licensed under the present License.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
```


----------



## rigoletto@ (Oct 18, 2018)

The last version for now.


```
Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

    3. The source code of derivative works cannot be distributed under
       terms that further impose restrictions on how the source code of
       derivative works should be distributed, ever if those terms grant
       exceptions which cover works licensed under the present License.

    4. If the source code of derivative works become distributed under
       terms that further impose restrictions on how the source code of
       derivative works should be distributed, ever if those terms grant
       exceptions which cover works licensed under the present License,
       those terms and conditions are void, and the derivative works are
       licensed under the present License.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
```


----------



## rigoletto@ (Mar 2, 2019)

Almost there:


```
Copyright (c) [ YEAR ], [ COPYRIGHT HOLDER ]
All rights reserved.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

    1. Redistributions of source code must retain the above copyright
       notice, this list of conditions and the following disclaimer.

    2. Redistributions in binary form must reproduce the above copyright
       notice, this list of conditions and the following disclaimer in the
       documentation and/or other materials provided with the distribution.

    3. The source code of derivative works cannot be publicly distributed
       under terms that further impose restrictions on how the source code
       of derivative works should be distributed, ever if those terms grant
       exceptions which cover works licensed under the present License.

    4. If the source code of derivative works become publicly distributed
       under terms that further impose restrictions on how the source code
       of derivative works should be distributed, ever if those terms grant
       exceptions which cover works licensed under the present License,
       those terms and conditions are void, and the derivative works are
       licensed under the present License.


THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
```


----------



## sidetone (Aug 20, 2020)

For clauses 3 and 4 of that, what if software written by someone or an organization is leaked by someone not permitted to do that. It would force that code into this license.

What about combining the original BSD license (BSD 4Clause) with the Clear BSD License license? The Clear BSD license is compatible with the GPL, hence combining it with the advertising clause for Berkeley.


----------



## rigoletto@ (Aug 20, 2020)

The advertising clause of the BSD 4Clause doesn't make it incompatible with GPL, this is a Stallman invention because he don't like it, and his opinion or feelings are completely irrelevant in a tribunal.



sidetone said:


> For clauses 3 and 4 of that, what if software written by someone or an organization is leaked by someone not permitted to do that. It would force that code into this license.



Not really if that was not intentional, specially if that was an illicit act.


----------



## sidetone (Aug 20, 2020)

He won't like a clause requiring a simple declaration, "GPL is a viral license". They would be free to use it, but that clause would really discourage it, and send a message if they did take it. It would be ironic. Perhaps this would cause unintended consequences, like them putting likewise statements in their clauses. Stating, it can't be used with GPL may be better.

In a way, considering how GPL absorbed everything, it seems that something like this would be needed. It even got GPL2 soon that allowed to take advantage of a BSD3 license.

A Clear BSD license may allow GPL, but at least it would get rid of one problem common with GPL, that wouldn't allow a company that owns the copyright to force others to give up contributions to absorb them, while not giving back code.

I think in some cases these dual licenses are incompatible, but the GPL wants to take advantage of them anyway. As if something has dual licenses, one says, you must force away all contributions, and the other says, you don't have to give up contributions. Of course, this applies to anything added under the premise of GPL, that wasn't added under the premise of a BSD license. For dual licensed code, it gives the assumption that the BSD licensed code wasn't written first, when it was, and that the premise is to use the GPL license. A clear separation is needed.

CDDL is incompatible with GPL, but it is not simplified.


----------



## mark_j (Aug 24, 2020)

rigoletto@ said:


> The advertising clause of the BSD 4Clause doesn't make it incompatible with GPL, this is a Stallman invention because he don't like it, and his opinion or feelings are completely irrelevant in a tribunal.
> 
> 
> 
> Not really if that was not intentional, specially if that was an illicit act.


The GPLv2 &3 explicitly denies further 'restrictions' to their license. The advertising clause imposes such a restriction.

Of course none of this has been tested in court anyway; it's sort of the purpose of the BSD license.
See this for an attempt to add a restriction: https://gist.github.com/schacon/12896


----------



## rigoletto@ (Aug 24, 2020)

mark_j said:


> The GPLv2 &3 explicitly denies further 'restrictions' to their license. The advertising clause imposes such a restriction.



The advertising clause isn't a restriction but a requirement, it doesn't restrict the GPL license in any sense but just add up on it.



mark_j said:


> See this for an attempt to add a restriction: https://gist.github.com/schacon/12896



The problem of that license is one could just re-write the GPL license using other terms, name it differently and by pass that restriction.



mark_j said:


> Of course none of this has been tested in court anyway; it's sort of the purpose of the BSD license.



This is just relevant in a concrete case scenario since everything depends of the specific juridisction of the litigation. In jurisdictions where license matters fall into the scope of the 'case law' (US, UK, etc.) there are a lot to discuss including how the clauses play together with the local regulations[1]. On the other hand, jurisdictions where license matters fall into the scope of 'contract law' (China come to mind) the license is quite likely to be enforced as-is.

[1] one can imagine GPL would be severely capped in EU, specially in situations where there is a clear _weight_ difference between the parts.


----------



## mark_j (Aug 24, 2020)

rigoletto@ said:


> The advertising clause isn't a restriction but a requirement, it doesn't restrict the GPL license in any sense but just add up on it.


This doesn't correlate with what I've read, or this:








						FSF raises doubts over two open source licences
					






					www.smh.com.au
				




Specifically the FSF says:
"With regard to the XFree86 licence, Kuhn said: "...it is GPL incompatible for similar reasons that the old BSD license (with the advertising clause) was. We are working with the X community to address the problem."

PS Don't get me wrong, I applaud your efforts to produce a BSD-style, GPL incompatible license.


----------



## rigoletto@ (Aug 24, 2020)

mark_j said:


> This doesn't correlate with what I've read, or this:
> 
> 
> 
> ...



This is still the Stallman (FSF) opinion and not an actual specialized and non-FSF/similar (read neutral) lawyer (I'm not too), yet this discussion will always fall into how the license would be interpreted in a specific jurisdiction, in a specific concrete case.


----------



## mark_j (Aug 24, 2020)

rigoletto@ said:


> This is still the Stallman (FSF) opinion and not an actual specialized and non-FSF/similar (read neutral) lawyer (I'm not too), yet this discussion will always fall into how the license would be interpreted in a specific jurisdiction, in a specific concrete case.


True, but I think it's a pretty safe bet that if the FSF (a licensing producer and defender) says it's incompatible, it is.
We both seem to agree though, that until it's tested in any court it's also just an opinion of lawyers. Ultimately, it's the judges' opinions that count.


----------



## 20-100-2fe (Aug 24, 2020)

mark_j said:


> This doesn't correlate with what I've read, or this:
> 
> 
> 
> ...



The FSF has changed their mind about the Apache license over the last 16 years, check out their web site.


----------



## 20-100-2fe (Aug 24, 2020)

The problem is see with these clauses is they are too broad and also cover the creation of derived works by e.g. Netflix.

Why not just state something like: Licensing derived works under a "copyleft" license is not permitted?



rigoletto@ said:


> ```
> 3. The source code of derivative works cannot be publicly distributed
> under terms that further impose restrictions on how the source code
> of derivative works should be distributed, ever if those terms grant
> ...


----------



## mark_j (Aug 24, 2020)

20-100-2fe said:


> The FSF has changed their mind about the Apache license over the last 16 years, check out their web site.


In relation to the GPL, as far as I can see they have not. They only like the license v2 because it's anti-patent, other than that, it's anti-gpl, which is against their obvious love of all things GPL.


----------



## rigoletto@ (Aug 24, 2020)

20-100-2fe said:


> The problem is see with these clauses is they are too broad and also cover the creation of derived works by e.g. Netflix.
> 
> Why not just state something like: Licensing derived works under a "copyleft" license is not permitted?



Copyleft isn't a "real" (juridic) term, making room to interpretations.


----------



## kpedersen (Aug 24, 2020)

Can something more restrictive in terms of license compatibility be used?

"This software may not be relicensed"

"This license is final and is not compatible with any other license"


----------



## rigoletto@ (Aug 24, 2020)

kpedersen said:


> Can something more restrictive in terms of license compatibility be used?
> 
> "This software may not be relicensed"
> 
> "This license is final and is not compatible with any other license"



No one can re-license a software without owner approbation, and making it incompatible with everything is just like GPL, only worse.


----------



## 20-100-2fe (Aug 24, 2020)

rigoletto@ said:


> Copyleft isn't a "real" (juridic) term, making room to interpretations.



Definitely, hence the double quotes around "copyleft".
It was intended to suggest a strategy, I'm not able to do more than that.


----------



## sidetone (Aug 24, 2020)

How about a license with one part that applies to propriety additions, and another part that applies to GPL like licenses.

Clear BSD, Apache and maybe CDDL licenses apply to propriety use of code. Clear BSD is simple, so use that. Make it compatible with Apache, CDDL, Mozilla and similar licenses. Prevent companies from trolling copyrights and patents with this part.

Add a clause to Clear BSD license that says, it can't be used with a open-source license that forces people to give up their code, as what GPL does.

This makes the most sense. To remain simple and functional, it needs two parts: one to apply to proprietary use and one to apply to open-source use.

Also, maybe something borrowed from LGPL, that allows more leniency on linked libraries under this license. This will allow proprietary code to be used in any way they want without getting it mixed in with this licensed software. This will also allow a GPL-like piece of code to be stripped down to the library (obviously remaining under those terms), and linked to from this (that is allowed to do so) without getting software from different licenses clouded up.


----------



## 6502 (Aug 24, 2020)

I think the correct definition (clause) is something like: "This software cannot be linked statically with any software module or library licensed under GPLv2, GPLv3 or future modification of GPL. GPL is GNU General Public License defined and maintained by Free Software Foundation, Inc.". Maybe it is good to include LGPL as well. Dynamic linking is allowed.


----------



## kpedersen (Aug 24, 2020)

6502 said:


> I think the correct definition is something like: "This software cannot be linked statically with any software module or library licensed under GPLv2, GPLv3 or future modification of GPL.



I like the idea but what if you still want it to be able to function alongside and with GPL software, but not for the viral effect to spread?


----------



## 6502 (Aug 24, 2020)

I think dynamic linking may help in many cases. The idea is not for upgrade of BSD license but making new type of sub-license which is protected against GPL forks.


----------



## Mjölnir (Aug 24, 2020)

rigoletto@ said:


> [...] you can search around the forums for some serious 'real world' concerns ralphbsz brought from business when GPL code get involved.


Could you elaborate? Or provide a link?


----------



## mark_j (Aug 24, 2020)

kpedersen said:


> Can something more restrictive in terms of license compatibility be used?
> 
> "This software may not be relicensed"
> 
> "This license is final and is not compatible with any other license"


That's a good point, but then it more resembles CDDL.
I am not sure of rigoletto@'s motivation, but I would assume licensing in some other form, say MIT, would be ok because it preserves the 'spirit' of the BSD license, whereas GPL does not because of its derived works nonsense.


----------



## sidetone (Aug 27, 2020)

I found this...



			BSD Protection License | Software Package Data Exchange (SPDX)
		



> Given that the inclusion of a few lines of "GPL-tainted" work into a larger body of work will result in restricted distribution -- and given that further work will likely build upon the "tainted" portions, making them difficult to remove at a future date -- there are inevitable circumstances where authors would, in order to protect their goal of providing for the widespread usage of their work, wish to guard against such "GPL-taint".



It's from 2002.


----------



## mark_j (Aug 27, 2020)

sidetone said:


> I found this...
> 
> 
> 
> ...


I read it, I read it again and I read it again. I just cannot see where it protects against gpl-isation.
Can you?


----------



## sidetone (Aug 27, 2020)

mark_j said:


> I read it, I read it again and I read it again. I just cannot see where it protects against gpl-isation.
> Can you?



Clause 4 applies to open licenses.


> 4.          Modification and redistribution under open license.


Keeping clear distinction of BSD code from code by other open source licenses.


> clearly indicate the nature and date of any changes made to the Program.


The following, open source code derived with code from this license can't used in a dual manner that restricts access.


> cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License


For instance, when a company duel licenses a code, where they are allowed to absorb others contributions, while they get to keep their contributions out of the opensource licensed code.


----------



## sidetone (May 2, 2022)

I was looking into licenses; Thread mozilla-public-license-2-0-mpl-about.85010 is some look into it.

Apache License 2.0 and Mozilla Public License 2.0 must indicate code licensed by these separate from other licensed code. Forget BSD Clear as it's obsolete and doesn't have patent use rights. Apache License 2.0 and MPL 2.0 allow patent rights, and are heavy enough to back their licenses. MPL 2.0 requires that its license code be kept together in the same file(s). If it's allowed, these would be good licenses to use together, while allowing the code to remain with these respective licenses. These are by definition non-viral licenses, as they only determine use by other code and not what they do with it. MPL 2.0 only requires files of its license to be MPL 2.0. Apache License 2.0 is incompatible with GPL2 and LGPL2.

If you really wanted to stop code from being used with any GPL code, a simple provision can be added, code under this license cannot be used with code (of a viral license) that forces any code not a part of it to be given up to its license (with the exception of multi-licensed code).

I wouldn't need this, I'm good with Apache License 2.0 and MPL 2.0. In fact, I would want to be able to have compatibility with LGPL dependencies, until those are replaced with code that uses a better license. For common dependencies, BSD licenses are good too.


Update: the terms aren't exactly clear to me, however, the author of MPL 2.0 code can choose to opt in or opt out use with (L)GPL code. Previous MPL versions, when updating to MPL 2.0 require authors' permissions to opt in to (L)GPL. Ironically, some of this useful information comes from a project which the topic of this thread is about avoiding main licenses it uses.

In the Mozilla License FAQ, wording on Apache 2.0 and MPL 2.0 use together is unclear, but it appears these two can be used together. Unsure if this has to be about the section pertaining to a larger work, or if they can be used together as is, each keeping their separation of code and of their respective license. Since each of these two licenses don't restrict use of code (including proprietary code) beyond their own boundaries as long as it adheres to the respective licenses, it looks like can be used together, as long as they keep their separations. (L)GPL restricts code beyond its boundaries, so it needs the clause on larger works for MPL 2.0.

For a common dependency, I would rather use a BSD licensed or other type of license that allows me to be compatible with (L)GPL while not have to dual license to it. Apache is compatible with (L)GPL3, but not (L)GPL2. GNU considers Apache License 2.0 a good license, it's that the GPL2 was in existence before Apache 2.0. Then, (L)GPL3 addressed some compatibility concerns with Apache License 2.0. If Apache License allows enough compatibility with (L)GPL3, maybe that, because of its patent protections.

https://www.mozilla.org/en-US/MPL/2.0/FAQ/
https://www.gnu.org/licenses/license-list.html


----------

