-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Umbrella Issue: Remove Third-Party Content #15748
Comments
/sig docs |
/lifecycle frozen |
if we look at the current landscape Docker as a container runtime is not even in the list of supported runtimes by the CNCF: does this make it third party and we have to remove the installation guide for it?
what particular items from the above link do you want removed? |
If there's a principled approach to inclusion in that list (e.g. conformance participants), I don't see why it should be removed |
Agree with @liggitt. Can we please hold this work? |
I've raised this on steering@ for guidance as well: |
kube-up.sh IS in project (in the main Kubernetes repo) and this is talking about how to toggle this with that tool FWIW. The project CI uses kube-up extensively for the moment. |
Thanks for your comment @neolit123 ! Yes, instructions for installing Docker should be removed and replaced with something like
@zacharysarah is at a conference and then on holiday for the rest of September. Removing items from the https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/ page: I see you are a kubeadm approver - great!! Since kubeadm is in the kubernetes GitHub org && doesn't have its own instructional content, most of the kubeadm content is OK to stay in the k8s docs. Ideally, as time permits, SIG Docs would like to work with the kubeadm team to move kubeadm-specific content to the kubeadm docs repo. Keep the project docs close to the source code so it's easier (and faster) for developers to keep docs up-to-date. How about moving moving kubeadm maturity and Support timeframes to the kubernetes/kubeadm README? Then point to that page from the k8s.io page.
Installing a pod network add-on section: I could be wrong, but it doesn't look like any of the products listed are CNCF projects or in the kubernetes or kubernetes-sigs, so I would remove the entire tabbed section and replace with something like
Also remove the Explore other add-ons section. |
@liggitt, @dims, @BenTheElder - thanks for your feedback! zacharysarah is at a conference and then on holiday for the rest of September. The SIG Docs team decided in August to remove third-party content from the k8s docs.
Removing third-party content was discussed at the 20 Aug SIG Docs meeting We have a new Documentation Content Guide that provides guidance on what content is allowed. I will be changing the content presentation style to replace the bullet point list with sections (Issue #16143) . Please feel free to add an agenda item to the 1 October SIG Docs meeting (Zach will be back from his vacation). Thanks! |
Most consumers of and contributors to the kubernetes.io site are not represented in SIG docs meetings. Removing helpful links and content wholesale needs broader discussion, in my opinion. I agree there should be guidelines and principles for links to external content, but this direction seems unnecessarily detrimental to users. |
Specifically, I'd expect broad removal of content contributed by SIGs covering use and configuration of their components and features (including extension point documentation that references known/tested external implementations) to be proposed in a KEP with buy-in from the affected component owners |
ER ... My only point so far is that the entire heading linked there discusses using tooling with source contained wholly within the primary Kubernetes repo and used extensively for developing the project. It seems quite relevant to know that this is on by default when kube-up is set to run on GCE (where most of our CI is due to resources being available) and how to toggle it... I disagree that this content is third party. It is maximally first party being in the Kubernetes repo. This also doesn't seem to be afoul of the guidelines you linked as there aren't docs for this elsewhere. |
i think a problem with this decision is that it did not get buy-in by other SIGs, such as cluster-lifecycle. who are the maintainers of most of these documents. SIG docs does give the final
the kubeadm documentation is in a pretty good shape. both the maintainers and the users are mostly happy with it. such fragmentation is undesired and maybe sig-docs is ultimately suggesting that it's time to move all the kubeadm docs out of k8s.io? personally i think we should hold on taking action in these efforts until @zacharysarah is back and we can book a zoom meeting. also as @dims mentioned this issue is already on the Steering radar. |
@kubernetes/sig-docs-en-reviews |
whoops the other 3 linked are issues as well! |
I know, I did it for symbolism ;-) |
Follow-up question for eventual KEP: "Why do we care whether a project is in the CNCF?". Reading the current policy there are several references to policies that differ whether a project is a CNCF project or not:
This is troubling to me because a non-goal of the CNCF to is to host every piece and part required to make Kubernetes technically successful. It may happen but it shouldn't be a consideration for quality user facing docs. |
FYI kubernetes/kubernetes/cluster/addons/README.md links to https://kubernetes.io/docs/concepts/cluster-administration/addons/ |
To echo what other Steering Committee members have voiced, and as a CNCF TOC member: I don't think this issue is cut and dry. Kubernetes depended on Etcd and Docker at the time it was donated to CNCF, neither of which was a CNCF project at the time (there were no other CNCF projects!), and still has lots of dependencies on other open-source repos. The CNCF has more projects now, but the full space isn't covered by the CNCF. For instance, there is no equivalent of Elasticsearch in CNCF. I understand SIG Docs wants to bound its scope, we don't want to host blatant vendor pitches, and we don't want to host documentation that the community can't maintain. Is there a single list of all the pages being evaluated? Has there been any effort to contact stakeholders of those pages and/or publicize the content guidelines? I saw some mention of pages actually documenting code that is in kubernetes project github orgs. Is only dual-sourced content being moved/removed? With respect to Kubernetes providers, is the plan to point to CNCF documentation, such as https://www.cncf.io/certification/software-conformance/? |
And regarding KEP: I don't think the intent was to request a KEP for each individual change. KEP is the mechanism we've adopted for significant project changes, especially across SIGs. |
Also, I looked at #15892, #15576, and #15774, but the origin of the CNCF project requirement is not clear. There's no precedent in the Kubernetes project for such a distinction that I can recall. I also looked at the Slack archives, though I have to say that Slack is a poor system of record and a poor mechanism for outreach, and it was no more illuminating. And I saw no obvious threads on https://groups.google.com/forum/#!forum/kubernetes-sig-docs this year relating to this topic. I do see it in the meeting agenda in August, but it just refers to the issue above. |
My understanding of how this issue came to be opened: the ecosystem is growing, and where there once were a few interfaces to a few cloud providers there could now be hundreds of vendors each wanting to have their control plane / kubeadm alternative / training course / special Ingress controller listed. SIG Docs wanted to make sure there was some way to manage the potential sprawl of PRs, and it sounds like the approach from circa 2019-08-08 goes too far and drops too much. |
Is there a KEP being drafted? |
Not yet, I just got back from vacation today. If you'd like to start drafting one, I'd support that. 👍 |
Hi, folks. 👋 I'm back from vacation. Some thoughts before the steering committee meeting on Wednesday. From @sftim:
I think that's an elegant summary. I'd add some things: Out of scopeFrom @philips:
Respectfully, this seems out of scope to the current discussion and doesn't bear directly on the third-party content policy as implemented/proposed. Moving forward in the near termFolks have commented that the third-party content policy here doesn't meet the collaborative bar for changes of its size and scope. That's valid. I'd like to propose (mainly by affirming @liggitt's suggestion) that we proceed by:
Does that seem reasonable? The relationship of the CNCF to third-party contentPer @bgrant0607's observations, the requirement tying third-party projects to their CNCF status is mine alone, and I take responsibility for it. The three requirements (that projects reside in kubernetes, kubernetes-sigs, or the CNCF sandbox) for third-party content were an attempt to scope docs to projects with some level of vetting in the larger Kubernetes ecosystem. It is not an attempt to provide an artificial advantage to CNCF projects per @liggitt, nor do I think that the CNCF sandbox requirement is an adequate end state for third-party content requirements. Nonetheless, we had to start somewhere. I am in no way vested in any CNCF-related requirement for third-party content, for exactly the reasons that @neolit123 (re:Docker) and @philips (re:contradictory internal definitions) point out. It clearly doesn't work, so let's remove it and iterate accordingly. Effectiveness and scarcityI agree that SIG Docs hasn't collaborated across SIGs effectively, especially in the past six months. There are some reasons for this:
@jaredbhatti was on sabbatical for three months before transitioning away from K8s altogether. @jimangel has stepped up to replace him, effective September 15 (several days after the comment thread began.) @Bradamant3 had significantly reduced availability for several months due to a role change at work. While her availability for K8s docs has recently increased, the result was that for several months, one person had to fill a three person job, with results to match.
SIG Docs faces an ongoing struggle with scarcity of resources (Google has pulled all of its writers from K8s), and we're trying to address it creatively and actively--but it's not an overnight fix. Better collaborationThanks, @dims, for empathy toward the human impact of responses. 🙇
I agree. That's on me as the chair most directly responsible for this policy and its implementation. I apologize, and I'll make sure we do better going forward. However, consider these responses:
Please note that these responses were to @aimeeu who, as of September 12, had been a contributor for ~45 days. Are these comments really how the project's most prolific contributors, including a steering committee member, want to respond to new contributors, especially from underrepresented groups? To date, @neolit123, @dims, and @bgrant0607 are the only commenters to ask questions, rather than make pronouncements. That's not so great. @neolit123 I appreciate that you've asked some salient questions in this issue, but inferring that SIG Docs only makes lightweight contributions to content is pretty gross. 😞 Please, folks:
TLDRThis issue needs a KEP in order to proceed. SIG Docs can collaborate better, as can everyone. |
to clarify, content i was referring to like: is maintained and written by the kubeadm maintainers. it's the result of years of improvements and interactions with users, knowing which steps are problematic for them and grading on the content. SIG Docs does provide a quality wordsmith review and ultimately approval and while i wouldn't consider that light weight, i think it's the kubeadm maintainers who should maintain what contents are included in the documentation. unless it's completely out of order, of course. |
No, agreed, that's as it should be. Feature owners should absolutely maintain their content; what we're trying to do is provide guidance on how to handle content for third party solutions. Right now there's no differentiation (and consequently no enforcement) in docs between content that's unique to k8s.io, content that's hosted in multiple places (leading to content that's stale on k8s.io but current on a third party site, or vice versa), vendors trying to elbow their way into feature docs, and content provided by feature maintainers themselves. The goal isn't purity. The goal is greater service to users by making sure what they find on k8s.io is current, accurate, and well-bounded. EDIT: This is also an example of how scarcity (@Bradamant3 has the greatest familiarity with kubeadm docs) leads to confusion. |
i can see the problem of duplication and k8s.io vendor docs becoming out of date. interestingly for some projects like Flannel, which is a CNCF hosted project, we are keeping the k8s website more up to date than the upstream state. in this particular, this section: currently contains a certain git SHA that is the result of users reporting breakages, if they followed the upstream docs trying to install this CNI plugin with the latest Kubernetes.
definitely agreed that better rules should be applied to the website.
we are actually pretty good on the kubeadm side and apart from Docker and the CNI setup i don't see any major third party content offenders for kubeadm. |
This is SREcon week for me. I don't know if that means more available time or less for Kubernetes (I'll guess the latter); anyway, I might well be able to contribute towards a KEP. |
That's the goal, in service of helping users.
Yes: the description for this issue. ☝️
No. The original plan was to contact stakeholders in the case of outright removals and ensure that docs linked to their upstream source, if they met criteria; to engage with stakeholders and help parse freshness of information and hosting location where neither freshness nor upstream source were clear; and for outright removals, to at-mention the original contributors to raise visibility.
Removing dual-sourcing is one of the goals. Where projects have their own documentation, it's a best practice to link upstream rather than host the same information twice. It may also make sense to encourage projects to host project-specific docs on their site, rather than in K8s feature docs, which is definitely an opportunity to raise visibility and contact stakeholders about where specific docs should live.
I think the CNCF would be happy with that. I think it's an open question about what will best serve users. Even so--we still need guidelines about where and how that pointing would happen. For example, earlier this year we refactored https://kubernetes.io/docs/setup/ and its subpages to remove the overly vendor-y content from previous versions. (For example, in 1.12: https://v1-12.docs.kubernetes.io/docs/setup/) Do we constrain vendor information (including conformance status) to a single page? That's a good question for a KEP, which we're on board to open. |
@zacharysarah @jimangel As part of a KEP, I think we need to address the complete lack of documentation guidance in the Kubernetes Repository Guidelines. It would be nice to clarify what content should reside in a project's repo vs the k8s docs. Guidelines would vary between kubernetes and kubernetes-sigs. |
Give the status and that this is pending a KEP: |
/priority important-longterm |
This issue is replaced by #20232. /close |
@zacharysarah: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
This is a Bug Report
Problem:
Relates to #15576 - Clarify Style Guide
Some pages contain provider-or-project-specific content from projects that are not inside the kubernetes or kubernetes-sigs GitHub organizations, or are not inside the CNCF.
For discussion around removing third-party content, please refer to these Slack threads:
Also refer to the Documentation Content Guide when deciding what third-party content should be removed.
This issue is an umbrella tracking issue. Below is a list of check boxes for individual items that need fixing. Some are easy, others require some expertise/experience as a contributor. Please add to this list when you find another page with third-party content.
Proposed Solution:
Note: Ensure removing English content does not break localizations! Coordinate with language leads.
Pages Being Considered:
The text was updated successfully, but these errors were encountered: