{"id":15167055,"url":"https://github.com/saltstack/salt-enhancement-proposals","last_synced_at":"2025-09-30T23:30:41.204Z","repository":{"id":38752343,"uuid":"169321551","full_name":"saltstack/salt-enhancement-proposals","owner":"saltstack","description":"Let's Enhance Salt!","archived":true,"fork":false,"pushed_at":"2024-01-24T18:48:11.000Z","size":451,"stargazers_count":36,"open_issues_count":9,"forks_count":41,"subscribers_count":30,"default_branch":"master","last_synced_at":"2025-01-20T12:39:20.864Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/saltstack.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-05T22:13:08.000Z","updated_at":"2024-05-17T16:48:33.000Z","dependencies_parsed_at":"2024-01-24T19:58:42.863Z","dependency_job_id":null,"html_url":"https://github.com/saltstack/salt-enhancement-proposals","commit_stats":{"total_commits":150,"total_committers":32,"mean_commits":4.6875,"dds":0.8266666666666667,"last_synced_commit":"bf8c315b8cdf508781342eb4bd6e5e1a10e5c56b"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/saltstack/salt-enhancement-proposals","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack%2Fsalt-enhancement-proposals","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack%2Fsalt-enhancement-proposals/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack%2Fsalt-enhancement-proposals/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack%2Fsalt-enhancement-proposals/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/saltstack","download_url":"https://codeload.github.com/saltstack/salt-enhancement-proposals/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/saltstack%2Fsalt-enhancement-proposals/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":277771947,"owners_count":25874475,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-30T02:00:09.208Z","response_time":75,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-09-27T05:23:59.484Z","updated_at":"2025-09-30T23:30:40.874Z","avatar_url":"https://github.com/saltstack.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Salt Enhancement Proposals\n\n## Deprecation of SEP Process\nIn 2019 we decided to create a community process to discuss and review\nSalt Enhancements. Unfortunately I feel that this process has not proven\nto be an effective way to solve the core issues around Salt Enhancements.\nOverall the Salt enhancement process has proven itself to be more of a\nburden than an accelerant to Salt stability, security, and progress.\nAs such, I feel that the current optimal course of action is to shut\nthe process down.\n\nInstead of the Salt Enhancement Proposal process we will add a time\nin the Open Hour for people to present ideas and concepts to better\nunderstand if they are worth their effort to develop. Extensive\ndocumentation around more intrusive or involved enhancements should\nbe included in PRs.\n\nBy migrating the conversation into the PR process we ensure that\nwe are only reviewing viable proposals instead of being burdened\nwith requests that the core team is expected to fulfill.\n\nConversations about enhancements can also be held in the discussions\ntab in GitHub.\n\nEffective immediately (01/24/2024) we will be archiving and freezing\nthe SEP repo.\n\n-Thomas S Hatch, creator and founder of Salt Project\n\n# README Retaind for Archive\nMany changes, including bug fixes and documentation improvements, can be\nimplemented and reviewed via the normal GitHub pull request workflow.\n\nSome changes though are \"substantial\", and we ask that these be put through a\nbit of a design process and produce a consensus among the Salt core team.\n\nThe \"SEP\" (Salt Enhancement Proposal) process is intended to provide a\nconsistent and controlled path for new features to enter the project.\n\nThis process is being **actively developed**, and it will still change as more\nfeatures are implemented and the community settles on specific approaches to\nfeature development.\n\n## When to follow this process\n\nYou should consider using this process if you intend to make \"substantial\"\nchanges to Salt or its documentation. Some examples that would benefit from an\nSEP are:\n\n   - A new feature that creates new API surface area\n   - The removal of features that already shipped\n   - The introduction of new idiomatic usage or conventions\n\nThe SEP process is a great opportunity to get more eyeballs on your proposal\nbefore it becomes a part of a released version of Salt. Quite often, even\nproposals that seem \"obvious\" can be significantly improved once a wider group\nof interested people have a chance to weigh in.\n\nThe SEP process can also be helpful to encourage discussions about a proposed\nfeature as it is being designed, and incorporate important constraints into the\ndesign while it's easier to change, before the design has been fully\nimplemented.\n\nChanges that do **NOT** require an SEP:\n\n  - Rephrasing, reorganizing or refactoring\n  - Bug fixes\n  - Addition or removal of warnings\n  - Additions only likely to be _noticed by_ other implementors-of-Salt,\n    invisible to users-of-Salt.\n\n## What the process is\n\nIn short, to get a major feature added to Salt, one must submit the SEP via\npull-request. After a comment period, the SEP will be either **Accepted** or\n**Rejected**. An **Accepted** SEP may then be implemented with the goal of\neventual inclusion into Salt.\n\n## The SEP life-cycle\nThe following is a more detailed explanation of the process.\n\n### 1. Proposal\nThe SEP is proposed by submitting a pull request to this repo, by copying\n`0000-template.md` and modifying it. If the SEP pertains to any open issues,\nreference them in the **Salt Issue(s)** entry.\n\nWhen copying the file, do _not_ assign it a number. Simply name the file with a\nshort description of the SEP (e.g. `subspace-transport.md`). Once the pull\nrequest has been opened, a SaltStack core engineer will assign the SEP a number\nand the SEP will enter the initial **Draft** status. At this time, the\nfollowing changes can be made to the SEP file:\n\n1. Add the pull request number to the **SEP PR** entry at the top of the file\n2. Rename the file to include the assigned SEP number, then commit and push to\n   update the pull request\n    ```bash\n    $ git mv subspace-transport.md 0123-subspace-transport.md\n    $ git commit -am 'Assigned SEP number'\n    $ git push origin branchname\n    ```\n\n### 2. Discussion\nThe pull request will remain open and serve as the comment thread for the SEP.\nThe initial comment period will last no fewer than two (2) weeks, and may be\nextended as deemed necessary based on comment activity.\n\nOnce the initial comment period has ended, the SEP will enter **Final Comment**\nstatus. One (1) week will be allowed for any further comments. At the end of\nthe **Final Comment** period, a decision will be made on whether or not to\naccept the SEP. Acceptance requires approval from five (5) members of the core\ndevelopment team. As project creator, [Thomas\nHatch](https://github.com/thatch45) will have a final veto on any SEP.\n\nAdditionally, as\n[discussed](https://github.com/saltstack/salt-enhancement-proposals/pull/1#issuecomment-468823572), SaltStack will be publishing a SEP to form a Community Advisory Board (CAB).\n\n### 3. Acceptance / Rejection\nAt the end of the **Final Comment** stage, the SEP will be either **Accepted**\nor **Rejected**. Either way, the pull request will be merged.\n\nNote that acceptance does not mean that the feature will be immediately\nimplemented, or that it will be implemented at all; It merely means that the\ncore development team has agreed to it in principle. Additionally, the fact\nthat an SEP pull request has been merged does not necessarily mean that the SEP\nhas been accepted; pull requests for rejected SEPs are merged so that they are\nvisible to others who might otherwise open an SEP for a previously-rejected\ntopic.\n\n### 4. Implementation\nAn **Accepted** SEP may proceed to be implemented. If no issues on the Salt\nissue tracker are listed under **Salt Issue(s)**, then create one and open a\npull request to update the SEP with the issue number. All SEPs which have\nreached the implementation step must have at least one associated issue.\n\nWe should strive to write each SEP in a way that it will reflect the final\ndesign of the feature; However, if during implementation things change, the SEP\ndocument should be updated accordingly.\n\nThe SEP author (like any other developer) is welcome to post an implementation\nfor review after the SEP has been accepted. However, the author of an SEP is\nnot obligated to implement it. If the author has no plans to implement the SEP,\nthey can indicate on their SEP that the implementation should be considered\n**Up for Grabs**. Alternatively, if no apparent activity has occurred on the\nSEP for two (2) weeks, it will be considered **Up for Grabs**.\n\nIf you are interested in working on the implementation for an accepted SEP, but\ncannot determine if someone else is already working on it, feel free to ask\n(e.g. by leaving a comment on the associated issue).\n\n## Summary of SEP Statuses\nThe below statuses were discussed above:\n- **Draft**: The initial status, from submission through the initial discussion\n  period\n- **Final Comment**: A one-week period after the initial comment period has\n  ended\n- **Accepted**: The SEP has been approved for future implementation\n- **Rejected**: The SEP has been rejected during discussion phase\n- **Abandoned**: The SEP is fundamentally good idea, but discussion and\n  progress have stagnated for any number of reasons. Progress may be resumed by\n  the original author, or the SEP re-started by a new SEP champion.\n\nIn additon, SEPs can be assigned the following statuses:\n- **Withdrawn**: The SEP has been voluntarily withdrawn from consideration.\n  stagnated, \n- **Up for Grabs**: The SEP has been accepted, but nobody is actively working\n  towards its implmentation.\n- **Implemented**: The accepted SEP has been implemented.\n- **Obsolete**: The accepted SEP is no longer relevant due to other changes in\n  Salt, but should be considered for re-evaluation. The re-evaluation will be\n  done in a separate SEP. Once the new SEP is opened, the **Obsolete** SEP will\n  be considered **Replaced**.\n- **Replaced**: The SEP has been superseded by another SEP.\n\nThe SEP's status can be viewed in two ways:\n\n1. In the **Status** entry at the top of the SEP file\n2. Via GitHub labels applied to the SEP's pull request\n\nThe following diagram may help with the potential paths a SEP may take.\n\n![SEP status diagram](diagrams/SEP%20Statuses.svg)\n\n## Reviewing SEPs\nSaltStack staff will post information about open SEPs to the\n**[#sep](https://saltstackcommunity.slack.com/messages/CGQ5Q6W5A/convo/C7K04SEJC-1552938425.137500/)** channel\nin the community Slack, as well as our community IRC and mailing list on a\nregular basis to encourage discussion.\n\n**This SEP process owes its inspiration to the [React RFC process], [Yarn RFC\nprocess], [Rust RFC process], and [Ember RFC process]**.\n\n[React RFC process]: https://github.com/reactjs/rfcs\n[Yarn RFC process]: https://github.com/yarnpkg/rfcs\n[Rust RFC process]: https://github.com/rust-lang/rfcs\n[Ember RFC process]: https://github.com/emberjs/rfcs\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack%2Fsalt-enhancement-proposals","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsaltstack%2Fsalt-enhancement-proposals","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsaltstack%2Fsalt-enhancement-proposals/lists"}