-
Notifications
You must be signed in to change notification settings - Fork 144
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
Changing open-source license to Apache 2.0 #111
Comments
Quick update: This has been moved to Monday, February 1st. |
License has now been changed to Apache 2.0! This issue will remain pinned for a while to let people know and to answer questions. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Hi all,
I'm happy to announce that hopefully this Friday, we'll be changing GVDB's license from 3-clause BSD to Apache 2.0 (which is also open-source and can be used for commercial applications), making it easier for GVDB to accept pull requests (such as #104).
This is because when we accept a pull request, we need to know that we have permission to use the code as part of GVDB (e.g. that it doesn't include code from a place we don't have permission, and that it doesn't infringe patents).
Previously, this would require signing NVIDIA's Contributor License Agreement or another method, which has historically made accepting pull requests a bit awkward.
With Apache 2, though, we can use the Linux Foundation's Developer Certificate of Origin (https://developercertificate.org/), which is built into Git (more information below!), and is generally considered to be easier to use.
As a result, we'll be able to accept more pull requests faster, and more people will be able to appear as contributors to GVDB on GitHub.
Licensing Changes
(Please note that this does not constitute legal advice.)
Apache 2 is an open-source, non-viral license like 3-clause BSD. If you're using GVDB with BSD-3 on GitHub (which lists changes), you should also be able to use it with Apache 2.
The main difference is that section 4(b) of Apache 2 requires modified files to include notices that they were changed. To help forks manage this change if they'd like to merge from the most recent versions of
NVIDIA/gvdb
, I'll be adding a license header to the top of each of GVDB's source files. After merging, runninggit log -m --name-only
should list all the files that were merged; or,git diff SHA1 SHA2
will list all the changes as well. This should make it easier for fork maintainers to determine which files changed in the fork.(If you have a fork of GVDB but don't plan on merging with any versions after the change to Apache 2, you don't need to do anything, since the fork still uses the BSD-3 version.)
Making a Pull Request with Apache 2
I'll be adding some systems and instructions that help with the following, so more information below!
To sign off on a commit (saying that it meets the Developer Certificate of Origin), add the
--signoff
flag, e.g.git commit -m "Test commit" --signoff
This will add a line to the commit like this:
Signed-off-by: Contributor Name <email>
To sign off on the previous commit, use
git commit --amend --signoff
Or, to sign off on the previous N commits, use
git rebase HEAD~N --signoff
followed bygit push --force-with-lease
.To make this easier to use, I'll hopefully be adding a bot that will check pull requests to see if they've been signed off, and will include the command line to sign off on commits.
I'll also make it so that pull requests automatically include instructions for signing off on commits - but you can create a pull request without doing so, and then the DCO bot will let you know what you need to do.
Updated License Text
The new license text will be:
Thanks -- hopefully this will make contributing to and modifying GVDB a bit easier and faster! Please let me know if you have any questions.
The text was updated successfully, but these errors were encountered: