dotnet-foundation / dotnet-foundation/projects

Question on assignment model for new .NET Foundation projects

Open
#171 4 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
No language data
Stars
157
Forks
37
PR merge metrics
No merged PRs in 30d

Description

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:

  • Does the author of a project submitted to the .NET Foundation lose ownership of the project?
  • If so, is there an option to have a project join without also transferring ownership?

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

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the .NET Foundation projects submission page and the project application template referenced in the issue, then compare their Assignment Model and Contribution Model sections with the ImageSharp example. Done would require a maintainer-approved clarification of how these onboarding options differ and whether both are available to applicants.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
documentation
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.