bytecodealliance / governance

Apache License 2.0
11 stars 37 forks source link

Proposal to Create a Component Model C#/.net project and tooling project #78

Closed silesmo closed 8 months ago

silesmo commented 8 months ago

Proposal to Create a Component Model C#/.net project and tooling project

This document is a proposal to create two C#/.net repositories as a formal Hosted Project under the auspices of the TSC of the Bytecode Alliance, as specified in the TSC Charter.

Project Summary

Describe the project and its goals. Target 1-2 paragraphs.

The SIG Guest Languages Working Group desires two repositories to collaborate around tooling and shared C# modules to improve the ergonomics around C#/.net and Wasm CM + WASI Preview 2. Specifically creating a project that makes streamlines the process of creating components from C# and a library that will contain common types that are shared between generated components.

This also includes publishing a nuget package under the BytecodeAlliance name with the package name being: BytecodeAlliance.Runtime.InteropServices.Wit

The proposed repo for the shared modules will be: github.com/bytecodealliance/cm-dotnet

The proposed repo for the cli tooling will be: github.com/bytecodealliance/componetize-dotnet

Existing Resources

Governance Summary

This project will be governed and maintained by SIG Guest Languages - C#/.net Subgroup. There are three chairs for this subgroup representing two different Bytecode Alliance member organizations and one individual contributor.

Software Development Process

1-3 paragraphs explaining how the project uses pull requests, issue maintenance, LGTM policy, release management, and security processes. Emphasize how code quality is ensured.

This project needs to be bootstrapped so there are no existing process today. During bootstrapping, this project will follow all hosted project requirements.

Alignment with Bytecode Alliance Mission and Goals

Bytecode Alliance projects represent the mission and goals of the Bytecode Alliance itself. We understand that as a Bytecode Alliance project, our project must adhere to the TSC Charter and other governing documents (such as the Security Policies and IP Policy). As a Bytecode Alliance project, our project's source code and other pieces of intellectual property will be assigned to the Bytecode Alliance.

We understand and agree that:

Supporting Members

The following individuals support the creation of Bytecode Alliance's C#/.net project:

tschneidereit commented 8 months ago

We discussed this in the TSC meeting today, and think this is a great proposal that we're very excited to support!

We've created the two requested repositories (currently both empty) and gave the newly created team @bytecodealliance/dotnet-core admin rights for both of them. All three supporting members have received invites for joining that team.

As a heads-up, we're working on formally adopting requirements for hosted projects. It'd be great if you could take a look at that and work towards these requirements in bootstrapping the project.