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

Formulae missing license stanza #58225

Closed
SeekingMeaning opened this issue Jul 19, 2020 · 51 comments
Closed

Formulae missing license stanza #58225

SeekingMeaning opened this issue Jul 19, 2020 · 51 comments
Labels
good first issue A good candidate for your first contribution to Homebrew/homebrew-core help wanted Task(s) needing PRs from the community or maintainers in progress Stale bot should stay away license License PRs outdated PR was locked due to age

Comments

@SeekingMeaning
Copy link
Contributor

SeekingMeaning commented Jul 19, 2020

See https://github.com/SeekerTestBot/license-checklist/blob/master/all.md

Valid license list: https://spdx.org/licenses/

@SeekingMeaning SeekingMeaning added the help wanted Task(s) needing PRs from the community or maintainers label Jul 19, 2020
@SeekingMeaning SeekingMeaning changed the title Formulae missing license stanza Formulae missing license stanza Jul 19, 2020
@Rylan12 Rylan12 added the good first issue A good candidate for your first contribution to Homebrew/homebrew-core label Jul 19, 2020
@SeekingMeaning
Copy link
Contributor Author

SeekingMeaning commented Jul 19, 2020

@miccal
Copy link
Member

miccal commented Jul 21, 2020

Would anyone know what licence code to use for the sqlite family of formula:

All of the code and documentation in SQLite has been dedicated to the public domain by the authors.

@gromgit
Copy link
Member

gromgit commented Jul 21, 2020

SPDX says blessing.

@miccal
Copy link
Member

miccal commented Jul 21, 2020

Thank you @gromgit -- I should have searched for the word sqlite on that list :)

@SMillerDev
Copy link
Member

@SeekingMeaning could you remove the formula that doesn't have a valid license and disable the one that doesn't have any license?

This was referenced Jul 22, 2020
@miccal
Copy link
Member

miccal commented Jul 22, 2020

Please see the PR #58414 for an example of how to handle formula with multiple licenses.

@miccal
Copy link
Member

miccal commented Jul 22, 2020

I have 97 formula installed on my machine, and I figured that the best place to start helping with this issue was to add a license stanza to each of my installed formula.

Of the 97 formula I have installed, 93 of them now have a license stanza, leaving just 4 without. These are:

For docbook, I have no idea.

For gd their licence is here, but I am not sure what to call it.

For popt their license is here -- could this be RHeCos-1.1?

For qt their license is detailed here, but I am not sure what to call it.

@jonchang
Copy link
Contributor

jonchang commented Jul 23, 2020

Pretty sure qt is LGPL3: https://doc.qt.io/qt-5/opensourcelicense.html

popt looks like MIT with an advertising clause.

gd... looks like a weird MIT but it's hard to say.

This was referenced Jul 23, 2020
@gromgit
Copy link
Member

gromgit commented Jul 23, 2020

popt is X11, though Erik Troan forgot to change the reference to "X Consortium" in the final paragraph.

docbook seems to sport a custom license from OASIS. gd's license is also a custom job.

@jonchang
Copy link
Contributor

Let's cheat and just look at what Debian says: https://salsa.debian.org/debian/docbook5-xml/-/raw/master/debian/copyright

I believe our docbook formula only includes the DTD and schemas, so it's the much shorter DTD license instead of the long specification license.

@gromgit
Copy link
Member

gromgit commented Jul 23, 2020

The DocBook DTD/schema license looks like a condensed MIT, though I'm not sure it's legally equivalent.

I guess it boils down to the purpose of this whole licensing issue (apologies if I missed any previous discussion). If it's simply to record software licenses in a form that can be looked up on SPDX, then "MIT" is probably the closest match.

@MikeMcQuaid
Copy link
Member

Pretty sure qt is LGPL3: https://doc.qt.io/qt-5/opensourcelicense.html

Qt has multiple licenses: LGPLv3 for some bits, GPLv3 for others and all available under commercial licenses.

@miccal
Copy link
Member

miccal commented Jul 23, 2020

So in summary:

  • docbook --> license "MIT"

  • gd --> license "MIT"

  • popt --> license "X11"

  • qt --> license "LGPL-3.0" with a comment # license ["LGPL-3.0", "GPL-3.0"] - pending https://github.com/Homebrew/brew/pull/7953

Thoughts?

@SMillerDev
Copy link
Member

By "omit" I should have said "partially omit". As in where there's multiple licenses we are just providing one and saying it's "good enough" for now. I don't think it's good enough.

I think that comes from a decision I made to allow this in a new formula. I completely agree with this statement, but I don't think we should be blocking normal core operations until we have a complete license implementation. Allowing new formula to do this so they don't have to wait 👍, adding it to existing formula 👎 .

@Rylan12
Copy link
Member

Rylan12 commented Aug 6, 2020

I think that comes from a decision I made to allow this in a new formula. I completely agree with this statement, but I don't think we should be blocking normal core operations until we have a complete license implementation. Allowing new formula to do this so they don't have to wait 👍, adding it to existing formula 👎 .

So to clarify, this is just talking about the large batch PRs? I interpreted this to main we should just put a hold on any license stuff for now but based on #59231 and #59232 it sounds like we want to move forward with adding licenses for individual formulae as they are updated normally.

Either way, it sounds like this is the list of what we're currently missing:

  • Dual license support (will be enabled in the next release)
  • Public domain support (technically works but will be enabled for real in the next release)
  • AND/OR/WITH support to clarify the difference between dual licenses, multiple different licenses and exceptions

