dotnet-foundation / projects

This repository is used for onboarding new projects
116 stars 32 forks source link

Question on assignment model for new .NET Foundation projects #171

Open Sergio0694 opened 3 years ago

Sergio0694 commented 3 years ago

Hi there, I was considering submitting an application for one of my projects to join the .NET Foundation, but first I wanted to ask some more info on the assignment model for new projects, what it entails and what options are there, if any. Specifically, the one thing that's giving me pause when reading through the project submission page on the Foundation website is this bit:

Assignment Model. The .NET Foundation uses an assignment model for on-boarding new projects. Under the assignment model, a project transfers ownership of the copyright to the .NET Foundation. The project also confirms that the project’s submissions to .NET Foundation are its own original work (there are also instructions for any third party materials that might be included).

I will note that I'm not really an expert in this area by any stretch of the imagination, so could anyone help clarify:

For instance, one thing I noticed is that ImageSharp is part of the .NET Foundation but James and the team seem to have kept full ownership of the project and related copyright, so much so that they're even using non-MIT licenses and offering commercial support licenses for it. How was that project onboarded, and is that option available for other projects as well?

I will note that in the project application template I'm also seeing:

Contribution Model. Under the .NET Foundation contribution model, a project retains ownership of the project, but grants .NET Foundation a broad license to the project’s code and other intellectual property. [...]

Is this an alternative to the assignment model, or is this related to something else? I'm not seeing this listed in the .NET Foundation projects page either, but only here on GitHub, so I was not entirely sure how to interpret this either 🤔

Thanks! 😄

Some project details, for context

It was suggested to me to also include some more details about the project I'm considering submitting to the .NET Foundation, in case that can help or be useful info in any way with respect to the questions I've asked above. So here's some notes on it.

General Information

Project Name: ComputeSharp

License: MIT

Contributor: Sergio Pedri

Existing OSS Project?: Yes

Source Code URL: https://github.com/Sergio0694/ComputeSharp

Description

ComputeSharp is a .NET 5 library to run C# code in parallel on the GPU through DX12 and dynamically generated HLSL compute shaders. The available APIs let you access GPU devices, allocate GPU buffers and textures, move data between them and the RAM, write compute shaders entirely in C# and have them run on the GPU. The goal of this project is to make GPU computing easy to use for all .NET developers. There is also experimental support for WinUI 3 to easily integrate pixel shaders written in C# into XAML applications, which can be used for all sorts of things from animated backgrounds to audio visualizers, simulations and more.

For some practical footage of this whole thing in action, here's a video from the WinUI 3 sample app for ComputeSharp:

https://user-images.githubusercontent.com/10199417/126792509-c11feb11-a609-4fab-86b3-426d43df6d90.mp4

AndrewTriesToCode commented 3 years ago

There is also the contribution model which doesn't transfer the copyright. I had this same issue when I submitted my applciation #121 but was informed the contribution model was an option.

There are some places on the website and workflow that don't mention it, but I just checked the current version of the application issue template and it does mention it there. Cheers.

AndrewTriesToCode commented 3 years ago

I went ahead and submitted https://github.com/dotnet-foundation/website/pull/928 to add language on the project submission webpage about the contribution model.

clairernovotny commented 3 years ago

.NET Foundation projects are free to use whatever license they want, long as it's an approved permissive one. This is taken into account by the project committee during evaluation.

Assignment vs Contribution has no effect on the ability to offer an additional commercial support license. Many projects can offer up additional rights with support.

Transfering the copyright makes it easier for the Foundation to enforce the license in court.

gortok commented 3 years ago

@clairernovotny In case you missed one of the questions, I'll repost it here:

Does the author of a project submitted to the .NET Foundation lose ownership of the project?