discussions icon indicating copy to clipboard operation
discussions copied to clipboard

Express Forward Initiative

Open sheplu opened this issue 1 year ago • 3 comments

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)

  1. Organization

    1. New Technical Committee
    2. Define Technical Committee role
    3. Update projects rules
    4. Security
    5. Supported Version
    6. Performances
    7. Up to date packages
    8. Working with the ecosystem
    9. Publishing packages
    10. Template
    11. Codeowners
    12. Visibility
    13. Global processes
  2. Technical

    1. Move to GitHub actions
    2. Reusable GitHub Action
    3. Shared configuration
    4. Using Node.js core testing
    5. Scorecard
    6. Standardize checks for PR
    7. Standardize new release
    8. Implement action for contribution
    9. Regular publishing of new version
    10. Automatic security and update
    11. Constant testing
    12. Publish and maintain types
    13. Simplified dashboard
    14. 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"

sheplu avatar Feb 20 '24 16:02 sheplu

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

wesleytodd avatar Feb 20 '24 16:02 wesleytodd

@sheplu I think we need to fit this into the plan somehow: https://github.com/expressjs/discussions/issues/69

wesleytodd avatar Feb 23 '24 17:02 wesleytodd

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.

jonchurch avatar Feb 28 '24 19:02 jonchurch