-
-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add an initial policy for delisting unmaintained projects #9731
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
Merged
Merged
Changes from 36 commits
Commits
Show all changes
42 commits
Select commit
Hold shift + click to select a range
81150bb
Add an initial policy for delisting unmaintained projects
ericholscher c5b6b15
Move legalise to the bottom
ericholscher fb045c4
A bit more clarify
ericholscher 15d53aa
Add to TOC
ericholscher 86a06db
Apply the most immediately uncomplicated suggestions from code review
benjaoming 9ffd9c8
Expand section on what "unmaintained" means
benjaoming dd70d1a
Add more cross-references for defined terms
benjaoming c8e5351
sembr
benjaoming 3252663
Adding linebreaks
benjaoming 06ac18d
Remove "candidate" and make it a bit more clear that someone needs to…
benjaoming 01234ce
Add a template for emails
benjaoming d6f30d6
Move definitions to "specification" as @humitos suggested
benjaoming 24bed4c
Move use cases to "Examples" under rationale
benjaoming 20ebb61
Adds robots.txt boilerplate
benjaoming 3ddc4e6
Add a step that the source project is notified by RTD core team
benjaoming 6cf0a1b
resolve warning - include in TOC
benjaoming 3b03178
Add a comment in robots.txt template
benjaoming 00b0337
Update docs/user/unofficial-projects.rst
benjaoming 66cc1ae
Adds a link in robots.txt to where the policy will presumably live
benjaoming 5aa69bf
Apply suggestions from @agjohnson code review
benjaoming 55d3f2d
Update docs/user/unofficial-projects.rst
benjaoming 5d43f5f
Remove procedure to notify upstream maintainers
benjaoming 27ee5a9
Change Specification to Definitions
benjaoming 877aa8b
Merge branch 'outdated-docs-policy' of github.com:readthedocs/readthe…
benjaoming dd1eadb
Move High-level Overview to Rationale
benjaoming 0c96723
Add a definition of source project
benjaoming 0746c8c
Delisting with notification. Step added to take no further action if …
benjaoming 8018631
Talk mostly of "owner" in plural, there might be several people maint…
benjaoming 98ae9b0
Remove SOME stuff, we aren't going to seriously validate that
benjaoming 5ff4259
Remove examples section, it doesn't fill much purpose now
benjaoming 682d3a2
Apply suggestions from @humitos and @erichholscher
benjaoming 054a2f1
reference Terms of Service doc
benjaoming 561d135
Move delisting section
benjaoming c023902
Remove step outlining what happens if "unreachable" since nothing hap…
benjaoming e87570c
Remove definition of "Unreachable" since it's not in use
benjaoming 0756f3c
Remove definition of Source Project
benjaoming dac7f61
Update docs/user/unofficial-projects.rst
benjaoming a53cd0b
Add cross-references to Project Policies
benjaoming 0f2b70c
Apply suggestions from code review
benjaoming d1e9f6c
Update docs/user/abandoned-projects.rst
benjaoming cdb3082
Update docs/user/abandoned-projects.rst
benjaoming 9d29116
ANY and ALL => **any** or **all**
benjaoming File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,119 @@ | ||
Policy for Unofficial and Unmaintained Projects | ||
=============================================== | ||
|
||
This policy describes a process where we take actions against unmaintained_ and unofficial_ forks of project documentation. | ||
|
||
|
||
Rationale | ||
--------- | ||
|
||
Documentation projects may be kept online indefinitely, even though a newer version of the same project exists elsewhere. | ||
There are many reasons this can happen, | ||
including forks, old official docs that are unmaintained, and many other situations. | ||
|
||
The problem with old, outdated docs is that users will find them in search results, | ||
and get confused to the validity of them. | ||
Projects will then get support requests from people who are using an old and incorrect documentation version. | ||
|
||
We have this policy to allow a reporter to request the *delisting* of forks that are old and outdated. | ||
|
||
|
||
High level overview | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
The process at a high level looks like: | ||
|
||
* A reporter contacts us about a project they think is outdated and unofficial | ||
* A Read the Docs team member evaluates it to make sure it's outdated and unofficial, according to this policy | ||
* We delist this project from search results and send an email to owners of the Read the Docs project | ||
* If a project owner objects, we evaluate their evidence and make a final decision | ||
|
||
|
||
Definitions | ||
----------- | ||
|
||
|
||
Unofficial projects | ||
~~~~~~~~~~~~~~~~~~~ | ||
|
||
A project is considered *unofficial* when it is not linked to or mentioned in ANY of these places: | ||
|
||
* Websites and domains associated with the project | ||
* The project's primary repository -- README files, repository description, or source code | ||
|
||
|
||
Unmaintained projects | ||
~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
A project is considered *unmaintained* when ANY of the following are met: | ||
|
||
* The configured version control repository is unreadable. This can happen if the repository is deleted, credentials are broken or the Git host is permanently unresponsive. | ||
* The project is only serving content from releases and commits 6 months or older. | ||
* All builds have failed for more than 6 months. | ||
|
||
|
||
Implementation | ||
-------------- | ||
|
||
|
||
Requesting a project be delisted | ||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
|
||
You can request that we delist an outdated, unmaintained documentation by contacting our :doc:`/support`. | ||
|
||
Please include the following information: | ||
|
||
.. code-block:: text | ||
|
||
URL of unofficial and unmaintained documentation project: ... | ||
URL of official documentation (if any): ... | ||
URL of official project website (if any): ... | ||
URL of official project repository (if any): ... | ||
|
||
Describe attempts of reaching the owner(s) of the documentation project: | ||
... | ||
|
||
|
||
Delisting | ||
~~~~~~~~~ | ||
|
||
Projects that are determined to be unmaintained_ and unofficial_ will have a ``robots.txt`` file added that removes them from all search results: | ||
|
||
.. code-block:: text | ||
|
||
# robots.txt | ||
User-agent: * | ||
# This project is delisted according to the Policy for Unofficial and Unmaintanied Projects | ||
# https://docs.readthedocs.io/en/stable/unofficial-projects.html | ||
Disallow: / | ||
|
||
|
||
Projects will be delisted if they meet ALL of the following criteria: | ||
|
||
* The person who submits the report of the unmaintained_ and unofficial_ project also demonstrates failed attempts to contact the existing owners. | ||
* The project has been determined unmaintained_ and unofficial_ by the rules described above. | ||
* The project owners are notified by the Read the Docs team. | ||
* The core team does not have any additional reservations. | ||
* If any of the project owners respond, their response will be taken into account by the core team and it may be listed again if the criteria are met. | ||
benjaoming marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
|
||
Thinking behind the policy | ||
-------------------------- | ||
|
||
The main idea behind this policy is that Read the Docs serves the community. | ||
Every user is invited to upload content under :doc:`/terms-of-service`, | ||
understanding that it is at the sole risk of the user. | ||
|
||
While Read the Docs is not a backup service, the core team of Read the Docs does their best to keep content accessible indefinitely in its published form. However, in certain edge cases, | ||
the greater community's needs might outweigh the individual's expectation of continued publishing. | ||
|
||
|
||
Prior art | ||
--------- | ||
|
||
This policy is inspired by our :doc:`abandoned-projects`. | ||
The Python Package Index (PyPI) policy for claiming abandoned packages | ||
(`PEP-0541 <https://www.python.org/dev/peps/pep-0541>`_) heavily influenced this policy. | ||
|
||
.. _unmaintained: #unmaintained-projects | ||
.. _unofficial: #unofficial-projects |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.