-
-
Notifications
You must be signed in to change notification settings - Fork 651
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
Update and simplify COPYING.txt #16830
Update and simplify COPYING.txt #16830
Conversation
See test results for failed build of commit ff77b7b78a |
Need to use appveyor to join auto-gen dependency markdown to copying.txt then convert markdown to html |
@gerald-hartig - could you also apply this diff: diff --git a/pyproject.toml b/pyproject.toml
index 1e37e7fbc..ebf6a4e42 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -61,24 +61,8 @@ logger-objects = ["logHandler.log"]
[tool.licensecheck]
using = "requirements:requirements.txt"
-only_licenses = ["BSD", "MIT", "Python", "LGPLV3+"]
+only_licenses = ["BSD", "MIT", "Python", "LGPLV3+", "Apache"]
ignore_packages = [
- # Incompatible Apache licenses.
- # These are current license violations and are bundled with NVDA.
- "fast-diff-match-patch", # See also #16633
- "requests",
-
- # Incompatible Apache licenses.
- # Bundled with a dependency, but not bundled with NVDA.
- "importlib-metadata",
- "opencv-python",
-
- # Incompatible Apache licenses.
- # System testing frameworks, not bundled with NVDA.
- "robotframework",
- "robotframework-screencaplibrary",
- "robotremoteserver",
-
# Compatible licenses:
"certifi", # Mozilla Public License 2.0
"markdown-link-attr-modifier", # GPLV3 license, but not in PyPI correctly |
See test results for failed build of commit 86fcf9d3b7 |
Could you also migrate this wiki page into the repo? I think it would be good to update our copyright header template and commit it somewhere in |
Sean I've made the move you suggested. The PR is ready for review. What to do with the original wiki file? Delete it? Or do we have an archive location to move it to? |
WalkthroughThe changes involve updates to licensing terms in the Changes
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media? TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
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.
Actionable comments posted: 0
Outside diff range, codebase verification and nitpick comments (4)
projectDocs/dev/copyrightHeaders.md (2)
1-15
: LGTM! Clear instructions for GPL copyright headers.The content provides clear guidelines for using copyright headers in GPL-licensed NVDA files. The header template and instructions for replacing placeholders are well-explained.
Consider applying this minor grammatical fix to improve clarity:
Tools
LanguageTool
[uncategorized] ~13-~13: Possible missing comma found.
Context: ...when the file was last updated. For new files this can be missing. E.g. a file create...(AI_HYDRA_LEO_MISSING_COMMA)
25-26
: Improve clarity of the final paragraph.The information about handling older copyright notices is valuable. However, the sentence structure could be improved for better clarity.
Consider rephrasing the paragraph as follows:
This rephrasing maintains the one-sentence-per-line style while improving clarity and readability.
pyproject.toml (1)
5-21
: LGTM! Comprehensive project metadata added.The new [project] section provides essential information about NVDA, which is crucial for package management and distribution. The metadata is well-structured and informative.
Consider adding a
version
field to the [project] section. This is typically a required field for Python projects and helps track the current version of the package. You can use a placeholder or dynamically generate it during the build process if needed.copying.txt (1)
293-298
: Updated GPL version and clarified plugin/driver licensingThe changes in this section are important:
- The update to "GNU General Public License version 2 or later" for plugins and drivers ensures consistency with the main NVDA license.
- The clarification about the use of components under other licenses in plugins/drivers is valuable for developers.
However, there's a minor issue in the formatting:
Consider removing the semicolon after "or later" on line 295 for better readability:
-a) Any such component does not prevent the NVDA plugin or driver from being licensed under the terms of the GNU General Public License version 2 or later; and +a) Any such component does not prevent the NVDA plugin or driver from being licensed under the terms of the GNU General Public License version 2 or later, andTools
LanguageTool
[typographical] ~295-~295: Conjunctions like ‘and’ should not follow semicolons. Consider using a comma, or removing the conjunction.
Context: ...eneral Public License version 2 or later; and b) Any such component does not directly u...(CONJUNCTION_AFTER_SEMICOLON)
[style] ~296-~296: This phrase is redundant. Consider using “outside”.
Context: ...ot directly used by any portion of NVDA outside of that plugin or driver. For example, a s...(OUTSIDE_OF)
[uncategorized] ~297-~297: Do not mix variants of the same word (‘synthesiser’ and ‘synthesizer’) within a single text.
Context: ...ech synthesizer driver may use a speech synthesiser under a proprietary license. In contras...(EN_WORD_COHERENCY)
Thanks @gerald-hartig - with the wiki page, I would just update the link to point to the new file. Please also remove the page from the wiki index and sidebar: See the page history on these for examples |
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 have concerns about saying NVDA uses a modified license in copying.txt and according to the initial comment of this PR, but then saying in all of the file headers that the individual files use pure GPL V2 and providing a link thereto. I don't think you can legally have it both ways.
I am not a lawyer, and I don't play one on the internet, but I suspect that the file license supersedes the copying.txt file, if they differ.
See test results for failed build of commit a03faeba5a |
You may need to re-exclude some items from the licenseCheck - it seems to be failing. I think some don't have proper license metadata so they need to be manually excluded, perhaps under "compatible licenses" |
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
See test results for failed build of commit 6edaa6b0d6 |
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
See test results for failed build of commit ea8aaaa518 |
See test results for failed build of commit 39ef37d0e9 |
@gerald-hartig it looks like most of the license check failures are because it's detecting Apache 2 licensed projects as being Apache 1 licensed, and Apache 1 is GPL2+ incompatible, but Apache 2 is GPL2+ compatible. |
@seanbudd it does appear that the license check is making mistakes. For example:
But if you go to the github page, the license is MIT, which as far as I'm aware can be used in a GPL 2-or-later project. https://github.com/opencv/opencv-python/blob/4.x/LICENSE.txt |
Co-authored-by: Luke Davis <8139760+XLTechie@users.noreply.github.com>
See test results for failed build of commit 9bb9b86687 |
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
Co-authored-by: Sean Budd <seanbudd123@gmail.com>
See test results for failed build of commit 93245c94ac |
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.
Thanks @gerald-hartig
Changing from GPL V2 to GPL V2 or later fundamentally changes the license. Sources: https://en.wikipedia.org/wiki/Software_relicensing https://opensource.guide/legal/ https://dolphin-emu.org/blog/2015/05/25/relicensing-dolphin/ This wasn't mensioned anywhere in this PR. How is this being handled? |
@tspivey We'll be reaching out to the contributor community shortly about this change. |
Link to issue number:
n/a
Summary of the issue:
This PR proposes changes to the COPYING.txt file for NVDA to streamline our licensing information and ensure clarity regarding the use of GPL-2.
Key changes:
5. [WIP] Update appveyor to append licenseCheck dependency output onto copying.txtRationale:
The current COPYING.txt file includes licenses for various dependencies shipped with NVDA. This approach has been inconsistent, with some dependency licenses included and others omitted. The proposed changes aim to lay the groundwork for a more consistent and manageable licensing document.
Note to reviewers:
We understand that changes to licensing documentation can be significant. We've approached this update with careful consideration for our community and users. We welcome your feedback to ensure this change meets the needs of all stakeholders while maintaining legal compliance and transparency.
Description of user facing changes
Deletion of large sections of copying.txt. Clarification of GPL-2 or later.
Description of development approach
n/a
Testing strategy:
n/a
Known issues with pull request:
n/a
Code Review Checklist:
Summary by CodeRabbit
New Features
Documentation