|
| 1 | +Policy for Unofficial and Unmaintained Projects |
| 2 | +=============================================== |
| 3 | + |
| 4 | +This policy describes a process where we take actions against unmaintained_ and unofficial_ forks of project documentation. |
| 5 | + |
| 6 | +.. tip:: If you want to free up a project's :term:`slug` and gain access over it, please see :doc:`/abandoned-projects`. |
| 7 | + |
| 8 | +Rationale |
| 9 | +--------- |
| 10 | + |
| 11 | +Documentation projects may be kept online indefinitely, even though a newer version of the same project exists elsewhere. |
| 12 | +There are many reasons this can happen, |
| 13 | +including forks, old official docs that are unmaintained, and many other situations. |
| 14 | + |
| 15 | +The problem with old, outdated docs is that users will find them in search results, |
| 16 | +and get confused to the validity of them. |
| 17 | +Projects will then get support requests from people who are using an old and incorrect documentation version. |
| 18 | + |
| 19 | +We have this policy to allow a reporter to request the *delisting* of forks that are old and outdated. |
| 20 | + |
| 21 | + |
| 22 | +High level overview |
| 23 | +~~~~~~~~~~~~~~~~~~~ |
| 24 | + |
| 25 | +The process at a high level looks like: |
| 26 | + |
| 27 | +* A reporter contacts us about a project they think is outdated and unofficial |
| 28 | +* A Read the Docs team member evaluates it to make sure it's outdated and unofficial, according to this policy |
| 29 | +* We delist this project from search results and send an email to owners of the Read the Docs project |
| 30 | +* If a project owner objects, we evaluate their evidence and make a final decision |
| 31 | + |
| 32 | + |
| 33 | +Definitions |
| 34 | +----------- |
| 35 | + |
| 36 | + |
| 37 | +Unofficial projects |
| 38 | +~~~~~~~~~~~~~~~~~~~ |
| 39 | + |
| 40 | +A project is considered *unofficial* when it is not linked to or mentioned in **any** of these places: |
| 41 | + |
| 42 | +* Websites and domains associated with the project |
| 43 | +* The project's primary repository -- README files, repository description, or source code |
| 44 | + |
| 45 | + |
| 46 | +Unmaintained projects |
| 47 | +~~~~~~~~~~~~~~~~~~~~~ |
| 48 | + |
| 49 | +A project is considered *unmaintained* when **any** of the following are met: |
| 50 | + |
| 51 | +* 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. |
| 52 | +* The project is only serving content from releases and commits 6 months or older. |
| 53 | +* All builds have failed for more than 6 months. |
| 54 | + |
| 55 | + |
| 56 | +Implementation |
| 57 | +-------------- |
| 58 | + |
| 59 | + |
| 60 | +Requesting a project be delisted |
| 61 | +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |
| 62 | + |
| 63 | +You can request that we delist an outdated, unmaintained documentation by contacting our :doc:`/support`. |
| 64 | + |
| 65 | +Please include the following information: |
| 66 | + |
| 67 | +.. code-block:: text |
| 68 | +
|
| 69 | + URL of unofficial and unmaintained documentation project: ... |
| 70 | + URL of official documentation (if any): ... |
| 71 | + URL of official project website (if any): ... |
| 72 | + URL of official project repository (if any): ... |
| 73 | +
|
| 74 | + Describe attempts of reaching the owner(s) of the documentation project: |
| 75 | + ... |
| 76 | +
|
| 77 | +
|
| 78 | +Delisting |
| 79 | +~~~~~~~~~ |
| 80 | + |
| 81 | +Projects that are determined to be unmaintained_ and unofficial_ will have a ``robots.txt`` file added that removes them from all search results: |
| 82 | + |
| 83 | +.. code-block:: text |
| 84 | +
|
| 85 | + # robots.txt |
| 86 | + User-agent: * |
| 87 | + # This project is delisted according to the Policy for Unofficial and Unmaintanied Projects |
| 88 | + # https://docs.readthedocs.io/en/stable/unofficial-projects.html |
| 89 | + Disallow: / |
| 90 | +
|
| 91 | +
|
| 92 | +Projects will be delisted if they meet **all** of the following criteria: |
| 93 | + |
| 94 | +* The person who submits the report of the unmaintained_ and unofficial_ project also demonstrates failed attempts to contact the existing owners. |
| 95 | +* The project has been determined unmaintained_ and unofficial_ by the rules described above. |
| 96 | +* The core team does not have any additional reservations. |
| 97 | + |
| 98 | +The Read the Docs team will do the following actions when a project is delisted: |
| 99 | + |
| 100 | +* Notify the Read the Docs project owners via email about the delisting. |
| 101 | +* Add the ``robots.txt`` file to be served on the project domain. |
| 102 | + |
| 103 | +If any of the project owners respond, their response will be taken into account, and the delisting might be reversed. |
| 104 | + |
| 105 | + |
| 106 | +Thinking behind the policy |
| 107 | +-------------------------- |
| 108 | + |
| 109 | +The main idea behind this policy is that Read the Docs serves the community. |
| 110 | +Every user is invited to upload content under :doc:`/terms-of-service`, |
| 111 | +understanding that it is at the sole risk of the user. |
| 112 | + |
| 113 | +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, |
| 114 | +the greater community's needs might outweigh the individual's expectation of continued publishing. |
| 115 | + |
| 116 | + |
| 117 | +Prior art |
| 118 | +--------- |
| 119 | + |
| 120 | +This policy is inspired by our :doc:`abandoned-projects`. |
| 121 | +The Python Package Index (PyPI) policy for claiming abandoned packages |
| 122 | +(`PEP-0541 <https://www.python.org/dev/peps/pep-0541>`_) heavily influenced this policy. |
| 123 | + |
| 124 | +.. _unmaintained: #unmaintained-projects |
| 125 | +.. _unofficial: #unofficial-projects |
0 commit comments