[License-discuss] Better Attribution License (Formerly Berkeley-Artistic License)

retweet.insular.0d at icloud.com retweet.insular.0d at icloud.com
Tue Jul 1 08:37:50 UTC 2025


On 2025-04-15 03:18, Lucy Ada Randall via License-discuss wrote:
> 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.
> 
> _______________________________________________
> The opinions expressed in this email are those of the sender and not 
> necessarily those of the Open Source Initiative. Official statements by 
> the Open Source Initiative will be sent from an opensource.org email 
> address.
> 
> License-discuss mailing list
> License-discuss at lists.opensource.org
> http://lists.opensource.org/mailman/listinfo/license-discuss_lists.opensource.org

I'm returning here to request comment on my new revision of the license, 
this is a full revision with extreme alterations mostly to make my brain 
happy with it and to both address the complaints and display the two 
optional sub-paragraphs. I will submit all valid versions of this 
license individually for approval.

Full Text Below:
The Better Attribution License
I: Metadata: Please see the Metadata file for up-to-date metadata for 
this project. This is only the initial metadata as of the introduction 
of this license.
Project:(project name here)
Project Developer:(developer or team name here)
Contributors: (list of contributors and contributions, [ie. name - 
contribution, contribution, contribution], separated by semicolons, if 
applicable.)

II: Definitions
Standard Version refers to the project which is the basis for modified 
versions, also known as upstream.

Modified Versions refer to partial or whole versions of the source code 
distributed by the project that have been modified, downstream.

The Software refers to the project, which is a collection of files 
distributed by the Project Developer, the "Standard Version", and 
derivatives of that collection of files created through modification of 
the source code, the "Modified Version".

Undue hassle, as mentioned in this license, means requirements to 
receive the source code that restricts the receipt of said source code 
behind acts which may prevent users from requesting it, or providing it 
in a form which prevents easy usage of it. Examples of this include, but 
are not limited to: requiring a phone call to be made when a letter of 
request is sent; requiring a letter to be sent when a phone call is 
made; sending the source code in the form of a book; or sending it in a 
proprietary media format which the user would not be able to access.

III: License Terms
1. You may make and give away verbatim copies of the source form of the 
Standard Version of this Software without restriction, provided that you 
duplicate all of the original copyright notices, this license (including 
the Metadata file), and associated disclaimers.

2. You may apply bug fixes, portability fixes and other modifications 
from the Project Developer or other developers (including yourself) to 
enable this software to work with modern tools, new hardware, new 
operating systems, etc. You may distribute software modified in such a 
way as the Standard Version, so long as you provide the source code of 
that modified software free of charge and without undue hassle to 
purchasers or receivers of said Standard Version under the terms of this 
license.

3. You may distribute this Software, with or without fee, provided that 
you do not advertise the Standard Version of this Software as a product 
of your own.

4. You may redistribute the Standard Version, so long as you provide the 
source code of any binary free of charge and without undue hassle to 
purchasers or receivers of said Standard Version under the terms of this 
license.

5. You may choose to add your name to the contributors list within the 
metadata file, to allow the Project Developer to credit you for your 
modifications in the Standard Version of the Software.

6. Each contributor to The Software hereby grants to you a perpetual, 
worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except 
as stated in this paragraph) patent license to make, have made, use, 
offer to sell, sell, import, and otherwise transfer The Software, where 
such license applies only to those patent claims licensable by the 
contributor that are necessarily infringed by their contribution(s) 
alone or by combination of their contribution(s) with The Software to 
which such contribution(s) was submitted. If you institute patent 
litigation (including a cross-claim or counterclaim in a lawsuit) 
against any party alleging that The Software or a contribution 
incorporated within The Software constitutes direct or contributory 
patent infringement, then any patent licenses granted to you under this 
License for that Software shall terminate as of the date such litigation 
is filed.

7. You may otherwise modify your copy of this Software in any way, 
including adding features and self-perceived optimizations of the source 
code, provided that your Modified Version uses this license as modified 
by sub-paragraph 6a (this modified license). Any copy of the Software 
that you modify and distribute, (The Modified Version), in full or 
partial source or binary form, must remain under this modified license. 
You may distribute the Modified Version, so long as you provide the 
source code of any binary free of charge and without undue hassle to 
purchasers or receivers of said Modified Version under the terms of this 
modified license and you must include clear instructions for obtaining 
the source of the standard version. This may be altered by any of the 
sub-paragraphs included below.
  7a. You must modify your license to change the project and project 
developer. Label your Modified Version as the project, and moving any 
prior project developer to be the primary Contributor.
  7b. (Permissive Option): If this sub-paragraph is included, any 
Modified Version may be used, copied, modified, merged, published, 
distributed, sub-licensed, and/or sold under any terms you choose, 
provided that you include the original copyright and attribution 
notices, and keep an up-to-date metadata file with all copies or 
substantial portions of the Modified Version.
  7b. (Network Use Source Requirement Option):  If this sub-paragraph is 
