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

json-everything .NET Foundation Project Application #367

Open
16 of 18 tasks
gregsdennis opened this issue Mar 13, 2024 · 13 comments
Open
16 of 18 tasks

json-everything .NET Foundation Project Application #367

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

Comments

@gregsdennis
Copy link

gregsdennis commented Mar 13, 2024

Project Name

json-everything

License

MIT

Contributor

Greg Dennis

Existing OSS Project?

Yes

Source Code URL

https://github.com/gregsdennis/json-everything

Project Homepage URL

https://json-everything.net

Project Transfer Signatories

Greg Dennis ([email protected])

Description

The primary goal of json-everything is to ensure quality JSON support in .Net by providing libraries and curating a list of existing projects. The libraries offered by this project provide support for

Name

Greg Dennis

Email

[email protected]

GitHub Profile URL

https://github.com/gregsdennis

Committers

Greg Dennis (gregsdennis)
(only me)

Discord Ids

Greg Dennis (gregsdennis)

Governance Model

No formal model is in place, save for the CONTRIBUTING.md file. Issues and PRs are accepted openly. I discuss features and bugs with the contributor, and I make the final decision myself.

I am the only person with commit access to the repository, and I have no plans to add others.

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

Solution exists at the root of the repo. Each project and test project is contained within its own folder.

The website (https://json-everything.net) is also contained in a dedicated folder and is published from this repo.

The docs and blog on the website are sourced from other repos.

I see no reason to change from this as it is well organized.

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

.Net Foundation projects are generally more widely acceptable by Enterprise-level organizations which require software certifications such as SOC2 and ISO2700. Membership with .Net Foundation would make my projects more likely to be used by these organizations.

Infrastructure Requirements Summary

Builds are done using GitHub Actions.

The website is hosted with GitHub pages. (I pay for the json-everything.net domain.)

I'm unsure about signing certs, but it's something I'm curious about.

Additional Notes

  1. Not sure how "committers" is being used here. I'm the only person with commit access to the repo, but others have contributed commits through PRs from forks. Are they also "committers"? Would they be bound by the CLA? What about historical contributions? Do I need to retroactively get all of the contributors to agree to the CLA?
  2. Question about IP: I would like to retain IP rights on my work. Do I forfeit those rights by joining .Net Foundation?
@gregsdennis gregsdennis added project application project support Use this label to request support for an existing .NET Foundation project labels Mar 13, 2024
This was referenced Mar 21, 2024
@gregsdennis
Copy link
Author

@nicoleabuhakmeh would it be possible to have my questions (Additional Notes) answered before the 11 Apr meeting?

@ChrisSfanos
Copy link
Collaborator

Adding @sbwalker for your two questions

@sbwalker
Copy link
Collaborator

@gregsdennis let me try to answer you questions:

  1. Not sure how "committers" is being used here. I'm the only person with commit access to the repo, but others have contributed commits through PRs from forks. Are they also "committers"? Would they be bound by the CLA? What about historical contributions? Do I need to retroactively get all of the contributors to agree to the CLA?

a committer refers to anyone contributing IP to your repo. This includes yourself as the maintainer, but it also includes anyone who submits a pull request. Basically the CLA is trying to ensure that the person contributing the IP has the right to do so, and by certifying that they do, there is not significant risk for the project to accept the IP. The .NET Foundation's CLA Bot will automatically require users who submit PR's to sign a CLA for your project - and you will not be able to merge the PR until the CLA is accepted. In regards to the question about historical contributions, if you were not using a CLA it means that there is theoretically some risk that there may be IP issues with prior contributions. Most likely this risk is low, however as maintainer of the project you essentially assume responsibility for any potential liability, as you are the distributor of the project.

  1. Question about IP: I would like to retain IP rights on my work. Do I forfeit those rights by joining .Net Foundation?

There are 2 paths for projects to join the .NET Foundation: Contribution License and Assignment. Most community projects join through Contribution License as it means they retain the rights to their IP and only grant the .NET Foundation rights to redistribute it. It is generally only Microsoft projects which join under Assignment - where the .NET Foundation assumes ownership of the IP.

@gregsdennis
Copy link
Author

Thank you @sbwalker. Will I be able to attend/observe the 11 Apr meeting?

@sbwalker
Copy link
Collaborator

@gregsdennis the Project Committee meetings are only open to Project Committee members

@gregsdennis
Copy link
Author

@sbwalker quite eager to know outcomes of discussions for this meeting. Are there notes/minutes/recording available? Thanks.

@nicoleabuhakmeh nicoleabuhakmeh changed the title Add gregsdennis/json-everything json-everything .NET Foundation Project Application May 8, 2024
@sbwalker
Copy link
Collaborator

The Project Committee reviewed your application and will recommend the project for consideration of Member status at the next Board of Directors meeting. The project will require a majority Board vote to proceed.

@ChrisSfanos
Copy link
Collaborator

The Board has approved this project to join the .NET Foundation - congratulations!

@ChrisSfanos
Copy link
Collaborator

ChrisSfanos commented Jun 7, 2024

To manage the onboarding process, we will be tracking with the following checklist. I'll be starting work on this on Monday - thanks

CLA

  • Project Agreement Signing via DocuSign
  • CLA Onboarding via GitHub

Project Onboarding

  • Public Announcement via the .NET Foundation site/etc
  • Joining the Project leader mailing list
  • Joining the Project leader Slack channel
  • Updating license/copyright in the repo + updating file headers
  • Reviewing the .NET Foundation Code of Conduct
  • Add Project to the .NET Foundation project list
  • Project layout cleanup (as appropriate)
  • README Guidance updates
  • Project website updates (outside of GitHub)
  • Enable two-factor authentication (2FA) for GitHub organization and all users

@ChrisSfanos
Copy link
Collaborator

agreement is out for signing

@ChrisSfanos
Copy link
Collaborator

Agreement is signed - CLA onboarding instructions coming out shortly

@ChrisSfanos
Copy link
Collaborator

CLA onboarding is complete - I'll be sending the remaining onboarding steps in email tomorrow

@ChrisSfanos
Copy link
Collaborator

onboarding complete :-)

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