I think it's probably fine to move ahead with individual license PRs that don't fall into any of the above categories and wouldn't have any incorrect or misleading information.

@SMillerDev
Copy link
Member

So to clarify, this is just talking about the large batch PRs?

It is/was just a statement on making comments when multiple licenses apply.


If people want to add a license to a formula and that is possible using the current state of the DSL I'm all for it. I don't think we should be batch adding licenses unless we're really sure though.

@chenrui333
Copy link
Member

wireshark license seems little bit complicated too, #59603 (comment)

@waldyrious
Copy link
Contributor

Any thoughts about what to do with the rmtrash license? I downloaded the source code but the only references to copyright are these two lines in the manpage:

Copyright \(co 2003 Night Productions.
.br
This is free software.  There is NO warranty; not even for merchantability or fitness for a particular purpose.

@SMillerDev
Copy link
Member

If it's not a valid license it needs to be removed from homebrew.

@sjackman
Copy link
Member

sjackman commented Aug 20, 2020

This is free software.

Contact the upstream author to ask what the license is. Their e-mail address is directly above the copyright statement. If we haven't heard from the upstream author in say thirty days, remove the formula.

@sjackman
Copy link
Member

sjackman commented Aug 20, 2020

The same author's other tool timeLoop is OSL-2.0. https://spdx.org/licenses/OSL-2.0.html
http://www.nightproductions.net/cli.htm

@waldyrious
Copy link
Contributor

I've just messaged the author, using the email address in the manpage and the one listed in the contact page. I'll keep you posted about any response.

@Rylan12
Copy link
Member

Rylan12 commented Aug 21, 2020

Homebrew/brew#8260 has been merged which means that we have some new license syntax options available. Here's a brief summary, because there have been some changes since the most recent update in this issue.

Note that this functionality has been added, but will not be able to be used in homebrew-core formulae until a new version of Homebrew has been released.


Single licenses can be specified in the same way

license "MIT"

Use a symbol for the public domain

license :public_domain

Add a + to indicate that the user can choose a later version of the same license (this doesn't apply to GNU licenses like GPL, LGPL, AGPL and GFDL which require either -only or -or-later)

license "EPL-1.0+"

Use :any_of to indicate that the user can choose which license applies

license any_of: ["MIT", "0BSD"]

Use :all_of to indicate that the user must comply with multiple licenses

license all_of: ["MIT", "0BSD"]

Use :with to indicate a license exception

license "MIT" => { with: "LLVM-exception" }

You can nest these expressions as needed

license any_of: [
  "MIT",
  all_of: ["0BSD", "Zlib", "Artistic-1.0+"],
  "Apache-2.0" => { with: "LLVM-exception" },
]

@gromgit
Copy link
Member

gromgit commented Aug 21, 2020

Thanks much, @Rylan12! Since it's quite a substantive list, perhaps all these details can be put in a separate page and linked from https://docs.brew.sh/Formula-Cookbook#fill-in-the-license?

@Rylan12
Copy link
Member

Rylan12 commented Aug 21, 2020

Good idea! There's a minimal explanation here but we should definitely add it to the formula cookbook as well. I'll open a PR sometime today or tomorrow when I have some time.

@SeekingMeaning
Copy link
Contributor Author

These formulae should be updated:

% grep -R 'license \[' .
./Formula/transmission-cli.rb:  # license ["GPL-2.0", "GPL-3.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/libnice.rb:  # license ["LGPL-2.1", "MPL-1.1"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/ttf2eot.rb:  # license ["LGPL-2.0", "BSD-*"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/rainbarf.rb:  # license ["Artistic-1.0", "GPL-1.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/libiodbc.rb:  # license ["BSD-3-Clause", "LGPL-2.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/ipfs.rb:  # license ["Apache-2.0", "MIT"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/mongoose.rb:  # license ["GPL-2.0", "Cesanta"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/libical.rb:  # license ["LGPL-2.1", "MPL-2.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/pkcs11-helper.rb:  # license ["BSD-3-Clause", "GPL-2.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/nettle.rb:  # license ["GPL-2.0", "GPL-3.0", "LGPL-3.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/log4cplus.rb:  # license ["Apache-2.0", "BSD-2-Clause"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/hypre.rb:  # license ["MIT", "Apache-2.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/peg-markdown.rb:  # license ["GPL-2.0", "MIT"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/libfreenect.rb:  # license ["Apache-2.0", "GPL-2.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/plenv.rb:  # license ["Artistic-1.0", "GPL-1.0"] - pending https://github.com/Homebrew/brew/pull/7953
./Formula/osquery.rb:  # license ["Apache-2.0", "GPL-2.0-only"] - pending https://github.com/Homebrew/brew/pull/7953

@fxcoudert
Copy link
Member

Seeing as the tracking issue is not really used, I'm closing it.

@carlocab carlocab mentioned this issue Dec 18, 2020
@BrewTestBot BrewTestBot added the outdated PR was locked due to age label Dec 25, 2020
@Homebrew Homebrew locked as resolved and limited conversation to collaborators Dec 25, 2020
@chenrui333 chenrui333 added the license License PRs label Feb 6, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
good first issue A good candidate for your first contribution to Homebrew/homebrew-core help wanted Task(s) needing PRs from the community or maintainers in progress Stale bot should stay away license License PRs outdated PR was locked due to age
Projects
None yet
Development

No branches or pull requests