included, if you modify the Software and operate that Modified Version 
to provide any functionality, service, or feature accessible over a 
network (including, but not limited to, hosting, software-as-a-service, 
or web applications), you must make the complete corresponding source 
code of your modified version (including any modifications, scripts, or 
interface code necessary to operate the service) available, free of 
charge, to all users of the service. This source code must be provided 
under the modified license of the modified version, and must include 
clear instructions for obtaining the source of the standard version.

8. Neither the name of the project nor the name, username, handle, etc, 
of the project developer or contributors may be used to endorse or 
promote products derived from this software without specific prior 
written permission.

9. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES 
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE 
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY 
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER 
IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING 
OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE
-------------- next part --------------
The Better Attribution License
I: Metadata: Please see the Metadata file for up-to-date metadata for this project. This is only the initial metadata as of the introduction of this license.
Project:(project name here)
Project Developer:(developer or team name here)
Contributors: (list of contributors and contributions, [ie. name - contribution, contribution, contribution], separated by semicolons, if applicable.)

II: Definitions
Standard Version refers to the project which is the basis for modified versions, also known as upstream.

Modified Versions refer to partial or whole versions of the source code distributed by the project that have been modified, downstream.

The Software refers to the project, which is a collection of files distributed by the Project Developer, the "Standard Version", and derivatives of that collection of files created through modification of the source code, the "Modified Version".

Undue hassle, as mentioned in this license, means requirements to receive the source code that restricts the receipt of said source code behind acts which may prevent users from requesting it, or providing it in a form which prevents easy usage of it. Examples of this include, but are not limited to: requiring a phone call to be made when a letter of request is sent; requiring a letter to be sent when a phone call is made; sending the source code in the form of a book; or sending it in a proprietary media format which the user would not be able to access.

III: License Terms
1. You may make and give away verbatim copies of the source form of the Standard Version of this Software without restriction, provided that you duplicate all of the original copyright notices, this license (including the Metadata file), and associated disclaimers.

2. You may apply bug fixes, portability fixes and other modifications from the Project Developer or other developers (including yourself) to enable this software to work with modern tools, new hardware, new operating systems, etc. You may distribute software modified in such a way as the Standard Version, so long as you provide the source code of that modified software free of charge and without undue hassle to purchasers or receivers of said Standard Version under the terms of this license.

3. You may distribute this Software, with or without fee, provided that you do not advertise the Standard Version of this Software as a product of your own.

4. You may redistribute the Standard Version, so long as you provide the source code of any binary free of charge and without undue hassle to purchasers or receivers of said Standard Version under the terms of this license.

5. You may choose to add your name to the contributors list within the metadata file, to allow the Project Developer to credit you for your modifications in the Standard Version of the Software.

6. Each contributor to The Software hereby grants to you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this paragraph) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer The Software, where such license applies only to those patent claims licensable by the contributor that are necessarily infringed by their contribution(s) alone or by combination of their contribution(s) with The Software to which such contribution(s) was submitted. If you institute patent litigation (including a cross-claim or counterclaim in a lawsuit) against any party alleging that The Software or a contribution incorporated within The Software constitutes direct or contributory patent infringement, then any patent licenses granted to you under this License for that Software shall terminate as of the date such litigation is filed.

7. You may otherwise modify your copy of this Software in any way, including adding features and self-perceived optimizations of the source code, provided that your Modified Version uses this license as modified by sub-paragraph 6a (this modified license). Any copy of the Software that you modify and distribute, (The Modified Version), in full or partial source or binary form, must remain under this modified license. You may distribute the Modified Version, so long as you provide the source code of any binary free of charge and without undue hassle to purchasers or receivers of said Modified Version under the terms of this modified license and you must include clear instructions for obtaining the source of the standard version. This may be altered by any of the sub-paragraphs included below.
 7a. You must modify your license to change the project and project developer. Label your Modified Version as the project, and moving any prior project developer to be the primary Contributor.
 7b. (Permissive Option): If this sub-paragraph is included, any Modified Version may be used, copied, modified, merged, published, distributed, sub-licensed, and/or sold under any terms you choose, provided that you include the original copyright and attribution notices, and keep an up-to-date metadata file with all copies or substantial portions of the Modified Version.
 7b. (Network Use Source Requirement Option):  If this sub-paragraph is included, if you modify the Software and operate that Modified Version to provide any functionality, service, or feature accessible over a network (including, but not limited to, hosting, software-as-a-service, or web applications), you must make the complete corresponding source code of your modified version (including any modifications, scripts, or interface code necessary to operate the service) available, free of charge, to all users of the service. This source code must be provided under the modified license of the modified version, and must include clear instructions for obtaining the source of the standard version.

8. Neither the name of the project nor the name, username, handle, etc, of the project developer or contributors may be used to endorse or promote products derived from this software without specific prior written permission.

9. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE


More information about the License-discuss mailing list