Skip to content

Copyright notices for third-party code #3869

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

Closed
KalleOlaviNiemitalo opened this issue Jun 3, 2021 · 10 comments · Fixed by #4444
Closed

Copyright notices for third-party code #3869

KalleOlaviNiemitalo opened this issue Jun 3, 2021 · 10 comments · Fixed by #4444

Comments

@KalleOlaviNiemitalo
Copy link

The NUnit v3.13.2 source tree includes some third-party code that is built into "lib/net35/nunit.framework.dll" in the "NUnit" NuGet package, or into "lib/netstandard2.0/nunitlite.dll" in the "NUnitLite" NuGet package. Maybe those copyright notices should be added to NOTICES.txt, which is likewise distributed in the NuGet packages.

// Copyright (c) Microsoft Corporation. All rights reserved.


// Copyright (C) 2009 Novell, Inc (https://www.novell.com)



// Copyright (c) Microsoft Corporation. All rights reserved.


// Copyright (C) 2008 Novell (https://www.novell.com)

@mikkelbu
Copy link
Member

I'm no expert in copyright, but I don't see a problem with this. Note that all the "Compatibility" files above are removed in the master branch as NUnit 4 will not support net35.

@KalleOlaviNiemitalo
Copy link
Author

I was thinking about this paragraph of the license terms:

// The above copyright notice and this permission notice shall be
// included in all copies or substantial portions of the Software.

It seems to me that the NuGet packages include a copy of the licensed code, in binary form, but do not include the copyright notice to which the paragraph refers.

@mikkelbu
Copy link
Member

I'm sorry. I just reread my comment, and I can see that it is very ambiguous. With

I'm no expert in copyright, but I don't see a problem with this.

I meant that I see no problem in adding this to NOTICES.txt. So I don't see a problem in doing this.

@rprouse
Copy link
Member

rprouse commented Jul 15, 2021

I'm also fine with adding it to NOTICES.txt and including it in the NuGet file.

@somashekharshekhar
Copy link

Hi team, am new to Nunit our project is starting with C# Microservices project, am looking for the framework to test Microservices TDD, can you help me with the framework , post me the git link i will clone and develop it. thanks in advance

@lennartb-
Copy link
Contributor

To clarify, would that simply involve copying the above-mentioned copyright notices (and any other I would find) from external sources/contributors into NOTICES.txt?

@OsirisTerje
Copy link
Member

OsirisTerje commented Jun 25, 2023

@lennartb- Yes, the ones that apply. As @mikkelbu points out, the compatibility ones are not applicable anymore for the next 4.X version.

The current notice (in notice.txt) points to the original writers of the NUnit code that the current code is based on, with no pointers to specific code sections. For other copyright notices that should be noted.

Separate each section so that it is clear what it belongs to.
Use a format like this:

Copyright (c) [Year] [Author's/License holder Name]

The following code [specific file(s) or portion(s), with link] is used under [license name/version].

[Optionally additional details, such as license terms or any other relevant information.]

If the license is embedded in the source code, like with Options.cs, just state that. The notice should be short.

After a quick search, that file is the only one I find with a copyright notice though.

@OsirisTerje
Copy link
Member

OsirisTerje commented Jun 25, 2023

We also have 3rd part nuget packages that we could add. We could do that by adding a THIRD_PARTY_NOTICES.md file, put a reference to this file from NOTICES.txt.
The different licenses can be extracted using dotnet-project-licenses. When doing that on the framework csproj, we get the following block:

| Reference | Version | License Type | License |
|------------------------------------------------------------------------------------------------------------------------------|
| IsExternalInit | 1.0.3 | MIT | https://licenses.nuget.org/MIT |
| Microsoft.Win32.Registry | 5.0.0 | MIT | https://licenses.nuget.org/MIT |
| Nullable | 1.3.1 | MIT | https://licenses.nuget.org/MIT |
| System.Runtime.Loader | 4.3.0 | MS-EULA | http://go.microsoft.com/fwlink/?LinkId=329770 |
| TunnelVisionLabs.ReferenceAssemblyAnnotator | 1.0.0-alpha.160 | MIT | https://licenses.nuget.org/MIT |

There would then be one such block per csproj we have.

@KalleOlaviNiemitalo
Copy link
Author

Well I was more interested in copyright notices than license notices.

@OsirisTerje
Copy link
Member

OsirisTerje commented Jun 25, 2023

@KalleOlaviNiemitalo Feel free :-) It's just part of the same but by all means. I assumed you or @lennartb- wanted to raise a PR on this.

PS: The license will also contain the copyright for a package, although the tool above will not add the link to the actual license file for the package, but only to the general one. It could easily be corrected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants