rfc:experimental
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
rfc:experimental [2014/10/28 18:18] – created krakjoe | rfc:experimental [2017/09/22 13:28] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 11: | Line 11: | ||
===== Proposal ===== | ===== Proposal ===== | ||
- | We propose to amend the current definition of experimental: | + | We propose to amend the current definition of experimental |
Experimental Code | Experimental Code | ||
Line 21: | Line 21: | ||
* Any authoring information (known bugs, future directions of the module). | * Any authoring information (known bugs, future directions of the module). | ||
* Ongoing status notes which may not be appropriate for Git comments. | * Ongoing status notes which may not be appropriate for Git comments. | ||
- | | ||
- | If possible, new features should go to PECL or experimental branches until | ||
- | there are specific reasons for directly adding it to the core distribution. | ||
| | ||
Experimental code being distributed with PHP must follow coding standards. | Experimental code being distributed with PHP must follow coding standards. | ||
Line 30: | Line 27: | ||
cannot be marked as experimental. | cannot be marked as experimental. | ||
| | ||
- | New code, with no user base, is considered experimental for X releases/ | + | 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: | + | ===== Staging Process for Experimental Code ===== |
- | * experimental | + | Experimental |
- | * experimental | + | |
- | ===== Staging Process for Experimental Code ===== | + | Experimental |
- | + | ||
- | Experimental code can be developed in an experimental branch of php-src or an external repository. | + | |
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 47: | 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 1 week/ | + | 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 the defined period for experimental code has passed, the experimental notice must be removed and the code subject to the normal internals process. | ||
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. | 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. | ||
===== Proposed Voting Choices ===== | ===== Proposed Voting Choices ===== | ||
Line 59: | 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