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
Add licenses #48638
Add licenses #48638
Conversation
febc4b5
to
a9c0dc9
Compare
a9c0dc9
to
2582519
Compare
2582519
to
eeb177a
Compare
eeb177a
to
1d902ca
Compare
description = "iODBC driver manager"; | ||
homepage = http://www.iodbc.org; | ||
platforms = stdenv.lib.platforms.unix; | ||
platforms = platforms.unix; | ||
license = licenses.bsd3; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
license = licenses.bsd3; | |
license = with licenses; [ bsd3 lgpl2 ]; |
The iODBC driver manager is provided dual-licensed under the terms of both the Library GNU Public License Version 2, dated June 1991, or the New BSD license, at your choice.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
BSD is the more flexible license. Do we need both for the dual license case?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No we don't need it per se but the fact that we have a list for meta.license
allows us to expose both to Nix/NixOS users and let them choose which one suits their requirements.
And I think this is what might be intended upstream with a dual licensing.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The meaning of a list of licenses is not clearly defined. One could interpret it as dual licensing ("pick one") or the collection different licenses used within the package ("all apply", what it means in the majority of cases). To make it even more complicated: a lot of libraries come with a set tools and the library has for example a LGPL license and the tools have a GPL license.
There is no way of telling what the list means just by looking at meta.license
alone.
The reason why I picked one was an earlier discussion with a similar dual licensing constellation: #45282 (comment)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah thanks for the link to the previous discussion.
Indeed the interpretation of the meta.licenses list remains vague. Is it OR, AND, something else?
Myself I read it as "here is all the licenses that applies to parts or totality of this project".
Then it's up to the user to dig deeper if he needs/wants to.
But just like joachifm in the previous PR, I was just raising a question but I'm fine either way. There is no definitive good/bad policy there. :)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't have a strong opinion on this topic but I would tend to stay with picking the more flexible license for the sake of simplicity.
Motivation for this change
Another round for #43716
Things done
sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)nix path-info -S
before and after)