Skip to content
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

Handle non-required files under non-open source licenses #2359

Closed
omajid opened this issue Aug 5, 2021 · 11 comments
Closed

Handle non-required files under non-open source licenses #2359

omajid opened this issue Aug 5, 2021 · 11 comments
Assignees
Labels
area-additional-repos Adding additional contributing repos
Milestone

Comments

@omajid
Copy link
Member

omajid commented Aug 5, 2021

When ArPow builds a tarball for the complete .NET source code, it includes code from all the individual repositories. Some of those repositories have code that's still under a non-open source license.

Some of these are blockers to releasing .NET and are being worked on (eg, dotnet/runtime#56394 and #2344).

However, there are additional files without clear movement upstream. They are also not strictly part of "building the SDK". Some are tests, some are samples. For example:

As a workaround, maybe we can delete these files when building the tarball?

@dotnet-issue-labeler dotnet-issue-labeler bot added area-additional-repos Adding additional contributing repos untriaged labels Aug 5, 2021
@omajid
Copy link
Member Author

omajid commented Aug 5, 2021

In Fedora, I have this set of steps to remove similar issues in 5.0: https://pagure.io/dotnet-sig/dotnet5.0/blob/master/f/build-dotnet-tarball#_153

# Remove files with funny licenses, crypto implementations and other
# not-very-useful artifacts to reduce tarball size
rm -r src/aspnetcore.*/src/SignalR/clients/java/signalr/gradle*
find src/aspnetcore.*/src -type d -name samples -print0 | xargs -0 rm -r
rm -r src/NuGet.Client.*/test/EndToEnd
rm -r src/runtime.*/src/mono/
rm -r src/Humanizer.*/samples/

That was more of a blunt hammer; we can be more surgical about what we delete.

@dseefeld dseefeld added this to the 6.0 Preview7 milestone Aug 12, 2021
omajid added a commit to omajid/dotnet-installer that referenced this issue Oct 25, 2021
These files are not required as part of source-build, and are under
non-free licenses. Delete them when building the source-build tarball.

Fixes: dotnet/source-build#2359
@dagood
Copy link
Member

dagood commented Oct 27, 2021

Fixed by workaround for 6.0:

Think this is worth a followup issue to figure out what's going on upstream?

@dagood dagood closed this as completed Oct 27, 2021
@richlander richlander reopened this Jun 21, 2022
@richlander
Copy link
Member

Can we re-consider this solution for .NET 7? Even if we got half of these remediated for .NET 7, that would still be a step forward. Fair?

@omajid
Copy link
Member Author

omajid commented Jun 21, 2022

Sure, we would love for this to be fixed in the individual component repos. But as you can see, we have had no traction on the individual issues. Some of them have been open since 2020!

This solution was only adapted because it let us "fix" the issue without bothering the consumers of source-build (eg, RHEL, Fedora).

@richlander
Copy link
Member

Can someone point out where the ref to the Humanizr project is coming from?

@MichaelSimons
Copy link
Member

Can someone point out where the ref to the Humanizr project is coming from?

roslyn and roslyn-analyzers reference it in a number of places.

https://github.com/search?q=humanizer+repo%3Adotnet%2Froslyn+repo%3Adotnet%2Froslyn-analyzers+extension%3Acsproj&type=Code&ref=advsearch&l=&l=

@dougbu
Copy link
Member

dougbu commented Jun 23, 2022

Adding @mkArtakMSFT and @Pilchie to give them additional background on the license issues in our two repos.

@richlander
Copy link
Member

It sounds like @ChrisSfanos is going to make the required fixes, including in Humanizr.

@MichaelSimons
Copy link
Member

Now that the nuget-client license issues are resolved, the source-build logic to account for these should be removed.

@MichaelSimons
Copy link
Member

It looks like the licensing issue in Humanizer has been addressed but now we need the product repo(s) to update to a newer version. I opened dotnet/roslyn-analyzers#6186 to track this.

@MichaelSimons
Copy link
Member

All of the known licensing issues have been resolved - closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-additional-repos Adding additional contributing repos
Projects
Archived in project
Development

No branches or pull requests

6 participants