[License-discuss] Better Attribution License (Formerly Berkeley-Artistic License)
Lucy Ada Randall
lucybrown at vivaldi.net
Tue Apr 15 03:18:55 UTC 2025
On 2025-04-15 00:15, Josh Berkus wrote:
> On 3/22/25 23:15, Lucy Ada Randall via License-discuss wrote:
>> Standard Version: The project which is the basis for modified
>> versions, also known as upstream.
>> Modified Versions: versions of the source code distributed by the
>> project that have been modified, which can be distributed as
>> executables, downstream.
>
> I'm aware that this language has been used in other licenses. It is
> not an OSD violation in my opinion. However, since this is a new
> license it's worth discussing doing better.
>
> One thing which has always been awkward about this language in those
> licenses is: what happens when someone only wants to use *part* of your
> code? For example, a single file, and not any of the rest of the
> project? What's the Standard Version in that case, and what happens
> when later projects fork and re-re-share that one file? What if the
> file was actually borrowed under the MIT license from another project,
> with the BAL wrapped on top?
>
> Pam discussed this at greater length in one of her comments. While
> you've revised the license to remove a lot of the other issues with it,
> it still does have this fundamental assumption that it's applied to
> software with a single origin point which will never change, and that
> the software will be forked *as a whole* rather than being pieced up.
>
> The goal here is to make sure that there's credit given to the
> "original creator" of the code, correct?
Yes, while the goal is to create and maintain attribution to an original
project, the secondary goal, like with all copyleft licenses, is to
spread the license. How this affects partial code reuse is a reasonable
question, but the answer is “Like the gpl, partial code use converts the
whole project to this license or the snippet of code is sufficiently
simple to not be protectable under copyright.” The partial code would be
a modified version of the project, thus anything relating to a modified
version within the license would automatically apply to the project that
the partial code is used in. This is my understanding of licenses like
this.
I understand your hypothetical scenario is specifically constructed to
break the attribution requirements of this license in particular, but it
immediately demonstrates the lack of consideration for such things in
the Copyleft space. The GPL, for example, has an issue of attribution
with a full code fork of a GPL or permissively licensed project. This
license seeks to fix that at the very least.
In my non-expert, non-lawyer opinion, MIT licensed code used by the BAL
licensed project would still be licensed under the MIT license. Due to
how the MIT license works, licensed files would retain their MIT license
headers and all code within would remain MIT licensed unless
sufficiently delineated. That would remain the case until the files are
or the substantial amount of MIT licensed code is replaced. It is up to
individual projects as to how code licensed under other licenses are
attributed to their respective developers, outside of them needing to be
attributed to them at all, and it likewise falls on their shoulders as
to how they should handle such code, but it has been taken as standard
by myself that the above mentioned protocol is to be used in similar
instances where differently licensed projects use MIT licensed files or
code.
A file under the MIT license should not be a vector for “license
infection” via its sublicense but despite my opinion on if it should, it
legally would be if it can be proven that it has been significantly
altered by a project under a stronger copyleft license. This is a
side-effect of how these licenses work, and it isn’t a surprise that
some assume that partial code use exempts them from following the terms
of the license, which isn’t even close to the case. In addition, I agree
that this might not have to be explained in as much detail if the
license itself explicitly states partial code use requires that the
license of the project which uses parts of the standard version must be
converted to the BAL, I’ll revise the definitions of the license to
incorporate mentions of partial code.
How’s this? I also removed the mention of being distributable as an
executable which I think should not apply.
Standard Version: The project which is the basis for modified versions,
also known as upstream.
Modified Versions: Partial or whole versions of the source code
distributed by the project that have been modified, downstream.
More information about the License-discuss
mailing list