Skip to content

Instantly share code, notes, and snippets.

@gregdek
Created May 14, 2020 15:30
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gregdek/52e6669421d3f65cded51862e16ad0e9 to your computer and use it in GitHub Desktop.
Save gregdek/52e6669421d3f65cded51862e16ad0e9 to your computer and use it in GitHub Desktop.
Draft: Orphaning and Retirement of Ansible modules
RETIRED MODULES
What is module retirement?
It is the flagging and ultimate removal of a module because it is no longer useful and may actively harm or confuse users by its continuing existence.
Why might a module be retired? There are three fundamental reasons:
* Because the module supports a product/project that is no longer
supported / useful / exists.
* Because the module has been relocated to a new location.
* Because the module has been obsoleted by another module.
In these cases, the retired module should ultimately provide warning information for a time, with redirection information, and then ultimately be removed from the Ansible collection or distribution.
Stories:
* As a community, we need to have a process to decide whether a module that has been marked for retirement should actually be retired, or whether it should be orphaned instead.
* As a contributor, I need to be able to notify the community that a module should be retired.
* As a user, I need to know immediately and repeatedly that I'm using a module that is about to retired, with enough time so that I can plan for its ultimate removal.
* As a user, I need to know when I consult the documentation for a module that it is retired or about to be retired.
---
ORPHANED MODULES
What is module orphaning?
Module orphaning is the process of denoting that a module is no longer being actively maintained, which allows us to provide warnings to users, and allows us to solicit for new maintainers for the module.
Why might a module be orphaned?
* Because the contributor expresses the explicit desire to no longer maintain the module;
* Because the contributor has demonstrated an unwillingness or an inability to maintain the module according to accepted community standards.
In both of these cases, the users should be made aware that they are using orphaned content, so that they are aware of the additional potential risk incurred by using such content.
Stories:
* As a user, I would like to know when I'm using a module that it's not currently being actively maintained.
* As a potential contributor, I would like to know how the process to take over maintainership of a currently orphaned module.
* As a user, I'd like to know when I consult the documentation that a module I'm planning to use is orphaned.
* As a contributor, I'd like an easy process to step away from maintaining a package.
* As a community, we need a process that allows us to mark a package as orphaned when there is evidence that it is not being properly maintained.
* As a community, we would like a process that advertises currently orphaned modules so that we can solicit for new maintainers.
---
ADDITIONAL RESOURCES
https://fedoraproject.org/wiki/Orphaned_package_that_need_new_maintainers
https://fedoraproject.org/wiki/How_to_remove_a_package_at_end_of_life
@bmillemathias
Copy link

What is the expected behavior of a orphaned / retired module ? does it works as before or just throw a warning / fatal message the state of the module and the possible alternate module to use ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment