Skip to content

Commit fc7bfc2

Browse files
tobiewesleytodd
andauthored
Rename "Complete" project stage to "Feature-Complete", add new "Sunsetting" stage (#1654)
Goals: 1. Provide more transparency and clarity around project lifecycle by distinguishing feature complete projects from sunsetting ones. 2. Make it easier for project to transition to "Feature-complete" without necessarily implying that they're sunsetting. --------- Signed-off-by: Tobie Langel <[email protected]> Co-authored-by: Wes Todd <[email protected]>
1 parent b39db40 commit fc7bfc2

File tree

1 file changed

+60
-39
lines changed

1 file changed

+60
-39
lines changed

PROJECT_PROGRESSION.md

Lines changed: 60 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -21,24 +21,27 @@ flowchart TD
2121
B(Submit Application)
2222
B --> C{CPC Approval?}
2323
C --> |No|A
24-
C --> |Yes|D([Project Status: Incubating])
24+
C --> |Yes|D([Stage: Incubating])
2525
D --> E{Complete Onboarding\n Checklist?}
26-
E --> |Yes|F([Project Status: Graduated])
26+
E --> |Yes|F([Stage: Graduated])
2727
F --> Graduated
2828
subgraph Graduated
2929
direction LR
30-
a([Project Status: Impact]) <--> b([Project Status: At Large])
31-
b <--> c([Project Status: Complete])
30+
a([Stage: Impact]) <--> b([Stage: At Large]) <--> G([Stage: Feature-Complete])
3231
end
33-
Graduated --> I([Project Status: Archived])
32+
Graduated --> J{EOL announced?}
33+
J --> |Yes| H([Stage: Sunsetting])
34+
H --> K{EOL reached?}
35+
K --> |Yes| I([Stage: Archived])
3436
```
3537

3638
#### Project Stages
37-
| Stage | New Feature Development | Vulnerability & Bug fixes |
38-
|-------|---------------------|--------------|
39-
| Active (At Large/Impact) |||
40-
| Complete |||
41-
| Archived |||
39+
| Stage | New Feature Development | Vulnerability & Bug Fixes | EOL Announced | EOL Reached |
40+
|-------|:-----------------------:|:-------------------------:|:-------------:|:-----------:|
41+
| Active (At Large/Impact) |||||
42+
| Feature-Complete |||||
43+
| Sunsetting |||||
44+
| Archived |||||
4245

4346
### Project Proposal Requirements
4447

@@ -231,7 +234,7 @@ To graduate from At Large stage or for a new project to join as an Impact projec
231234

232235
#### Definition
233236

234-
Incubating projects are projects that are in the process of completing their on-boarding checklist to join the foundation. Projects in this phase may be looking to join the foundation as At-Large, Impact, or Complete Stage. Members of incubating projects are invited to join Cross Project Council meetings as a guest, please refer to the [CPC Charter](./CPC-CHARTER.md) for details on how guests may participate in the meetings.
237+
Incubating projects are projects that are in the process of completing their on-boarding checklist to join the foundation. Projects in this phase may be looking to join the foundation as At-Large, Impact, or Feature-Complete Stage. Members of incubating projects are invited to join Cross Project Council meetings as a guest, please refer to the [CPC Charter](./CPC-CHARTER.md) for details on how guests may participate in the meetings.
235238

236239
#### Examples
237240

@@ -247,27 +250,33 @@ It is expected that incubating project will make an active effort to work throug
247250

248251
<!--If this checklist is updated please ensure `https://github.com/openjs-foundation/project-status/blob/HEAD/.github/ISSUE_TEMPLATE/02-project-sunsetting-checklist-template.md` is updated as well -->
249252

250-
### Sunsetting Projects
253+
### Feature-Complete Projects
251254

252-
Projects that are being sunset fall into two statuses: Complete and Archived.
255+
#### Definition
253256

257+
An OpenJS software project is Feature-Complete when the developers responsible for it are no longer providing feature development or enhancements and are solely providing security updates and bug fixes. The software doesn't disappear; it remains functional but is not under active development.
254258

255-
#### Complete
259+
#### Acceptance Criteria
256260

257-
##### Definition
261+
Projects may be granted Feature-Complete status through CPC consensus and with the approval of the maintainers of the project.
258262

259-
An OpenJS software project is Complete, when the developers responsible for it are no longer providing feature development or enhancements and are solely providing security updates and bug fixes. The software doesn't disappear; it remains functional but is not under active development.
263+
In cases where the project maintainers aren't responding after having been repeatedly contacted through appropriate channels about the CPC's intent to move the project to Feature-Complete stage, the CPC may proceed with the stage change to either Feature-Complete, Sunsetting, or Archived without approval from the maintainers.
260264

261-
If a Complete project plans to cease security updates and bug fixes it should have a publicly communicated milestone/date, indicating when all activity on the project will cease. Once this date is reached, the project should follow the steps outlined in the Archived project checklist.
265+
### Sunsetting Projects
262266

263-
##### Acceptance Criteria
267+
#### Definition
264268

265-
Projects may be granted Complete status through CPC consensus and with the approval of the maintainers of the project.
269+
An OpenJS software project is Sunsetting when the developers responsible for it have announced a publicly communicated milestone/date indicating when all maintenance activity will cease. During this period, the project continues to provide security updates and bug fixes until the announced end-of-life date.
266270

267-
In cases where the project maintainers aren't responding after having been repeatedly contacted through appropriate channels about the CPC's intent to move the project to Complete stage, the CPC may proceed with the stage change to either Complete or Archived without approval from the maintainers.
271+
#### Acceptance Criteria
272+
273+
Projects move to Sunsetting status when maintainers of a project announce an end-of-life date. Once this date is reached, the project should follow the steps outlined in the Archived project checklist.
268274

275+
In cases where the project maintainers aren't responding after having been repeatedly contacted through appropriate channels about the CPC's intent to move the project to Sunsetting stage, the CPC may proceed with the stage change to either Sunsetting or Archived without approval from the maintainers.
269276

270-
#### Archived
277+
### Archived Projects
278+
279+
#### Definition
271280

272281
When an OpenJS project is Archived, it is typically moved to a storage state where the code and resources remain accessible but are no longer actively developed or maintained. Archiving is often done to projects that are obsolete, have been superseded by newer projects, or are no longer viable to maintain.
273282

@@ -289,15 +298,15 @@ A project's progress toward its growth plan goals will be reviewed on a regular
289298

290299
Projects are generally expected to meet their growth plan goals within two years.
291300

292-
## V. Complete Project Checklist
301+
## V. Feature-Complete Project Checklist
293302

294-
Projects that are transitioning to Complete should follow this checklist. Tasks will be completed together with the CPC and Foundation staff. The goal is to make sure that the Foundation is able to make required changes to the project if the need arises, and revive the project should this become desirable. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.
303+
Projects that are transitioning to Feature-Complete stage should follow this checklist. Tasks will be completed together with the CPC and Foundation staff. The goal is to make sure that the Foundation is able to make required changes to the project if the need arises, and revive the project should this become desirable. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.
295304

296-
### Prepare Project For Complete
305+
### Prepare Project for Feature-Complete Stage
297306

298-
- [ ] Decide in collaboration with the CPC if the project should go through the Complete phase or be directly moved to Archived
299-
- [ ] Update the README with a prominent notice declaring the project to be "Complete" and what kind of updates the project will continue to receive
300-
- [ ] If all updates to the project are planned to eventually stop, provide a date when this would occur
307+
- [ ] Decide in collaboration with the CPC if the project should move to Feature-Complete stage, or transition directly to Sunsetting or Archived
308+
- [ ] Update the README with a prominent notice declaring the project to be "Feature-Complete" and what kind of updates the project will continue to receive
309+
- [ ] If announcing an end-of-life date for maintenance, the project will move to Sunsetting stage instead
301310
- [ ] Provide a clear explanation for the decision to cease active developement on the project.
302311
- [ ] Consider creating a separate notice, issue, or blog post for wider visibility.
303312

@@ -316,26 +325,38 @@ Projects that are transitioning to Complete should follow this checklist. Tasks
316325
- [ ] Create a list of collaborators/contributors in the repository for historical reference.
317326
- [ ] Address any outstanding issues or pull requests with a closing message explaining the status.
318327
- [ ] Update project website, charter, and README to reflect the Stage
319-
- [ ] Mark project in the CPC repo's README.md as "Complete"
328+
- [ ] Mark project in the CPC repo's README.md as "Feature-Complete"
320329
- [ ] Update security policy (see [PROJECT_SECURITY_REPORTING](https://github.com/openjs-foundation/cross-project-council/blob/main/PROJECT_SECURITY_REPORTING.md)) (if applicable)
321330

322331

323-
## VI. Archived Project Checklist
332+
## VI. Sunsetting Project Checklist
324333

325-
Projects that are transitioning to Archived should follow this checklist. Tasks will be completed together with the CPC and Foundation staff. The goal is to make sure that the Foundation is able to make required changes to the project if the need arises, and revive the project should this become desirable. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.
334+
Projects that have announced an end-of-life date for maintenance activities and are therefore transitioning to Sunsetting stage should follow this checklist. Tasks will be completed together with the CPC and Foundation staff. The goal is to provide clear communication about the end-of-life timeline while continuing maintenance until the announced date. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.
326335

327-
### Prepare Project For Archiving
336+
### Prepare Project For Sunsetting
328337

329-
- [ ] Decide in collaboration with the CPC whether the project needs to be Archived or whether a call for maintenance is warranted.
330-
- [ ] Ensure all critical issues and pull requests are resolved or properly documented.
331-
- [ ] Before archiving, thoroughly review the repository for any sensitive data such as credentials, API keys, or personal information that should not be publicly archived.
332-
- [ ] Release a final version of the project, if applicable, marking or tagging it clearly as the last official release.
338+
- [ ] Decide in collaboration with the CPC on the end-of-life date for when maintenance will cease
333339

334340
### Community Communication
335341

336-
- [ ] Announce the intention to archive the project well in advance through all available channels, such as the project's mailing list, social media, and GitHub itself.
337-
- [ ] Provide a clear explanation for why the project is being archived and, if possible, recommend alternatives or forks.
338-
- [ ] Open a discussion for community feedback and potential maintainers interested in forking or taking over the project
342+
- [ ] Announce the end-of-life date and intention to eventually archive the project through all available channels, such as the project's mailing list, social media, and GitHub itself
343+
- [ ] Provide a clear explanation for why the project is sunsetting and, if possible, recommend alternatives or forks
344+
- [ ] Open a discussion for community feedback and potential maintainers interested in forking or taking over the project before the end-of-life date
345+
346+
### Project Updates
347+
348+
- [ ] Update project website, charter, and README to reflect Sunsetting stage
349+
- [ ] Mark project in the CPC repo's README.md as "Sunsetting"
350+
351+
## VII. Archived Project Checklist
352+
353+
Projects that are transitioning to Archived should follow this checklist. Tasks will be completed together with the CPC and Foundation staff. The goal is to make sure that the Foundation is able to make required changes to the project if the need arises, and revive the project should this become desirable. If you have any questions or need help, the OpenJS Foundation CPC is available to assist.
354+
355+
### Prepare Project For Archiving
356+
357+
- [ ] Ensure all critical issues and pull requests are resolved or properly documented
358+
- [ ] Before archiving, thoroughly review the repository for any sensitive data such as credentials, API keys, or personal information that should not be publicly archived
359+
- [ ] Release a final version of the project, if applicable, marking or tagging it clearly as the last official release
339360

340361
### Archive Related Materials
341362

@@ -380,7 +401,7 @@ As part of the yearly rhythm of Foundation and Project communications, the CPC w
380401
* Verify or update their maintainers' contact information (GitHub handle and email).
381402
* Raise concerns with the CPC
382403
* Provide other relevant information
383-
* Responses from the Project Health Survey will be delivered to the Foundation and CPC for consideration, including discussions of Archiving and Complete activities, and proactive support for projects in need.
404+
* Responses from the Project Health Survey will be delivered to the Foundation and CPC for consideration, including discussions of transitioning projects to Feature-Complete, Sunsetting or Archived stage, and proactive support for projects in need.
384405

385406

386407

0 commit comments

Comments
 (0)