Public DMCA Notice
The notice has since been published in GitHub's public DMCA archive, which stores takedown notices submitted to GitHub.
The DMCA notice was submitted by the owner of the Recol/DLSS-Updater repository on GitHub.
You can read the archived notice here: 2026-05-07-dlss-updater.md
Background
My project is a small open-source hobby tool designed to help users update NVIDIA DLSS DLL files in game directories.
The idea is simple: point the application at a folder, detect supported DLSS files, and replace them with newer versions where appropriate.
In May 2026, a DMCA notice was filed against my GitHub repository by the owner of the Recol/DLSS-Updater project, alleging that my repository infringed on their work.
The Allegations
The notice alleged that my repository constituted a derivative work of the Recol/DLSS-Updater project and cited several supposed similarities as evidence.
These included:
- folders such as
services/,ui/, andutils/ tests/and.github/workflows/- a utility function named
centre_window - style-related names such as
configure_stylesandBG_MAIN - DLSS version compatibility logic
- the use of a Git-hosted manifest
- targeting standard DLSS DLL files
- FAQ wording regarding PyInstaller antivirus false positives
I was particularly surprised to see standard repository structures and common updater behaviour presented as evidence of copyright infringement.
Claim vs Reality
| Claim | My response |
|---|---|
centre_window |
A descriptive utility function name commonly found in Tkinter examples, tutorials, and GUI applications. |
services/, ui/, utils/ |
Common organisational naming conventions used throughout Python and GUI applications. |
tests/ |
A standard testing directory used across countless software projects. |
.github/workflows/ |
The default GitHub Actions workflow directory automatically used by GitHub. |
configure_styles, BG_MAIN |
Generic style-related naming conventions commonly used in GUI applications. |
| Git-hosted manifest architecture | A common and conventional approach for storing update metadata and version manifests. |
| Version compatibility logic | Major-version compatibility checks are ordinary updater behaviour used throughout software. |
nvngx_dlss.dll, nvngx_dlssg.dll, nvngx_dlssd.dll
|
A DLSS updater targeting DLSS DLL files is the obvious and expected purpose of the application. |
| PyInstaller antivirus FAQ wording | The cited FAQ wording describes common antivirus false positives using generic language widely repeated across software forums, GitHub repositories, tutorials, and documentation. |
Below, I will respond to several direct excerpts from the claims made in the notice.
Naming Conventions
"The functioncentre_windowimported fromutils/window.py, matching my project's naming conventions verbatim"
"Identical style constants (configure_styles,BG_MAIN) imported fromui/styles"
Of course some of these names are identical. They are generic descriptive names following common GUI and Python naming conventions.
centre_window appears throughout Tkinter tutorials, examples,
and GUI projects because it literally describes a function that centres a
window.
Similarly, configure_styles and BG_MAIN are highly
generic names for UI styling code. One describes configuring styles, while
the other abbreviates "background main".
Using the same straightforward descriptive names for common functionality is not evidence of copying. It is what naturally happens when developers follow the same conventions while solving the same problems.
Repository Structure
"Identical module structure:services/,ui/,utils/,tests/,.github/workflows/"
One of the stranger parts of the notice was the claim of an "identical module structure".
The notice referenced folders including
services/, ui/, and
utils/. Based on my comparison of the repositories,
several of these structures did not appear in the same form within
the claimant's repository.
I created a side-by-side file tree comparison here: gist.github.com/sparepillowgit/710ce176f9d79ee144dd868f9a938d98
The comparison was created specifically because the notice cited "Identical module structure: services/, ui/, utils/, tests/, .github/workflows/" as evidence of infringement.
More broadly, the idea that common repository folders such as
tests/ or .github/workflows/ could
meaningfully establish infringement struck me as unusually broad.
Manifest Architecture
"The architectural design of sourcing a manifest from a git repository, a non-obvious design decision originating in my project"
Using a remotely hosted manifest for updates is an extremely common software design pattern used by launchers, patchers, mod managers, and update tools. Hosting that manifest in a git repository is also entirely conventional, because git provides simple hosting, version control, and easy distribution.
Calling this a "non-obvious" design decision is like claiming ownership over downloading configuration files over HTTP. It is a generic engineering approach, not a unique creative work.
Version Compatibility Logic
"Identical version compatibility logic (1.x versions restricted to 1.x; 2.x and 3.x treated as compatible)"
Version-based compatibility checks are standard updater behaviour used throughout software, package managers, launchers, mod managers, and patching tools.
Restricting compatibility based on major version numbers is a routine functional decision, not a uniquely original creative work.
Target DLL Files
"Identical scope of target DLL files: nvngx_dlss.dll, nvngx_dlssg.dll, nvngx_dlssd.dll"
A DLSS updater targeting standard NVIDIA DLSS DLL filenames is not evidence of copying. Those are the official filenames used by NVIDIA's DLSS technologies across games and applications.
Any utility designed to locate and update DLSS components would necessarily interact with those same files.
PyInstaller Antivirus FAQ
"FAQ content describing PyInstaller AV false positives in substantively identical terms"
Warnings about antivirus false positives in PyInstaller applications are extremely common across software forums, GitHub repositories, tutorials, and documentation.
The wording referenced in the notice consists of generic technical explanations repeatedly used throughout software communities whenever users ask why packaged applications may trigger antivirus detections.
Describing common PyInstaller false positives in broadly similar language is not unusual, particularly when explaining the same technical issue to users.
Licensing and Derivative Work
The notice also argued that my repository violated the AGPL-3.0 licence used by the Recol/DLSS-Updater project.
My position is straightforward: licence obligations only become relevant if a project is actually derived from the licensed work in the first place.
I did not copy code from the Recol/DLSS-Updater repository, and I do not believe generic folder names, ordinary updater logic, or common naming conventions establish that my project is a derivative work.
Why I Am Publishing This
I am publishing this page for transparency and documentation.
GitHub DMCA notices can have significant practical consequences regardless of whether the underlying claims would ultimately hold up under closer scrutiny.
Rather than rely on vague summaries or second-hand discussions, I wanted to document the claims made by the owner of the Recol/DLSS-Updater repository and explain why I disagree with them.
Closing Thoughts
Open-source licensing matters, and developers absolutely deserve protection against genuine code theft.
At the same time, copyright claims should be specific, accurate, and based on substantial copying rather than ordinary software conventions or common project structures.
In my view, the DMCA notice filed regarding the Recol/DLSS-Updater project does not meet that standard.