Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Express Forward Initiative #167

Open
sheplu opened this issue Feb 20, 2024 · 3 comments
Open

Express Forward Initiative #167

sheplu opened this issue Feb 20, 2024 · 3 comments
Labels
top priority Issues which the TC deem our current highest priorities for the project

Comments

@sheplu
Copy link
Member

sheplu commented Feb 20, 2024

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"

@wesleytodd
Copy link
Member

wesleytodd commented Feb 20, 2024

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 #180 (comment)

@wesleytodd
Copy link
Member

@sheplu I think we need to fit this into the plan somehow: #69

@wesleytodd wesleytodd added the top priority Issues which the TC deem our current highest priorities for the project label Feb 26, 2024
@wesleytodd wesleytodd pinned this issue Feb 28, 2024
@jonchurch
Copy link
Member

jonchurch commented Feb 28, 2024

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
top priority Issues which the TC deem our current highest priorities for the project
Projects
None yet
Development

No branches or pull requests

3 participants