From 47690e4f4b563cfde4e77510f2fca437768c4789 Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 10:22:17 -0700 Subject: [PATCH 01/15] Update for governance proposal --- community/repository-guidelines.md | 62 +++++++++ contributing/README.md | 14 +- contributing/SLACK-GUIDELINES.md | 11 +- contributing/STEERING-COMMITTEE.md | 125 +++++++++++++----- contributing/WORKING-GROUP-PROCESSES.md | 10 +- .../helloworld-csharp.AssemblyInfo.cs | 23 ++++ ...helloworld-csharp.AssemblyInfoInputs.cache | 1 + ...orld-csharp.csproj.CoreCompileInputs.cache | 1 + .../Debug/netcoreapp2.1/project.razor.json | 6 + 9 files changed, 203 insertions(+), 50 deletions(-) create mode 100644 community/repository-guidelines.md create mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs create mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache create mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache create mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json diff --git a/community/repository-guidelines.md b/community/repository-guidelines.md new file mode 100644 index 00000000000..1573ab96127 --- /dev/null +++ b/community/repository-guidelines.md @@ -0,0 +1,62 @@ +# Knative Repository Guidelines + +This document outlines a structure for creating and associating code repositories +with the Knative project. It also describes how and when repositories are removed. + +## Core Repositories + +Core repositories are considered core components of Knative. They are utilities, tools, +applications, or libraries that form or support the foundation of the project. + +### Rules + +* Repository must live under github.com/knative/project-name +* Must adopt the Knative Code of Conduct +* All code projects use the Apache License version 2.0. Documentation repositories must use + Creative Commons License version 4.0. +* All OWNERS must be members of the Knative community. +* Repository must be approved by the Technical Oversight Committee. + +## Removing Repositories + +As important as it is to add new repositories, it is equally important to prune repositories +when necessary. + +It is important to the success of Knative that all Knative repositories stay active, healthy, +and aligned with the scope and mission of project. + +### Grounds for removal + +Core repositories may be removed from the project if they are deemed _inactive_. +Inactive repositories are those that meet any of the following criteria: + +* There are no longer any active maintainers for the project, and no replacements can be found. +* All PRs and issues have gone un-addressed for longer than six months. +* There have been no new commits or other changes in more than a year. +* The contents have been folded into another actively maintained project. + +### Procedure for removal + +When a repository has been deemed eligible for removal, we take the following steps: + +* A proposal to remove the repository is brought to the attention of the Technical Oversight Committee + through a GitHub issue posted in the [docs](https://github.com/knative/docs) repo. + * Feedback is encouraged during a Technical Oversight Committee meeting before any action is taken. +* Once the TOC has approved of the removal, if the repo is not moving to another actively maintained project: + * The repo description is edited to start with the phrase "[EOL]" + * All open issues and PRs are closed + * All external collaborates are removed + * All webhooks, apps, integrations, or services are removed + * GitHub pages are disabled + * The repo is marked as archived using GitHub's archive feature + * The removal is announced on the knative-dev mailing list + +This procedure maintains the complete record of issues, PRs, and other contributions. It leaves +the repository read-only and makes it clear that the repository is retired and no longer maintained. + +--- + +Except as otherwise noted, the content of this page is licensed under the +[Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), +and code samples are licensed under the +[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). \ No newline at end of file diff --git a/contributing/README.md b/contributing/README.md index 710d3c95c44..3e272b192ee 100644 --- a/contributing/README.md +++ b/contributing/README.md @@ -22,19 +22,21 @@ Other Documents - [Code of Conduct](./CODE-OF-CONDUCT.md) - all contributors must abide by the code of conduct -- [Contributing to Knative](./CONTRIBUTING.md) - guidelines and advice on - becoming a contributor +- [Values](./VALUES.md) - shared goals and values for the community +- [Contributing to Knative](./CONTRIBUTING.md) - guidelines and advice on becoming + a contributor - [Working Groups](./WORKING-GROUPS.md) - describes our various working groups -- [Working Group Processes](./WORKING-GROUP-PROCESSES.md) - describes how - working groups operate +- [Working Group Processes](./WORKING-GROUP-PROCESSES.md) - describes how working + groups operate +- [Steering Committee](./STEERING-COMMITTEE.md) - describes our steering committee - [Technical Oversight Committee](./TECH-OVERSIGHT-COMMITTEE.md) - describes our technical oversight committee -- [Steering Committee](./STEERING-COMMITTEE.md) - describes our steering - committee - [Community Roles](./ROLES.md) - describes the roles individuals can assume within the Knative community - [Reviewing and Merging Pull Requests](./REVIEWING.md) - how we manage pull requests +- [Repository Guidelines](repository-guidelines.md) - how we create and remove + core repositories ## Introduction diff --git a/contributing/SLACK-GUIDELINES.md b/contributing/SLACK-GUIDELINES.md index ab8cfb7ff30..bfaaeaee30c 100644 --- a/contributing/SLACK-GUIDELINES.md +++ b/contributing/SLACK-GUIDELINES.md @@ -27,16 +27,15 @@ project, and includes all communication mediums. ## Admins -- @mchmarny -- @isdal -- @dewitt +Members of the [Technical Oversight Committee](TECH-OVERSIGHT-COMMITTEE.md) and +[Steering Committee](STEERING-COMMITTEE.md) are also the administrators for +the Knative Slack instance. Slack admins should make sure to mention this in the “What I do” section of their Slack profile, as well as for which time zone. -To connect: please reach out in the #slack-admins channel, mention one of us in -the specific channel where you have a question, or DM (Direct Message) one of us -privately. +To connect: please reach out in the #slack-admins channel or DM (Direct Message) +one of us privately. ### Admin Expectations and Guidelines diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 726462aa099..a772df7ab66 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -5,62 +5,119 @@ weight: 40 type: "docs" --- -The Knative Steering Committee (SC) defines, evolves, and defends the vision, -values, mission, and scope of the project. _The Steering Committee is a -work-in-progress._ +The Knative Steering Committee (KSC) is the ultimate authority for the Knative +project, and controls all aspects of the project or delegates its authority +to other committees. + +KSC has delegated technical guidance for the project to the +[Technical Oversight Committee](./TECH-OVERSIGHT-COMMITTEE.md). However, the KSC +acts as the final escalation point for any and all decisions within the project. - [Charter](#charter) +- [Committee Meetings](#committee-meetings) - [Committee Mechanics](#committee-mechanics) - [Committee Members](#committee-members) + - [Allocation of seats](#allocation-of-seats) +- [Frequently asked questions](#frequently-asked-questions) +- [Getting in touch](#getting-in-touch) ## Charter -- Non-technical project oversight +1. Define, evolve, and defend the vision, values, mission, and scope of the + project - to establish and maintain the soul of Knative. +1. Define and evolve project governance structures and policies, including + project roles and how collaborators become members, approvers, leads, + and/or administrators. This includes policy for the creation and + administration of community groups, [working groups](./WORKING-GROUPS.md) and + committees. +1. Approve membership to the Technical Oversight Committee. +1. Steward, control access, delegate access, and establishes processes regarding, + all Knative project resources and has the final say in the disposition of + those resources. +1. Manage the Knative brand and decide which things can be called "Knative" and + how that mark can be used in relation to other efforts or vendors. +1. Act as the final escalation point for any disputes or escalations from the + Technical Oversight Committee. - - Define policy for the creation and administration of community groups, - including [Working Groups](./WORKING-GROUPS.md) and Committees. +## Committee Meetings - - Define and evolve project governance structures and policies, including - project role assignment and contributor promotion. +The Knative Steering Committee meets bi-weekly or as-needed. +Given the nature of the discussions in the committee, meetings are not generally +open the public. Questions around governance are listed as issues in the +[docs repo](https://github.com/knative/docs), and we invite your feedback there. - - Approve members of the Tech Oversight Committee. +## Committee members -- Management of project assets +Seats on the Steering Committee are held by a company, not by the individual. - - Control access to, establish processes regarding, and provide a final - escalation path for any Knative repository. +The current membership of the Steering committee is (listed alphabetically by name): - - Guided by the TOC for normal business. +|   | Member | Company | Profile | +| -------------------------------------------------------- | -------------- | ------- | ---------------------------------------- | +| | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | +| | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | +| | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | - - Control and delegate access to and establish processes regarding other - project resources/assets not covered by the above, including web sites and - their domains, blogs, social-media accounts, etc. +There are 4 additional seats to fill at this time. - - Manage the Knative brand to decide which things can be called “Knative” and - how that mark can be used in relation to other efforts or vendors. +### Allocation of seats -## Committee Mechanics +Seats on the steering committee are allocated based upon contribution +to the project. No final decision has been made on the exact formula. +As the project continues to grow, we expect to add additional seats to the committee, +ensuring that those contributing to the project are properly represented. -The committee's operation and charter may be changed by unanimous consent of -committee members. +At a minimum, seat allocation is reviewed once per year. -In case of extended absence, an absent member will be considered to be in -agreement after 8 days have passed since a proposal was accepted by all present -members. An absent member may appoint a single delegate during absences. +Members of the committee may step down at any time. When a member steps down, the +company who holds the seat shall nominate a new individual for the seat. - +Changes to the number of seats, which company seats are allocated to, and nominations +to the committee are confirmed by majority vote of the committee members. -## Committee Members +## Frequently asked questions -The members of the Steering Committee are shown below. Membership in the SC is -determined by current level of contribution to the project. Contribution is -periodically reviewed to ensure proper recognition. +_Why are seats company held?_ -|   | Member | Company | Profile | -| -------------------------------------------------------- | -------------- | ------- | ---------------------------------------- | -| | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | -| | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | -| | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | +The committee was created as the project was in its infancy, in order to tackle governance +and overall project strategy. Because of the nature of the project and funding required, +it was decided that strong corporate leadership was necessary for the project to ensure +velocity. + +_What happens if someone leaves the company they represent?_ + +In that case, the company will nominate a new representative for the seat. The nominee +shall be confirmed by the standard process as called out above. + +_What happens if someone leaves the project or decides to leave the committee?_ + +As above, the same would apply. The company who holds the seat will nominate a new +representative to hold the seat. The nominee shall be confirmed by the standard process, +called out above. + +_Is this steering model permanent?_ + +The governance of Knative is an open, living document, and will continue to evolve as +the community and project change. We expect over time we will adapt the way we run this +committee, based on feedback from the community. + +_How are steering committee decisions reached?_ + +The steering committee desires to always reach consensus. Decisions are made in +meetings when a quorum of the members are present and may pass with majority +vote. Quorum is considered reached when at least half of the members are present. + +The committee's charter may be changed by majority consent of committee members. + +In case of extended absence, an absent member will be considered to be in +agreement after eight days have passed since a proposal was accepted by all +present members. The company of the absent member may appoint a single delegate +from the same company, during absences. + +## Getting in touch + +If you'd like to reach out to the committee, please drop a note +to [knative-steering@googlegroups.com](mailto:knative-steering@googlegroups.com). --- diff --git a/contributing/WORKING-GROUP-PROCESSES.md b/contributing/WORKING-GROUP-PROCESSES.md index 32b872a75d8..be67f23bba5 100644 --- a/contributing/WORKING-GROUP-PROCESSES.md +++ b/contributing/WORKING-GROUP-PROCESSES.md @@ -188,10 +188,12 @@ Leads from all affected working groups generally work together and come to an agreeable conclusion. In all cases, remaining blocking issues can be raised to the -[technical oversight committee](./TECH-OVERSIGHT-COMMITTEE.md) to help resolve -the situation. To trigger an escalation, create an issue in the -`knative/serving` repo and assign it to the -**@knative/tech-oversight-committee** team. +[technical oversight committee](./TECH-OVERSIGHT-COMMITTEE.md) to help resolve the +situation. To trigger an escalation, create an issue in the project's +repo and assign it to the **@knative/tech-oversight-committee** team. + +The Steering Committee, as a last resort, provides the final escalation path +for any repository or working group issue that cannot be resolved by the TOC. --- diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs new file mode 100644 index 00000000000..752d9b1a1d4 --- /dev/null +++ b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// This code was generated by a tool. +// Runtime Version:4.0.30319.42000 +// +// Changes to this file may cause incorrect behavior and will be lost if +// the code is regenerated. +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("helloworld-csharp")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("helloworld-csharp")] +[assembly: System.Reflection.AssemblyTitleAttribute("helloworld-csharp")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// Generated by the MSBuild WriteCodeFragment class. + diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache new file mode 100644 index 00000000000..4be8ec58ad1 --- /dev/null +++ b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +48a3255b346c9674d03d81c1c739ef3f56a5e8cd diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache new file mode 100644 index 00000000000..2f330f05834 --- /dev/null +++ b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +52468353a3b4890d761d39174a9deeecc94975ef diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json new file mode 100644 index 00000000000..6414f399ca4 --- /dev/null +++ b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json @@ -0,0 +1,6 @@ +{ + "ProjectFilePath": "/Users/ryangregg/projects/knative/docs/serving/samples/helloworld-csharp/helloworld-csharp.csproj", + "TargetFramework": "netcoreapp2.1", + "TagHelpers": [], + "Configuration": null +} \ No newline at end of file From 7eb86d7cdcc323d11e8b0a9440c1c253237f8ddd Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 10:51:34 -0700 Subject: [PATCH 02/15] Add credit to Kubernetes source doc --- community/repository-guidelines.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/community/repository-guidelines.md b/community/repository-guidelines.md index 1573ab96127..303a2c3d739 100644 --- a/community/repository-guidelines.md +++ b/community/repository-guidelines.md @@ -56,7 +56,9 @@ the repository read-only and makes it clear that the repository is retired and n --- +Contents of this page are revised from the [Kubernetes repository guidelines](https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md), which are licensed under Apache 2.0. + Except as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the -[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). \ No newline at end of file +[Apache 2.0 License](https://www.apache.org/licenses/LICENSE-2.0). From c434197ef7c1b544928177f77891611690ec16b7 Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 10:53:27 -0700 Subject: [PATCH 03/15] Adding the TBD seats with my proposed allocations. --- contributing/STEERING-COMMITTEE.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index a772df7ab66..d2c9875055f 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -57,8 +57,12 @@ The current membership of the Steering committee is (listed alphabetically by na | | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | | | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | | | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | +| | TBD-1 | TBD | Google | +| | TBD-2 | TBD | IBM | +| | TBD-3 | TBD | Pivotal | +| | TBD-4 | TBD | Red Hat | -There are 4 additional seats to fill at this time. +There are 4 additional seats to fill at this time, as indiciated by TBD. ### Allocation of seats From be5b1eb7900be23e19af3dfb9fdd56b06c88962c Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 10:53:51 -0700 Subject: [PATCH 04/15] Clean up formatting --- contributing/STEERING-COMMITTEE.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index d2c9875055f..3a41a870d06 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -57,10 +57,10 @@ The current membership of the Steering committee is (listed alphabetically by na | | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | | | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | | | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | -| | TBD-1 | TBD | Google | -| | TBD-2 | TBD | IBM | -| | TBD-3 | TBD | Pivotal | -| | TBD-4 | TBD | Red Hat | +| | TBD-1 | Google | | +| | TBD-2 | IBM | | +| | TBD-3 | Pivotal | | +| | TBD-4 | Red Hat | | There are 4 additional seats to fill at this time, as indiciated by TBD. From 6bd6ab2407f3d1cf044759025da5539b67200bd8 Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 12:46:42 -0700 Subject: [PATCH 05/15] Clarify meeting frequency --- contributing/STEERING-COMMITTEE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 3a41a870d06..4bd4d4098de 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -41,7 +41,7 @@ acts as the final escalation point for any and all decisions within the project. ## Committee Meetings -The Knative Steering Committee meets bi-weekly or as-needed. +The Knative Steering Committee meets every two weeks or as-needed. Given the nature of the discussions in the committee, meetings are not generally open the public. Questions around governance are listed as issues in the [docs repo](https://github.com/knative/docs), and we invite your feedback there. From 78427a59adee5c652ad72b39d4742b6372756e5c Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 13:38:49 -0700 Subject: [PATCH 06/15] Clarify voting requirements --- contributing/STEERING-COMMITTEE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 4bd4d4098de..4bca7a62ddc 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -79,7 +79,7 @@ company who holds the seat shall nominate a new individual for the seat. Changes to the number of seats, which company seats are allocated to, and nominations to the committee are confirmed by majority vote of the committee members. -## Frequently asked questions +## Clarifications _Why are seats company held?_ @@ -109,7 +109,8 @@ _How are steering committee decisions reached?_ The steering committee desires to always reach consensus. Decisions are made in meetings when a quorum of the members are present and may pass with majority -vote. Quorum is considered reached when at least half of the members are present. +of the committee supporting it. Quorum is considered reached when at least half +of the members are present. The committee's charter may be changed by majority consent of committee members. From 810965c5e6ab1368bd717d42e6b51013cd80411a Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 18 Mar 2019 19:02:47 -0700 Subject: [PATCH 07/15] Update w/ feedback --- community/repository-guidelines.md | 23 ++++--- contributing/STEERING-COMMITTEE.md | 106 ++++++++++++++++++----------- 2 files changed, 82 insertions(+), 47 deletions(-) diff --git a/community/repository-guidelines.md b/community/repository-guidelines.md index 303a2c3d739..6f099699d60 100644 --- a/community/repository-guidelines.md +++ b/community/repository-guidelines.md @@ -8,22 +8,25 @@ with the Knative project. It also describes how and when repositories are remove Core repositories are considered core components of Knative. They are utilities, tools, applications, or libraries that form or support the foundation of the project. -### Rules +Core repositories are all those located under the +[github.com/knative organization](https://github.com/knative). + +### Core Repository Requirements * Repository must live under github.com/knative/project-name * Must adopt the Knative Code of Conduct -* All code projects use the Apache License version 2.0. Documentation repositories must use - Creative Commons License version 4.0. +* All code projects must use the Apache License version 2.0. +* Documentation repositories must use Creative Commons License version 4.0. * All OWNERS must be members of the Knative community. -* Repository must be approved by the Technical Oversight Committee. +* Repository creation must be approved by the Technical Oversight Committee. ## Removing Repositories -As important as it is to add new repositories, it is equally important to prune repositories -when necessary. +As important as it is to add new repositories, it is equally important to prune +repositories when necessary. See [Grounds for removal](#grounds-for-removal). -It is important to the success of Knative that all Knative repositories stay active, healthy, -and aligned with the scope and mission of project. +It is important to the success of Knative that all Knative repositories stay +active, healthy, and aligned with the scope and mission of project. ### Grounds for removal @@ -56,7 +59,9 @@ the repository read-only and makes it clear that the repository is retired and n --- -Contents of this page are revised from the [Kubernetes repository guidelines](https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md), which are licensed under Apache 2.0. +Contents of this page are adopted from the +[Kubernetes repository guidelines](https://github.com/kubernetes/community/blob/master/github-management/kubernetes-repositories.md), +which is licensed under Apache License 2.0. Except as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 4bca7a62ddc..ab1af8ea9b2 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -6,14 +6,10 @@ type: "docs" --- The Knative Steering Committee (KSC) is the ultimate authority for the Knative -project, and controls all aspects of the project or delegates its authority -to other committees. - -KSC has delegated technical guidance for the project to the -[Technical Oversight Committee](./TECH-OVERSIGHT-COMMITTEE.md). However, the KSC -acts as the final escalation point for any and all decisions within the project. +project, and controls all aspects of the project. - [Charter](#charter) +- [Delegated authority](#delegated-authority) - [Committee Meetings](#committee-meetings) - [Committee Mechanics](#committee-mechanics) - [Committee Members](#committee-members) @@ -23,61 +19,89 @@ acts as the final escalation point for any and all decisions within the project. ## Charter -1. Define, evolve, and defend the vision, values, mission, and scope of the - project - to establish and maintain the soul of Knative. +1. Define, evolve, and defend the vision, values, mission, and scope of the project. 1. Define and evolve project governance structures and policies, including project roles and how collaborators become members, approvers, leads, and/or administrators. This includes policy for the creation and - administration of community groups, [working groups](./WORKING-GROUPS.md) and - committees. -1. Approve membership to the Technical Oversight Committee. + administration of [working groups](./WORKING-GROUPS.md) and committees. 1. Steward, control access, delegate access, and establishes processes regarding, all Knative project resources and has the final say in the disposition of those resources. 1. Manage the Knative brand and decide which things can be called "Knative" and how that mark can be used in relation to other efforts or vendors. -1. Act as the final escalation point for any disputes or escalations from the - Technical Oversight Committee. +1. Confirm/reject nominations to the KSC from organizations who are allocated seats. +1. Confirm/reject nominations to the Technical Oversight Committee. +1. Receive and handle reports about [code of conduct](./CODE-OF-CONDUCT.md) + violations and maintain confidentiality. +1. Receive security reports; work with the appropriate technical leads to + accept or reject the report; maintain the private nature of such reports + until disclosed to the broader community. +1. Act as the final escalation point and decider for any disputes, issues, + clarifications, or escalations within the project scope. + +## Delegated authority + +KSC may choose to delegate its authority to other +committees as-needed. The committee currently recognizes this delegated authority +for: + +- Technical guidance is delegated to the [Technical Oversight Committee](TECH-OVERSIGHT-COMMITTEE.md). ## Committee Meetings -The Knative Steering Committee meets every two weeks or as-needed. -Given the nature of the discussions in the committee, meetings are not generally -open the public. Questions around governance are listed as issues in the +KSC meets every two weeks or as-needed. + +Given the private nature of many of these discussions (e.g. privacy, private +emails to the committee, code of conduct violations, escalations, disputes +between members, security reports, etc.) meetings are not generally +open the public. + +Questions and proposals for changes to governance are posted as issues in the [docs repo](https://github.com/knative/docs), and we invite your feedback there. ## Committee members -Seats on the Steering Committee are held by a company, not by the individual. +Seats on the Steering Committee are held by an organization, not by the individual. The current membership of the Steering committee is (listed alphabetically by name): -|   | Member | Company | Profile | -| -------------------------------------------------------- | -------------- | ------- | ---------------------------------------- | -| | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | -| | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | -| | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | -| | TBD-1 | Google | | -| | TBD-2 | IBM | | -| | TBD-3 | Pivotal | | -| | TBD-4 | Red Hat | | +|   | Member | Organization | Profile | +| -------------------------------------------------------- | -------------- | ------------ | ---------------------------------------- | +| | DeWitt Clinton | Google | [@dewitt](https://github.com/dewitt) | +| | Mark Chmarny | Google | [@mchmarny](https://github.com/mchmarny) | +| | Tomas Isdal | Google | [@isdal](https://github.com/isdal) | +| | TBD | Google | | +| | TBD | IBM | | +| | TBD | Pivotal | | +| | TBD | Red Hat | | -There are 4 additional seats to fill at this time, as indiciated by TBD. +There are currently four unfilled seats, as indicated by TBD. ### Allocation of seats Seats on the steering committee are allocated based upon contribution -to the project. No final decision has been made on the exact formula. -As the project continues to grow, we expect to add additional seats to the committee, -ensuring that those contributing to the project are properly represented. - -At a minimum, seat allocation is reviewed once per year. - -Members of the committee may step down at any time. When a member steps down, the -company who holds the seat shall nominate a new individual for the seat. - -Changes to the number of seats, which company seats are allocated to, and nominations -to the committee are confirmed by majority vote of the committee members. +to the project by an organization. No final decision has been made on the exact +formula. + +As the project continues to grow, we expect to add additional seats to the +committee, ensuring that those contributing to the project are properly +represented. At a minimum, seat allocation is reviewed once per year. + +- After a seat is allocated to an organization, the organization shall nominate + a candidate to be confirmed by KSC. The committee reserves the right to not + confirm a candidate, in which the organization would need to nominate a new + candidate +- Members of the committee may step down at any time. When a member steps down, + their organization shall nominate a new candidate. +- If an organization is unable to seat a candidate, the KSC reserves the right + to reallocate the seat to another organization. +- Changes to the number of seats, which company seats are allocated to, and + nominations to the committee are confirmed by majority vote of the committee + members. +- In situations where the organization which holds a seat is no longer a viable + entity (e.g. merger, dissolution, bankruptcy) the KSC will make a decision on + how to reallocate that seat. Seats do not automatically transfer to any + organization. ## Clarifications @@ -124,8 +148,14 @@ from the same company, during absences. If you'd like to reach out to the committee, please drop a note to [knative-steering@googlegroups.com](mailto:knative-steering@googlegroups.com). +All members of the KSC have access to the messages sent to this address. + --- +Portions of this document are adapted from the +[Istio Steering Committee](https://github.com/istio/community/blob/master/STEERING-COMMITTEE.md) +documentation, which is licensed under the Apache License 2.0. + Except as otherwise noted, the content of this page is licensed under the [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/), and code samples are licensed under the From 0e19a5de142e87244eb4309b23f8a59b8d6a911a Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Wed, 20 Mar 2019 09:14:59 -0700 Subject: [PATCH 08/15] Clarify who to contact --- contributing/SLACK-GUIDELINES.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/contributing/SLACK-GUIDELINES.md b/contributing/SLACK-GUIDELINES.md index bfaaeaee30c..a141a18c5d8 100644 --- a/contributing/SLACK-GUIDELINES.md +++ b/contributing/SLACK-GUIDELINES.md @@ -27,15 +27,15 @@ project, and includes all communication mediums. ## Admins -Members of the [Technical Oversight Committee](TECH-OVERSIGHT-COMMITTEE.md) and -[Steering Committee](STEERING-COMMITTEE.md) are also the administrators for +Members of the [Technical Oversight Committee (TOC)](TECH-OVERSIGHT-COMMITTEE.md) and +[Knative Steering Committee (KSC)](STEERING-COMMITTEE.md) are also the administrators for the Knative Slack instance. Slack admins should make sure to mention this in the “What I do” section of their Slack profile, as well as for which time zone. To connect: please reach out in the #slack-admins channel or DM (Direct Message) -one of us privately. +a member of the [KSC](STEERING-COMMITTEE.md) or [TOC](TECH-OVERSIGHT-COMMITTEE.md). ### Admin Expectations and Guidelines From 902c294e45f4f78f745b25a9f9243417ad97093e Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 20:42:19 -0700 Subject: [PATCH 09/15] Updates from feedback --- contributing/STEERING-COMMITTEE.md | 70 +++++++++++++----------------- 1 file changed, 30 insertions(+), 40 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index ab1af8ea9b2..9f55ba5b89f 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -6,7 +6,11 @@ type: "docs" --- The Knative Steering Committee (KSC) is the ultimate authority for the Knative -project, and controls all aspects of the project. +project, and governs all aspects of the project. + +The governance of Knative is an open, living document, and will continue to +evolve as the community and project change. We expect over time we will adapt +the way we run this committee, based on feedback from the community. - [Charter](#charter) - [Delegated authority](#delegated-authority) @@ -19,7 +23,7 @@ project, and controls all aspects of the project. ## Charter -1. Define, evolve, and defend the vision, values, mission, and scope of the project. +1. Define, evolve, and promote the vision, values, mission, and scope of the project. 1. Define and evolve project governance structures and policies, including project roles and how collaborators become members, approvers, leads, and/or administrators. This includes policy for the creation and @@ -41,29 +45,39 @@ project, and controls all aspects of the project. ## Delegated authority -KSC may choose to delegate its authority to other -committees as-needed. The committee currently recognizes this delegated authority -for: +KSC may choose to delegate its authority to other committees as-needed. The +committee currently recognizes this delegated authority for: - Technical guidance is delegated to the [Technical Oversight Committee](TECH-OVERSIGHT-COMMITTEE.md). ## Committee Meetings -KSC meets every two weeks or as-needed. +KSC meets every two weeks, or as-needed. Meetings are held online. Given the private nature of many of these discussions (e.g. privacy, private emails to the committee, code of conduct violations, escalations, disputes -between members, security reports, etc.) meetings are not generally -open the public. +between members, security reports, etc.) meetings are held in private. + +Meeting notes are available to members of the knative-dev mailing list +(link to be added). Questions and proposals for changes to governance are posted as issues in the -[docs repo](https://github.com/knative/docs), and we invite your feedback there. +[docs repo](https://github.com/knative/docs), and the KSC invites your feedback +there. See [Getting in touch](#getting-in-touch) for other options. ## Committee members -Seats on the Steering Committee are held by an organization, not by the individual. +Seats on the Steering Committee are held by an organization, not by the +individual. -The current membership of the Steering committee is (listed alphabetically by name): +The committee was created as the project was in its infancy, in order to +tackle governance and overall project strategy. Because of the nature of the +project and funding required, it was decided that strong corporate leadership +was necessary for the project to ensure velocity. As the project grows and +matures the KSC will, from time to time, consider if this policy should be +changed. + +The current membership of the committee is currently (listed alphabetically by name): |   | Member | Organization | Profile | | -------------------------------------------------------- | -------------- | ------------ | ---------------------------------------- | @@ -93,6 +107,9 @@ represented. At a minimum, seat allocation is reviewed once per year. candidate - Members of the committee may step down at any time. When a member steps down, their organization shall nominate a new candidate. +- If a member leaves their organization, the organization must nominate a new + committee member to replace them following the nomination and confirmation + process. - If an organization is unable to seat a candidate, the KSC reserves the right to reallocate the seat to another organization. - Changes to the number of seats, which company seats are allocated to, and @@ -103,33 +120,7 @@ represented. At a minimum, seat allocation is reviewed once per year. how to reallocate that seat. Seats do not automatically transfer to any organization. -## Clarifications - -_Why are seats company held?_ - -The committee was created as the project was in its infancy, in order to tackle governance -and overall project strategy. Because of the nature of the project and funding required, -it was decided that strong corporate leadership was necessary for the project to ensure -velocity. - -_What happens if someone leaves the company they represent?_ - -In that case, the company will nominate a new representative for the seat. The nominee -shall be confirmed by the standard process as called out above. - -_What happens if someone leaves the project or decides to leave the committee?_ - -As above, the same would apply. The company who holds the seat will nominate a new -representative to hold the seat. The nominee shall be confirmed by the standard process, -called out above. - -_Is this steering model permanent?_ - -The governance of Knative is an open, living document, and will continue to evolve as -the community and project change. We expect over time we will adapt the way we run this -committee, based on feedback from the community. - -_How are steering committee decisions reached?_ +## Decision Process The steering committee desires to always reach consensus. Decisions are made in meetings when a quorum of the members are present and may pass with majority @@ -147,8 +138,7 @@ from the same company, during absences. If you'd like to reach out to the committee, please drop a note to [knative-steering@googlegroups.com](mailto:knative-steering@googlegroups.com). - -All members of the KSC have access to the messages sent to this address. +This is a private discussion list to which all members of the committee have access. --- From e468102510f4147a2165ff97da97265ca6555adb Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 20:49:11 -0700 Subject: [PATCH 10/15] Add committee term duration --- contributing/STEERING-COMMITTEE.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 9f55ba5b89f..795b2751320 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -99,7 +99,7 @@ formula. As the project continues to grow, we expect to add additional seats to the committee, ensuring that those contributing to the project are properly -represented. At a minimum, seat allocation is reviewed once per year. +represented. - After a seat is allocated to an organization, the organization shall nominate a candidate to be confirmed by KSC. The committee reserves the right to not @@ -117,8 +117,10 @@ represented. At a minimum, seat allocation is reviewed once per year. members. - In situations where the organization which holds a seat is no longer a viable entity (e.g. merger, dissolution, bankruptcy) the KSC will make a decision on - how to reallocate that seat. Seats do not automatically transfer to any + how to reallocate that seat. Seats do not automatically transfer to any organization. +- Members on the committee have a 1 year term from their confirmation, and may + be reconfirmed to the committee at the end of their term. ## Decision Process From 7544630a1040f128567d495fdb06e3d07c71387c Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 21:01:44 -0700 Subject: [PATCH 11/15] Define procedure for changing charter --- contributing/STEERING-COMMITTEE.md | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 795b2751320..89fe5bb394e 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -124,17 +124,23 @@ represented. ## Decision Process -The steering committee desires to always reach consensus. Decisions are made in -meetings when a quorum of the members are present and may pass with majority -of the committee supporting it. Quorum is considered reached when at least half -of the members are present. +The steering committee desires to always reach consensus. -The committee's charter may be changed by majority consent of committee members. +Decisions are made in meetings when a quorum of the members are present and may +pass with majority of the committee supporting it. -In case of extended absence, an absent member will be considered to be in -agreement after eight days have passed since a proposal was accepted by all -present members. The company of the absent member may appoint a single delegate -from the same company, during absences. +Quorum is considered reached when at least half of the members are present. + +In case of extended absence, the organization of the absent member may appoint +a single delegate from the same company during the absence. + +## Changes to the charter + +Changes to the KSC charter may be proposed via a Pull Request on the charter +itself. Amendments are accepted with majority consent of the committee. + +Proposals and amendments to the charter are available for at least a period of +one week for comments and questions before a vote will occur. ## Getting in touch From 12d9883ac0137ff79f32543292c90c500e48789b Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 21:09:04 -0700 Subject: [PATCH 12/15] Rebase on master --- contributing/STEERING-COMMITTEE.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 89fe5bb394e..79def013102 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -48,7 +48,7 @@ the way we run this committee, based on feedback from the community. KSC may choose to delegate its authority to other committees as-needed. The committee currently recognizes this delegated authority for: -- Technical guidance is delegated to the [Technical Oversight Committee](TECH-OVERSIGHT-COMMITTEE.md). +- Technical guidance is delegated to the [Technical Oversight Committee](./TECH-OVERSIGHT-COMMITTEE.md). ## Committee Meetings @@ -108,7 +108,7 @@ represented. - Members of the committee may step down at any time. When a member steps down, their organization shall nominate a new candidate. - If a member leaves their organization, the organization must nominate a new - committee member to replace them following the nomination and confirmation + committee member to replace them following the nomination and confirmation process. - If an organization is unable to seat a candidate, the KSC reserves the right to reallocate the seat to another organization. From 0ae76c7f0f65b6b7838f08cdaed0fdb28cd5c061 Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 21:10:20 -0700 Subject: [PATCH 13/15] Fix location of repo guidelines --- contributing/README.md | 2 +- .../REPOSITORY-GUIDELINES.md | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename community/repository-guidelines.md => contributing/REPOSITORY-GUIDELINES.md (100%) diff --git a/contributing/README.md b/contributing/README.md index 3e272b192ee..ea52e90ff16 100644 --- a/contributing/README.md +++ b/contributing/README.md @@ -35,7 +35,7 @@ Other Documents within the Knative community - [Reviewing and Merging Pull Requests](./REVIEWING.md) - how we manage pull requests -- [Repository Guidelines](repository-guidelines.md) - how we create and remove +- [Repository Guidelines](./REPOSITORY-GUIDELINES.md) - how we create and remove core repositories ## Introduction diff --git a/community/repository-guidelines.md b/contributing/REPOSITORY-GUIDELINES.md similarity index 100% rename from community/repository-guidelines.md rename to contributing/REPOSITORY-GUIDELINES.md From cf3af46188a9febea367250a500c32546404815a Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Thu, 21 Mar 2019 21:13:26 -0700 Subject: [PATCH 14/15] Fix page index --- contributing/STEERING-COMMITTEE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/contributing/STEERING-COMMITTEE.md b/contributing/STEERING-COMMITTEE.md index 79def013102..51acc0bfbdf 100644 --- a/contributing/STEERING-COMMITTEE.md +++ b/contributing/STEERING-COMMITTEE.md @@ -18,7 +18,8 @@ the way we run this committee, based on feedback from the community. - [Committee Mechanics](#committee-mechanics) - [Committee Members](#committee-members) - [Allocation of seats](#allocation-of-seats) -- [Frequently asked questions](#frequently-asked-questions) +- [Decision process](#decision-process) +- [Changes to the charter](#changes-to-the-charter) - [Getting in touch](#getting-in-touch) ## Charter @@ -122,7 +123,7 @@ represented. - Members on the committee have a 1 year term from their confirmation, and may be reconfirmed to the committee at the end of their term. -## Decision Process +## Decision process The steering committee desires to always reach consensus. From 5551f150143d33a363e70707583f4b1cc0cbd280 Mon Sep 17 00:00:00 2001 From: Ryan Gregg Date: Mon, 1 Apr 2019 09:54:42 -0700 Subject: [PATCH 15/15] Remove extranous sample files --- .../helloworld-csharp.AssemblyInfo.cs | 23 ------------------- ...helloworld-csharp.AssemblyInfoInputs.cache | 1 - ...orld-csharp.csproj.CoreCompileInputs.cache | 1 - .../Debug/netcoreapp2.1/project.razor.json | 6 ----- 4 files changed, 31 deletions(-) delete mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs delete mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache delete mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache delete mode 100644 serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs deleted file mode 100644 index 752d9b1a1d4..00000000000 --- a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfo.cs +++ /dev/null @@ -1,23 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -using System; -using System.Reflection; - -[assembly: System.Reflection.AssemblyCompanyAttribute("helloworld-csharp")] -[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] -[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] -[assembly: System.Reflection.AssemblyProductAttribute("helloworld-csharp")] -[assembly: System.Reflection.AssemblyTitleAttribute("helloworld-csharp")] -[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] - -// Generated by the MSBuild WriteCodeFragment class. - diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache deleted file mode 100644 index 4be8ec58ad1..00000000000 --- a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.AssemblyInfoInputs.cache +++ /dev/null @@ -1 +0,0 @@ -48a3255b346c9674d03d81c1c739ef3f56a5e8cd diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache deleted file mode 100644 index 2f330f05834..00000000000 --- a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/helloworld-csharp.csproj.CoreCompileInputs.cache +++ /dev/null @@ -1 +0,0 @@ -52468353a3b4890d761d39174a9deeecc94975ef diff --git a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json b/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json deleted file mode 100644 index 6414f399ca4..00000000000 --- a/serving/samples/helloworld-csharp/obj/Debug/netcoreapp2.1/project.razor.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "ProjectFilePath": "/Users/ryangregg/projects/knative/docs/serving/samples/helloworld-csharp/helloworld-csharp.csproj", - "TargetFramework": "netcoreapp2.1", - "TagHelpers": [], - "Configuration": null -} \ No newline at end of file