Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New license request: BSD-Source-Code-Justin-Gibbs #2233

Closed
richardfontana opened this issue Oct 28, 2023 · 6 comments · Fixed by #2329
Closed

New license request: BSD-Source-Code-Justin-Gibbs #2233

richardfontana opened this issue Oct 28, 2023 · 6 comments · Fixed by #2329

Comments

@richardfontana
Copy link
Contributor

richardfontana commented Oct 28, 2023

How license meets inclusion principles

This is similar to BSD-Source-Code but adds some problematic language ("immediately at the beginning of the file") to clause 1 reminiscent of libutil-David-Nugent. It seems to have originated in FreeBSD but has propagated to a number of other projects. For example, it occurs in the Linux kernel (though sadly it may have been replaced with an incorrect SPDX-License-Identifier by now) and in the Linux userspace package acl.

License Name

BSD Source Code Attribution Justin Gibbs Variant

Suggested short identifier

BSD-Source-Code-Justin-Gibbs

License or Exception?

license

URL to license text

https://github.com/lattera/freebsd/blob/master/sys/cam/cam.c

OSI Status

Not submitted

License author or steward

Unknown

URL to project(s) that use license

https://kernel.org
https://savannah.nongnu.org/projects/acl/

paste text of license here

* Copyright (c) 1997 Justin T. Gibbs.
 * 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,
 *    without modification, immediately at the beginning of the file.
 * 2. The name of the author may not be used to endorse or promote products
 *    derived from this software without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR 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 AUTHOR 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.
@richardfontana richardfontana changed the title New license request: New license request: BSD-Source-Code-Justin-Gibbs Oct 28, 2023
@richardfontana
Copy link
Contributor Author

Note: there is no Fedora License Data issue for this license at this time.

@jlovejoy jlovejoy added this to the 3.23 milestone Nov 9, 2023
@jlovejoy
Copy link
Member

jlovejoy commented Nov 9, 2023

@bsdimp - do you have any thoughts on this one as it seems to come from FreeBSD??

@bsdimp
Copy link
Collaborator

bsdimp commented Nov 9, 2023

tl;dr: I'm fine, but would prefer a differnet name.

tl:

This is similar, or substantially the same, as one that we talked about last summer. This is the origin of the 'immediately at the front of the file' text that has crept into other licenses. There's maybe 168 of these in the FreeBSD kernel and another 120 in FreeBSD's user space. Though I admit that I grepped only for this particular clause. This is the source of the libutil-David-Nugent by way of a couple other levels of indirection in FreeBSD before it got out.

Having spoken to Justin about this very issue around the time we did the Nugent license, the intent of the word 'immediate' was that it's at the start of the file before code and includes which is the traditional place for such notices in BSD starting around 4.3BSD-TAHOE. Someone stole (in his view) code of his and moved his copyright notice to the end of the file to try to obscure the origin of the code while being technically complaint. Such behavior was sadly common in the early 90s, but has since all but disappeared at least from the FreeBSD and its known downstreams part of the world. FreeBSD has plans to remove or eliminate this license, but curating the tree of ~100k files is difficult and time-consuming, especially for a volunteer organization. See below for why we may not get below 50 instances after the cleanup, though I'll be committing changes to the 7 that I somehow copied later today...

I'd be tempted to use BSD-2-Clause-at-beginning for this instead. There's 20-30 copyright holders (including Nugent) in the tree, some of whom are deceased, non-contactable, hostile-to-contact or defunct companies. While this appears to have originated with gibs and copying of one of his drivers, it has clearly spread beyond that. I'd go with '2-clause' because I think there's some variations that have 3 or 4 clauses in the wild that my quick grep of the tree didn't find.

@jlovejoy
Copy link
Member

thanks @bsdimp ! (And sorry I didn't see this sooner) so I think we can consider this approved to add, but need to finalize the name and id:
I disagree as to using BSD-2-Clause-<something> because the second clause is not like the actual BSD-2-Clause. But the two clauses are mostly the same as BSD-Source-Code

So maybe... BSD-Source-Code-at-beginning or BSD-Source-beginning-file or is there something shorter/better than "at beginning" or "beginning file"?
I take it this is not specific to a specific project or collection of code?

@bsdimp
Copy link
Collaborator

bsdimp commented Dec 20, 2023

Yea.. still don't like the bsd-source prefix...

But it is similar to the bsd license... maybe BSD-var- prefix?

BSD-var-at-start-no-endorce?

Since I've noticed lots of weird variations and we will want to have a sane scheme in place... this nonsense lasted only a couple of years... but was sadly blindly copied...

BSD-var-bill-paul-voices comes to mind...

@jlovejoy
Copy link
Member

jlovejoy commented Jan 10, 2024

License Inclusion Decision

Decision:

  • approved
  • not approved

Name

BSD Source Code Attribution - beginning of file variant

License ID

BSD-Source-beginning file

XML markup

Notes:

This license is mostly the same as BSD-Source-Code but adds includes a specific requirement requiring retention of the copyright notice "immediately at the beginning of the file".

Next steps

If the license has been accepted, please follow the accepted-license process to create the PR.

xsuchy added a commit to xsuchy/license-list-XML that referenced this issue Jan 14, 2024
I kept there the <alt> variations from original BSD-Source-Code and slightly altered it to the actual example in the submission.
Fixes: spdx#2233

Signed-off-by: Miroslav Suchý <msuchy@redhat.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants