discussions
discussions copied to clipboard
Express Forward Initiative
Following our last TC meeting, I drafted a full document with specific point of attention. As this is quite long I will be splitting everything in separate issue, only keeping this one as the main entry point
With the new Express Forward initiative going on, it is time to be more precise about all the actions that will need to be taken. The scope of the project being huge, the impacts have to be limited, controlled while being able to respond to all issues that the project was facing. This document can also be used to display the roadmap of the product and where the community can be involved.
This document is not especially using the Roadmap for Express 5, Express 6 and beyond, but addresses global points both from an organization point of view or technical one.
Here is the full list with all related issues (~~in progress - I am posting everything and then cleaning / improving the issues~~ - done now, I am improving the content but we can start discussing)
-
Organization
-
Technical
- Move to GitHub actions
- Reusable GitHub Action
- Shared configuration
- Using Node.js core testing
- Scorecard
- Standardize checks for PR
- Standardize new release
- Implement action for contribution
- Regular publishing of new version
- Automatic security and update
- Constant testing
- Publish and maintain types
- Simplified dashboard
- Deprecate Node.js
Some of them may be duplicate, or could be merged. On the other hand maybe some topics will need to be divided for a better efficiency. Let's try to keep all the discussion in the "sub issue"
I think quite a few of these need edits, both in the title and description. Do you mind if I edit them to help clarify? Or would you rather I comment in the issues (like I already started to) and then you can apply edits? I just want to make sure we are all on the same page on what is covered in them.
EDIT: it is possible you have already answered me here :P https://github.com/expressjs/discussions/issues/180#issuecomment-1954638966
@sheplu I think we need to fit this into the plan somehow: https://github.com/expressjs/discussions/issues/69
As Im being a squeaky wheel about "Focus" and "Goals" lifted from the EFI, here is an outline I came up with for different "seasons" of this initiative. A season could last as little as two weeks, or longer depending on the scope.
Consider the content of the following as a draft/placeholder, but the sentiment as a strong recommendation:
Express Forward Initiative: Seasonal Focus Plan
Season 0: "Foundation Forge"
Maps directly to #168 #169 #170
Focus: Streamline the project's foundational processes, including governance structure and maintenance workflows, while identifying existing bugs to stabilize the codebase.
Goals:
- Establish and clarify the roles and responsibilities of the new Technical Committee (TC) to ensure effective governance.
- Modernize the maintenance and publishing workflows with automated tools (e.g., GitHub Actions) for efficiency.
- Identify existing bugs and technical debt we must address to stabilize the current codebase.
Season 1: "Security! Security!"
Maps directly to #171 #190
Focus: Fortify the project's security posture by forming a dedicated Security Working Group, conducting thorough security audits, and addressing vulnerabilities.
Goals:
- Create a Security Working Group to spearhead efforts in identifying and mitigating security vulnerabilities.
- Undertake a comprehensive security audit of the codebase, updating dependencies to secure versions.
- Develop security guidelines for contributions and implement automated security checks in the CI/CD pipeline.
Season 2: "#Engagement"
Maps to #175 #184 #191 , maybe #189, #192
Focus: Rekindle and strengthen connections within the existing Node.js ecosystem, focusing on interoperability with projects that consume Express or its components, and establishing collaborative feedback loops for the continuous improvement of Express.
Goals:
- Forge stronger relationships with key projects and frameworks within the Node.js ecosystem that rely on Express, aiming for mutual compatibility and support.
- Collaborate with the Node.js core team and community projects to integrate Express's testing with Node.js core testing practices, ensuring that Express is always compatible with the latest Node.js versions.
- Develop a streamlined process for incorporating feedback from ecosystem partners into the Express development cycle, particularly focusing on the needs and challenges identified by those building on or with Express.
Season 3: "Back (compat) to the Future"
Focus: Prepare for the launch of the new major version, emphasizing pre-release testing, documentation, and establishing a clear, community-informed roadmap.
Goals:
- Conduct extensive beta testing with community involvement to ensure the new major version is robust and meets user needs.
- Complete comprehensive documentation for new features and breaking changes, including migration guides.
- Finalize the release strategy, ensuring a smooth rollout of the new major version with community support and enthusiasm.