From 26cebef83fab8a067c4b1739de8f0032aca37455 Mon Sep 17 00:00:00 2001 From: Jason Konicki Date: Fri, 6 Mar 2020 16:54:12 -0500 Subject: [PATCH] Create THIRD-PARTY-CONTRIBUTIONS.md Guidelines for contributing a third party library to start.steeltoe.io --- THIRD-PARTY-CONTRIBUTIONS.md | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 THIRD-PARTY-CONTRIBUTIONS.md diff --git a/THIRD-PARTY-CONTRIBUTIONS.md b/THIRD-PARTY-CONTRIBUTIONS.md new file mode 100644 index 0000000..cae9777 --- /dev/null +++ b/THIRD-PARTY-CONTRIBUTIONS.md @@ -0,0 +1,35 @@ +# Guidelines for Contributing a 3rd Party Library + +### Code of Conduct + * Anyone contributing to any of the projects in the Steeltoe portfolio, including Steeltoe Initializr, must adhere to our Contributor Guidelines and Governance Model. +### Open sourced and available NuGet.org + * The library must be open sourced and available on NuGet.org. + * The library must be made available with an appropriate OSS license which is deemed compatible with the Apache 2.0 license +### Community + * There should be a sizeable community, or an established organization, that is actively using and maintaining the library + * An available support forum and a public issue tracker +### Package Metadata and Documentation + * The NuGet library should (at a minimum) have these package metadata entries (MSBuild Package Property Names): + * PackageId + * PackageVersion + * Authors + * Company + * Title + * Description/PackageDescription + * Copyright + * PackageProjectUrl + * PackageLicenseFile or PackageLicenseUrl + * PackageReleaseNotes + * RepositoryUrl + * RepositoryBranch + * For each library on Steeltoe Initializr, documentation must be publicly available at the project’s url or on the project’s repository. + * Documentation should indicate which versions of .NET Core and Steeltoe are supported +### Other Dependencies: + * The 3rd party library should not bring in any supporting dependencies that aren’t compatible with the Apache 2.0 license + * All of these supporting dependencies must be available on NuGet.org +### Test Coverage: + * The 3rd party library should have proper test coverage that validates it works properly with supported Steeltoe versions +### Steeltoe Engineering Review: + * The Steeltoe team will periodically review usage statistics (i.e. NuGet downloads, project activity, etc.) and may decide to remove 3rd party libraries from start.steeltoe.io if they are not being used. + * The Steeltoe team will periodically check that a 3rd party library is still being supported and that the project is actively releasing updates. If it is determined to no longer or minimally active project, the library will be identified for removal. + * Even if these requirements are met, the Steeltoe team may decide that a proposed 3rd party starter does not meet the strategic direction of Steeltoe and the overall portfolio. In this case, it’s still possible to create and share a 3rd party NuGet package but they will not be listed on start.steeltoe.io.