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

Issue: New .NET Foundation Project Application #350

Open
15 of 18 tasks
Emik03 opened this issue Jan 13, 2024 · 0 comments
Open
15 of 18 tasks

Issue: New .NET Foundation Project Application #350

Emik03 opened this issue Jan 13, 2024 · 0 comments
Assignees
Labels
project application project support Use this label to request support for an existing .NET Foundation project

Comments

@Emik03
Copy link

Emik03 commented Jan 13, 2024

Project Name

Emik.SourceGenerators.Choices

License

MPL-2

Contributor

Emik

Existing OSS Project?

Yes

Source Code URL

https://github.com/Emik03/Emik.SourceGenerators.Choices

Project Homepage URL

No response

Project Transfer Signatories

(see e-mail)

Description

Source generates highly performant and flexible disjoint unions: Rust enums in C#!

Name

Emik

Email

[email protected]

GitHub Profile URL

https://github.com/Emik03

Committers

Only the project lead (me) has any commit or write access.

Governance Model

I do welcome any issues and pull requests, although I haven't had people using my libraries enough to warrant this in the first place yet, which is partly why I am applying. I am happy to consider what other people would want out of a source generator like this, especially since I want it to be widely appealing, and not just to myself. I tried implementing everything one could possibly ask for, but as I can only view this project from my perspective, it would be best for me to branch out.

CLA

  • If already an OSS project, was a Contribution License Agreement in place for contributions accepted?

How does the project check who has signed one?

No response

CLA Notification Alias

No response

Select the Project Transfer Agreement model

Contribution

Repository Layout

Any sections regarding the documentation/instructions for how contributors can contribute, where/how security issues are raised, code of conduct. As I am a single person, I am very willing to change the repository dramatically in accordance to the requirements, as long as the repository still is coupled as part of the larger Emik.Morsels meta-project. If this is of concern, I would also be happy and willing to put up Morsels as a .NET Foundation project also.

Eligibility Criteria

  • The project is built on the .NET platform and/or creates value within the .NET ecosystem.
  • The project produces source code for distribution to the public at no charge.
  • The project's code is easily discoverable and publicly accessible (preferably on GitHub).
  • The project contains a build script that can produce deployable artifacts that are identical to the official deployable artifacts, with the exception of code signing (Exception may be granted for strong name keys, though strongly encouraged to be committed. Exception relies on OSS signing being in the build script for public builds).
  • When applicable, project must use reproducible build settings in its toolchain.
  • The project uses Source Link.
  • The project uses either embedded PDBs or publish symbol packages to NuGet (if applicable).
  • The project code signs their artifacts as appropriate.
  • The project organization has 2FA enabled. Requiring 2FA must be done as part of onboarding if not already enabled.
  • Libraries that are mandatory dependencies of the project are offered under a standard, permissive open source license which has been approved by the .NET Foundation (exceptions include a dependency that is required by the target platform where no alternative open source dependency is available such as the .NET Framework or a hardware specific library).
  • Committers are bound by a Contributor License Agreement (CLA) and/or are willing to embrace the .NET Foundation's CLA when the project becomes a Member.
  • The copyright ownership of everything that the project produces is clearly defined and documented.
  • The project has a public issue tracker where the status of any defect can be easily obtained.
  • The project has a published Security Policy.
  • The project has a home page which provides high level information about its status and purpose.
  • The project has a public communication channel where community members can engage with maintainers.
  • The project has a publicly available location where members can review and contribute to documentation.

PR Plan Summary

I feel that my technologies may be of help to some people, but unfortunately it's tough to spread the word around. In general, I have worked alone for a very long time, however I recognize that you can only get so far doing everything by yourself. I'd like to speak with like-minded people to ask questions about the Roslyn API, runtime, IL, etc. and to also start networking with other open-source contributors. I have always found it endlessly satisfying to create libraries and/or tooling to help people, and to see people using things that I have created, even if I don't get anything monetarily. I have been able to experience this within the video game Keep Talking and Nobody Explodes, which has an active modding scene that I was able to influence with my libraries KeepCoding and wawa. I've had people ping me on Discord asking questions about how specific details of the library should be used, and I was always glad to answer them, and would update the documentation accordingly to make it clearer.

Infrastructure Requirements Summary

  • .NET 8 SDK
  • Set up Emik.Morsels
    • Manually configure Directory.Build.local.props as instructed in the repository.
    • Symlink the project with the dependency.
  • dotnet build

Additional Notes

While it may not seem like there's that much activity within the repository, this is due to the fact that it is as far as I am concerned, feature-complete and bug-free. A ton of the infrastructure of the project is built behind the meta-dependency Morsels as mentioned earlier, which means any code that may be shared or reused within a different project doesn't actually reside there.

As mentioned before, while the repository lacks things like a Security Policy article, I'd like to be instructed in what the best practices are, how I should integrate it to my repository, and how I should handle a security vulnerability report.

@Emik03 Emik03 added project application project support Use this label to request support for an existing .NET Foundation project labels Jan 13, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
project application project support Use this label to request support for an existing .NET Foundation project
Projects
None yet
Development

No branches or pull requests

3 participants