Skip to content

Commit 3d88077

Browse files
authored
Merge pull request #113 from neatudarius/issue/112
December 2025 docs sync
2 parents 0fd4f42 + ca3a3c4 commit 3d88077

File tree

3 files changed

+58
-8
lines changed

3 files changed

+58
-8
lines changed

docs/beman_library_maturity_model.md

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,13 @@ These libraries may deviate from the Beman Standard due to incompleteness, lack
2020
2121
### Production ready. API may undergo changes.
2222

23-
These Beman-compliant libraries are production-ready, fully implementing the target paper with complete testing and documentation. Users should be aware that future API changes are possible and that standardization is not guaranteed.
23+
These Beman-compliant libraries are production-ready, fully implementing the target paper with complete testing and documentation. Users should be aware that future API changes are possible and that standardization is not guaranteed. See below for details on the requirements to transition to production-ready.
2424

2525
> These libraries are recommended for production usage.
2626
2727
### Production ready. Stable API.
2828

29-
These production-ready libraries offer stable, standardized APIs. They are part of the C++ Standard and can be used as a polyfill for compilers lacking native support. Note that these libraries will be retired after two standardization cycles (6 years).
29+
These production-ready libraries offer stable, standardized APIs. They are part of the C++ Standard and can be used as a polyfill for compilers lacking native support. Note that these libraries will be retired after two standardization cycles (6 years).
3030

3131
> These libraries are recommended for production usage.
3232
@@ -37,10 +37,58 @@ These libraries were archived and no longer maintained. These libraries are not
3737
> These libraries are not recommended for production use!
3838
> These libraries were removed from the Beman main distribution, but the initial authors could still support them outside the Beman Project.
3939
40+
4041
Transition examples:
4142

42-
- They were [Production ready. Stable API.](./beman_library_maturity_model.md#production-ready-stable-api) at some point, but are no longer developed or maintained, being superseded by native compiler implementations - `Mature retirement`.
43+
* They were [Production ready. Stable API.](./beman_library_maturity_model.md#production-ready-stable-api) at some point, but are no longer developed or maintained, being superseded by native compiler implementations - `Mature retirement`.
44+
45+
* They were [Production ready. API may undergo changes.](./beman_library_maturity_model.md#production-ready-api-may-undergo-changes) at some point, but are no longer developed or maintained, being rejected from the ISO C++ Standardization - `Early retirement`.
46+
47+
* They were [Under development and not yet ready for production use.](./beman_library_maturity_model.md#under-development-and-not-yet-ready-for-production-use) at some point and were abandoned - `Early retirement`.
48+
49+
50+
## Review Process for Transitioning a Library to “Production Ready”
51+
52+
For a Beman Project library from **Under Development** to **Production Ready** status a formal review needs to be completed.
53+
The intent is to ensure that every production-ready library meets the Beman standard for quality, completeness, and
54+
documentation, and that it has received sufficient community review and testing.
55+
56+
---
57+
58+
### Review Process Details
59+
60+
61+
1. **Review Logistics**
62+
Typically this is requested by the library author, but any community member that feels a library is ready can suggest
63+
a review. The review will be managed by one or more leads or an lead appointee/volunteer.
64+
65+
A post is made on [Discourse](https://discourse.bemanproject.org) announcing the start of a **two-week library review** period.
66+
The announcement should include:
67+
68+
* The released version of the library to review.
69+
* Link to a PR to review for review comments.
70+
- Note: The PR may not have much diff content but is the place for gathering feedback.
71+
* Any other guidance for the reviewers.
72+
73+
3. **Review Criteria**
74+
To be eligible for *Production Ready* status, a library must demonstrate that it:
75+
76+
* Meets the **Beman Standard** with deviations documented (passes beman.tidy checks).
77+
* Has **comprehensive unit test coverage** validating functionality and edge cases.
78+
* Includes **complete and accurate documentation**, including tutorial, design rationale, and examples.
79+
80+
Note that much of the design documentation may simply reference the WG21 paper.
81+
Also note that since the current documentation system is a work in progress, docs should be Markdown for now.
82+
83+
4. **Community Evaluation**
84+
During the review period, the community is encouraged to:
85+
86+
* Build and test the library on supported platforms.
87+
* Review its design and documentation.
88+
* Provide feedback and raise issues for discussion.
4389

44-
- They were [Production ready. API may undergo changes.](./beman_library_maturity_model.md#production-ready-api-may-undergo-changes) at some point, but are no longer developed or maintained, being rejected from the ISO C+ Standardization - `Early retirement`.
90+
4. **Approval Requirements**
91+
A library may transition to *Production Ready* status only after:
4592

46-
- They were [Under development and not yet ready for production use.](./beman_library_maturity_model.md#under-development-and-not-yet-ready-for-production-use) at some point and were abandoned - `Early retirement`.
93+
* Demonstrated **positive community consensus** that the review criteria have been met as determined by **at least two project leads**, or
94+
* in the rare case there is lack of consensus, the leads make a call.

docs/beman_standard.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -328,6 +328,8 @@ If the library has been deployed onto Compiler Explorer, add this badge and repl
328328
[Give **std::optional** Range Support (P3168R1)](https://wg21.link/P3168R1).
329329
```
330330

331+
Note that specifying the revision number is optional.
332+
331333
### **[readme.library_status]**
332334

333335
**Requirement**: Following the implements section and a newline, the `README.md` must indicate the **current** library status with respect to the [Beman library maturity model](https://github.com/bemanproject/beman/blob/main/docs/beman_library_maturity_model.md). An extra badge must be added to the `README.md` to visually indicate the library status (check `[readme.badges]`). Note: The full library status history can be found in the GitHub release notes.

docs/governance.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ The Beman Project is dedicated to providing the guidance and facilities to ensur
1212
We help library authors with development best practices, peer review, and contributing to the C++ standard.
1313
We distribute the libraries proposed for standardization to facilitate early usage and feedback.
1414

15-
The Beman project is named in memory of Beman Dawes - co-founder of [Boost](https://www.boost.org).
15+
The Beman Project is named in memory of Beman Dawes - co-founder of [Boost](https://www.boost.org).
1616

1717
# 2. Membership
1818

@@ -65,8 +65,8 @@ Removal as a Beman Project Library Author may be done when the library no longer
6565

6666
# 4.1 Consensus Decision-Making:
6767

68-
Beman Project strives to make decisions through consensus among the Project Contributors and the Project Leads.
69-
Proposals on the best way to proceed should be discussed in good faith.
68+
Beman Project strives to make decisions through consensus among the Project Contributors and the Project Leads.
69+
Proposals on the best way to proceed should be discussed in good faith.
7070
Beman Project Leads ultimately decide the direction of the Project.
7171

7272
# 5. Code of Conduct

0 commit comments

Comments
 (0)