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


Reply via email to