Skip to content

A policy for abandoned project names #3343

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

Closed
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 111 additions & 0 deletions docs/abandoned-projects.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
Abstract
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should have a descriptive header for our TOC's (eg. "Policy for Abandoned Projects")

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've fixed the header and made a few other tweaks to make it work in the context of a larger document.

========

This document describes the process by which a RTD project name may be changed.


Rationale
=========

Conflict between the current use of the name and a different suggested use of
the same name occasionally arise. This document aims to provide general
guidelines for solving the most typical cases of such conflicts.


Specification
=============

The main idea behind this document is that RTD serves the community. Every
user is invited to upload content under the Terms of Use, understanding that it
is at the sole risk of the user.

While RTD is not a backup service, the maintainers do their best to keep that
content accessible indefinitely in its published form. However, in certain
edge cases the greater community's needs might outweigh the individual's
expectation of ownership of a project name.

The use cases covered by this document are:

* Abandoned projects:

* renaming a project so that the original project name can be used by a
different project.

* Active projects:

* resolving disputes over a name.


Implementation
==============

Reachability
------------

The user of RTD is solely responsible for being reachable by the maintainers
for matters concerning projects that the user owns. In every case where
contacting the user is necessary, the maintainers will try to do so at least
three times, using the following means of contact:

* e-mail address on file in the user's profile;
* e-mail addresses found in the given project's documentation; and
* e-mail address on the project's home page.

The maintainers will stop trying to reach the user after six weeks and the user
will be considered *unreachable*.


Abandoned projects
------------------

A project is considered *abandoned* when ALL of the following are met:

* owner is unreachable (see Reachability above);
* no releases within the past twelve months; and

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Builds?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the request to change "releases" to "builds"? If so, that's fine with me. I don't actually understand RTD, so I'm working mostly as a Chinese room.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. But as mentioned elsewhere, I don't think time matters in this context.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think, as @jimfulton says, this point could be tricky since "12 months old documentation" could be still vaild.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps there should be a mention of projects that have never had a successful build.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That sounds good. What do people think about changing the above to "no successful builds ever or no successful builds within the last twelve months; and"?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

FWIW, I don't really like the idea of considering a project, especially a documentation project to be inactive simply because there haven't been new builds. Stable projects can go years without needing to update documentation.

Had manuel.readthedocs.io not 404ed, I would never have considered trying to get the name.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

no successful builds within the last twelve months

This doesn't apply for me. Since, there are projects (books, for example) that are built just once and that's it. So, after 2 years, there wasn't an update of the book, but it's still valid.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Perhaps there should be a mention of projects that have never had a successful build.

I'm totally 👍 with something like this.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO, a project with successful builds shouldn't be considered inactive.

* no activity from the owner on the project's home page (or no home page
found).

All other projects are considered *active*.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the question "Aren't there a lot of other ways a project could qualify as inactive?" If so, yes, but as far as a policy goes, it would seem that being strictly binary is the easiest thing for people to understand.



Renaming of an abandoned project
--------------------------------

Projects are never renamed solely on the basis of abandonment.

An *abandoned* project can be renamed (by appending "-abandoned" and a
uniquifying integer if needed) for purposes of reusing the name when ALL of the
following are met:

* the project has been determined *abandoned* by the rules described above;
* the candidate is able to demonstrate their own failed attempts to contact the
existing owner;
* the candidate is able to demonstrate that the project suggested to reuse the
name already exists and meets notability requirements;
* the candidate is able to demonstrate why a fork under a different name is not

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems a little draconian.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems so to me too, but the request was for a policy based on PEP-0541 and this mirrors it exactly.

I especially dislike the bit about the candidate has to try to contact the project owner again after the system maintainers have already tried and failed (as part of designating the project as abandoned).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Mmm.. yes, and this is conplicated ot demostrate in an objective way.

For example, as @ericholscher suggested before python-manuel as a name... but then, why/how do you demostrate that is not a valid name for your project? In this particular case, I think it's bad idea to deny just the manuel name to a project called manuel when the one occupying the name is abandoned. But that's also subjective... I think.

an acceptable workaround;
* access statistics for the existing package indicate the project is not being
heavily used; and
* the maintainers do not have any additional reservations.


Name conflict resolution for active projects
--------------------------------------------

The maintainers of RTD are not arbiters in disputes around *active* projects.
The maintainers recommend users to get in touch with each other and solve the
issue by respectful communication.


Prior art
=========

The Python Package Index (PyPI) policy for claiming abandoned packages
(`PEP-0541 <https://www.python.org/dev/peps/pep-0541>`_) heavily
influenced this document.


Copyright
=========

This document has been placed in the public domain.