As a new contributor I'm in favour of this design process. It helps folks that are new to the project get critical feedback early before shooting off in the wrong direction. It also allows more experienced members to influence the design early and ensure it stays consistent with previous practices.
Patrick ________________________________ From: Jean-Baptiste Onofré <j...@nanthrax.net> Sent: Tuesday 10 December 2024 08:59 To: dev@activemq.apache.org <dev@activemq.apache.org> Subject: [PROPOSAL] Discussing design/proposals process Hi folks, We recently discussed several proposals (SemVer in ActiveMQ, new Jakarta Message 3 support in Classic, upgrade Artemis minimum Java version, ...). I would like to propose a "process" to: - discuss "long" designs - track proposals - facilitate collaborative contributions The process proposal is the following: - the contributors work on a design proposal. This document should: a. provide a rationale and what problems are solved b. provide abstract design with context c. clearly describe design options with implementations details (optionally pseudo code) The document is a Google Document, where anyone can comment. - the Google Document link is attached to the corresponding Jira. The Jira should have the "proposal" tag. - the Google Document link is sent to the dev mailing list (with a quick description of the proposal) - If needed, the Google Document "leader" can schedule a meeting (Google Meet) to discuss details and clarify design options. This meeting should be recorded (or at least notes should be taken). The design document should be updated after the meeting, and the meeting notes should be shared either to update the design document or on the dev mailing list. It's a process used in several Apache projects (Apache Iceberg, Apache Polaris, Apache Arrow, ...) and it works pretty fine. Thanks to that: 1. we can track all proposals Jira we have (basically populated our roadmap) 2. before implementing, we can collaborate on design using the Google Document 3. we should have a better collaboration, especially on complex design/implementation For instance, I would like to illustrate the process with Jakarta Messaging 3.1 Shared Subscription. We know this feature is not trivial and requires a clean design before rushing on the code/implementation. So, we can start with a design Google Document, attached to https://issues.apache.org/jira/browse/AMQ-8323 and send the design document on the dev mailing list. Then, we start contributing to the document, adding comments with questions or suggestions. The purpose is to reach a consensus on the design before actually starting the implementation. Thoughts ? Regards JB --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@activemq.apache.org For additional commands, e-mail: dev-h...@activemq.apache.org For further information, visit: https://activemq.apache.org/contact