rfc:experimental
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
rfc:experimental [2014/10/28 18:49] – krakjoe | rfc:experimental [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 27: | Line 27: | ||
cannot be marked as experimental. | cannot be marked as experimental. | ||
| | ||
- | New code, with no user base, is considered experimental for [Open Issue 1] | + | New code, with no user base, can be considered experimental for a |
+ | maximum of 2 years. | ||
- | This allows the definition to apply to SAPI and extension code, and further clarifies what we can consider experimental. | + | This allows the definition to apply to SAPI and extension code, and further clarifies what we can consider experimental, and for how long. |
- | + | ||
- | We propose we make a decision as to how such experimental code should be developed: | + | |
- | + | ||
- | * experimental code is immediately subject to the normal internals process. | + | |
- | * experimental code is developed using a staging process. | + | |
===== Staging Process for Experimental Code ===== | ===== Staging Process for Experimental Code ===== | ||
Experimental code can be developed in an experimental branch of php-src or an external repository. | Experimental code can be developed in an experimental branch of php-src or an external repository. | ||
+ | |||
+ | Experimental does not mean unstable; every effort should be made to stabilize code before merging is suggested. | ||
Before any merges into production or development branches of php-src, maintainers of experimental code must invite discussion on internals, for // | Before any merges into production or development branches of php-src, maintainers of experimental code must invite discussion on internals, for // | ||
Line 44: | Line 42: | ||
Discussion of such merges must lead to an RFC in the case that an agreement about implementation details cannot be reached on internals. | Discussion of such merges must lead to an RFC in the case that an agreement about implementation details cannot be reached on internals. | ||
- | Only if there are no objections to a merge from internals after a period of [Open Issue 2], a merge to production or development branches is permitted after discussion with release manager(s) has taken place. | + | Only if there are no objections to a merge from internals after a period of 7 days, a merge to production or development branches is permitted after discussion with release manager(s) has taken place. |
- | + | ||
- | This allows experimental code to be developed at a different pace to production or development branches of PHP, but still requires that the maintainers are in communication with internals. | + | |
After the defined period for experimental code has passed, the experimental notice must be removed and the code subject to the normal internals process. | After the defined period for experimental code has passed, the experimental notice must be removed and the code subject to the normal internals process. | ||
- | ===== Open Issues ===== | + | This allows |
- | + | ||
- | * How long can experimental code be considered experimental ? (Suggest: 1 release cycle/1 year) | + | |
- | * How long should developers wait for a response from internals | + | |
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
Line 61: | Line 54: | ||
* Adopt the proposed definition of experimental (yes/no) | * Adopt the proposed definition of experimental (yes/no) | ||
* Adopt the proposed staging process for experimental code (yes/no) | * Adopt the proposed staging process for experimental code (yes/no) | ||
+ | |||
+ | If we decide against adopting the staging process for experimental code, experimental code will be subject to the normal internals process. | ||
===== Implementation ===== | ===== Implementation ===== | ||
No implementation is required, only an update to the current version of CODING_STANDARDS which contains the current definition of experimental. | No implementation is required, only an update to the current version of CODING_STANDARDS which contains the current definition of experimental. |
rfc/experimental.txt · Last modified: 2017/09/22 13:28 by 127.0.0.1