rfc:third-party-code

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
rfc:third-party-code [2024/09/30 19:36] – Allow any Free Software crellrfc:third-party-code [2024/10/06 12:58] (current) – Improve wording again crell
Line 1: Line 1:
 ====== PHP RFC: Policy on 3rd party code ====== ====== PHP RFC: Policy on 3rd party code ======
   * Version: 0.9   * Version: 0.9
-  * Date: 2013-02-24 (use today's date here)+  * Date: 2024-10-02
   * Author: Larry Garfield (larry@garfieldtech.com)   * Author: Larry Garfield (larry@garfieldtech.com)
-  * Status: Draft+  * Status: Discussion
   * First Published at: http://wiki.php.net/rfc/third-party-code   * First Published at: http://wiki.php.net/rfc/third-party-code
  
Line 24: Line 24:
 **Marketing material** refers to content on PHP.net or similar sites intended to promote or evangelize PHP the language or ecosystem. **Marketing material** refers to content on PHP.net or similar sites intended to promote or evangelize PHP the language or ecosystem.
  
-**Libraries** refers to existing third party code packages or tools, either C extensions or PHP code, maintained by someone other than the PHP Internals team.  It may also refer to non-profit PHP ecosystem organizations, such as the PHP Foundation or PHP-FIG.+**Libraries** refers to existing third party code packages or tools, either C extensions or PHP code, maintained by someone other than the PHP Internals team.  It also includes command line utilities used primarily by a developer.  It may also refer to non-profit PHP ecosystem organizations, such as the PHP Foundation or PHP-FIG.
  
-**Approved license** refers to a license approved by the Free Software Foundation as Free Software.  Of notethis excludes the PHP License, but as that is virtually never used for user-space code that is a non-issue.+**Web Application** refers to a "full" web framework that provides end-to-end web application capabilities, or an installable complete application.  It does not refer to command line utilities used primarily by developers building applications. 
 + 
 +**Approved license** refers to a license [[https://www.gnu.org/licenses/license-list.en.html|approved by the Free Software Foundation]] as Free Software, and that is inbound compatible with GPLv3.
  
 ==== PHP tooling ==== ==== PHP tooling ====
Line 41: Line 43:
 Exclusion criteria: Exclusion criteria:
  
-  - The library is a "full" framework or application+  - The library is a Web Application
   - The library is not available under an Approved License.   - The library is not available under an Approved License.
   - The library has shown no meaningful activity for one year prior to its first inclusion.   - The library has shown no meaningful activity for one year prior to its first inclusion.
Line 54: Line 56:
  
   - The library must have a stable >= 1.0 release, and have had one for at least a year.   - The library must have a stable >= 1.0 release, and have had one for at least a year.
-  - The library provides a use that is commonly needed by numerous types of projects, and a reasonable estimate would make it relevant to at least 40% of the PHP ecosystem.+  - The library provides a use that is commonly needed by many types of projects, making it of **broad interest** to the PHP ecosystem.
   - The library is a recognized de facto standard, or one of a small number of de facto standards, in its problem space.  If there are a small number of de facto standard libraries, then all should be listed and given equal weight.   - The library is a recognized de facto standard, or one of a small number of de facto standards, in its problem space.  If there are a small number of de facto standard libraries, then all should be listed and given equal weight.
   - The library is available under an Approved License.   - The library is available under an Approved License.
Line 62: Line 64:
  
   - The library is one of many (more than ~4) viable options in its problem space, even if it is the most common of those many options.   - The library is one of many (more than ~4) viable options in its problem space, even if it is the most common of those many options.
-  - The library is a "full" application or framework.+  - The library is a Web Application.
   - The library is not available under an Approved License.   - The library is not available under an Approved License.
   - The library has shown no meaningful activity for one year prior to its first mention.   - The library has shown no meaningful activity for one year prior to its first mention.
Line 76: Line 78:
  
   - The library must have a stable >= 1.0 release, and have had one for at least a year.   - The library must have a stable >= 1.0 release, and have had one for at least a year.
-  - The library provides a use that is commonly needed by numerous types of projects, and a reasonable estimate would make it relevant to at least 25% of the PHP ecosystem.+  - The library provides a use that is commonly needed by many types of projects, making it of **significant interest** to the PHP ecosystem.
   - The library is a recognized de facto standard, or one of a small number of de facto standards, in its problem space.  If there are a small number of de facto standard libraries, then all should be listed and given equal weight.   - The library is a recognized de facto standard, or one of a small number of de facto standards, in its problem space.  If there are a small number of de facto standard libraries, then all should be listed and given equal weight.
-  - The library MAY be a full application or framework, provided its mention clearly does not specifically endorse the library.  If many options exist in a space that bears mention, at least the three most common should be given equal exposure.+  - The library MAY be a Web Application, provided its mention clearly does not specifically endorse the Application.  If many options exist in a space that bears mention, the most common should be given equal exposure.
   - The library is available under an Approved License.   - The library is available under an Approved License.
   - The language used to describe the library does not imply that the PHP Project is involved in or specifically recommends the library over some other.   - The language used to describe the library does not imply that the PHP Project is involved in or specifically recommends the library over some other.
- 
  
 Exclusion criteria: Exclusion criteria:
Line 97: Line 98:
 ==== Initially approved libraries ==== ==== Initially approved libraries ====
  
-The following packages are explicitly approved for use by this RFC, as they meet all of the criteria above.+The following packages are explicitly approved for use by this RFC for all three use cases, as they meet all of the criteria above.
  
   * Composer   * Composer
Line 106: Line 107:
   * Any library or PSR published by the PHP-FIG   * Any library or PSR published by the PHP-FIG
  
-Additionally, for historical reasons, Docuwiki is explicitly approved for use despite it being a "full" application.+Additionally, for historical reasons, Dokuwiki is explicitly approved for use despite it being a Web Application as defined above.
  
  
Line 132: Line 133:
 ===== References ===== ===== References =====
  
-Links to external references, discussions or RFCs+ * [[https://news-web.php.net/php.internals/125732|Discussion on internals@]]
  
 ===== Rejected Features ===== ===== Rejected Features =====
  
  
rfc/third-party-code.1727725013.txt.gz · Last modified: 2024/09/30 19:36 by crell