Hi Ken

I propose to use PR on activemq website, using docs folder
(https://github.com/apache/activemq/tree/main/docs/).
Let's start by creating a proposals folder inside docs and add md
documents there in a PR.

Thoughts ?

Regards
JB

On Mon, Feb 17, 2025 at 6:52 PM Ken Liao <kenlia...@gmail.com> wrote:
>
> Hey folks,
>
> Could we create a place for holding design docs as a first step? I have a
> few pending design docs ready for review and potentially we can use that to
> test the new proposal as well. WDYT?
>
> Thanks,
> Ken
>
> On Wed, Jan 8, 2025 at 7:56 AM Matt Pavlovich <mattr...@gmail.com> wrote:
>
> > Sounds good
> >
> > > On Jan 7, 2025, at 7:41 AM, Jean-Baptiste Onofré <j...@nanthrax.net>
> > wrote:
> > >
> > > Hi
> > >
> > > I think so, the final proposal is:
> > >
> > > - we describe the design document is using markdown
> > > - we create a PR on the main repo containing the markdown, adding
> > > design folder (for ActiveMQ Classic, the PR would be based on
> > > https://github.com/apache/activemq in a design folder)
> > > - the review and comments are discussed directly in the PR where we
> > > "enrich" the design
> > > - when a consensus is reached, the PR is merged and another PR for
> > > implementation can start
> > >
> > > Thoughts ?
> > >
> > > I plan to open a first PR using this process for receiveBody().
> > >
> > > Regards
> > > JB
> > >
> > > On Tue, Jan 7, 2025 at 1:31 PM Christopher Shannon
> > > <christopher.l.shan...@gmail.com> wrote:
> > >>
> > >> Did we come to a consensus on where to put the design docs? It looks
> > like a
> > >> Git repo was favored but not sure we ever came up with a spot for it or
> > >> decided where things should be.
> > >>
> > >> On Sat, Dec 21, 2024 at 1:33 AM Jean-Baptiste Onofré <j...@nanthrax.net>
> > >> wrote:
> > >>
> > >>> Hi,
> > >>>
> > >>> To illustrate that, as I've started to work on receiveBody()
> > >>> implementation, before opening the PR, I will draft a design proposal
> > >>> for receiveBody() and use the process we discussed here.
> > >>> We will be able to "adapt" the process if needed.
> > >>>
> > >>> I will keep you posted.
> > >>>
> > >>> Regards
> > >>> JB
> > >>>
> > >>> On Fri, Dec 20, 2024 at 8:54 PM Justin Bertram <jbert...@apache.org>
> > >>> wrote:
> > >>>>
> > >>>>> ...when I say “users”— Developers extending the product are also
> > >>> “users”
> > >>>> here, not just app teams sen/recv messages.
> > >>>>
> > >>>> I was thinking of the same class of users.
> > >>>>
> > >>>>> As most features (in ActiveMQ Classic) have extension points, having
> > >>>> these design docs included in the hosted documentation is a way to
> > >>> benefit
> > >>>> that class of users.
> > >>>>
> > >>>> Instead of out-of-band implementation design docs I would suggest
> > robust
> > >>>> API/SPI docs in the code (e.g. JavaDoc) to give this class of
> > >>>> developers/users all the information they need to extend the broker.
> > This
> > >>>> is an industry standard and what most Java developers would expect.
> > >>>>
> > >>>> Ultimately my concern here is to mitigate the proliferation of
> > technical
> > >>>> debt. This website is already chock full of well intentioned docs that
> > >>> were
> > >>>> relevant at the time but slowly fell out of date and now represent a
> > >>>> maintenance burden.
> > >>>>
> > >>>>> I think it would be confusing and counter productive to host design
> > >>>> documents for both brokers in the same repo. This would be really
> > >>> confusing.
> > >>>>
> > >>>> It seems pretty straight-forward to me as long as the directories are
> > >>>> clearly labeled. After all, the website contains info about both
> > brokers
> > >>>> (and every other component), and it's just one repo. Folks don't seem
> > to
> > >>>> have trouble with that, but maybe I'm wrong.
> > >>>>
> > >>>>
> > >>>> Justin
> > >>>>
> > >>>>
> > >>>> On Wed, Dec 18, 2024 at 10:39 AM Matt Pavlovich <mattr...@gmail.com>
> > >>> wrote:
> > >>>>
> > >>>>> Let me clarify when I say “users”— Developers extending the product
> > are
> > >>>>> also “users” here, not just app teams sen/recv messages.
> > >>>>>
> > >>>>> As most features (in ActiveMQ Classic) have extension points, having
> > >>> these
> > >>>>> design docs included in the hosted documentation is a way to benefit
> > >>> that
> > >>>>> class of users.
> > >>>>>
> > >>>>> I think it would be confusing and counter productive to host design
> > >>>>> documents for both brokers in the same repo. This would be really
> > >>>>> confusing. Having Artemis design docs in the Artemis docs source area
> > >>> and
> > >>>>> the Classic design docs in the classic doc repo area would seem to
> > make
> > >>>>> sense to avoid confusion.
> > >>>>>
> > >>>>> Matt Pavlovich
> > >>>>>
> > >>>>>> On Dec 12, 2024, at 12:38 PM, Justin Bertram <jbert...@apache.org>
> > >>>>> wrote:
> > >>>>>>
> > >>>>>> I'm not sold on the "user-accessible documentation" aspect of this.
> > >>>>>> Documenting design in enough detail to actually help developers
> > >>> implement
> > >>>>>> the design is, in my experience, not great for user docs.
> > >>> Furthermore, it
> > >>>>>> introduces a maintenance burden because if future code updates alter
> > >>> the
> > >>>>>> design then corresponding documentation updates will be necessary in
> > >>>>> order
> > >>>>>> to keep them relevant.
> > >>>>>>
> > >>>>>> The more detailed the design document is the more helpful it will be
> > >>> to
> > >>>>> the
> > >>>>>> developer implementing that design, but the more of a burden it will
> > >>> be
> > >>>>> if
> > >>>>>> incorporated into user docs. This is not dissimilar to comments in
> > >>> code
> > >>>>>> which slowly fall out of date as the code evolves. Eventually the
> > >>> comment
> > >>>>>> is confusing and hurts more than helps.
> > >>>>>>
> > >>>>>> At this point I would consider these design docs as categorically
> > >>>>> different
> > >>>>>> from code and user documentation so I wouldn't welcome them in the
> > >>>>>> respective Git repo of the component. I think a separate repo makes
> > >>> more
> > >>>>>> sense.
> > >>>>>>
> > >>>>>>
> > >>>>>> Justin
> > >>>>>>
> > >>>>>> On Thu, Dec 12, 2024 at 12:04 PM Matt Pavlovich <mattr...@gmail.com
> > >
> > >>>>> wrote:
> > >>>>>>
> > >>>>>>> I like the idea of git — one thought—  could we simply use the
> > >>>>> sub-project
> > >>>>>>> code repo associated for the project? This would allow for keeping
> > >>> the
> > >>>>>>> design/dev docs near the code and automatically create
> > >>> user-accessible
> > >>>>>>> documentation in a two-for-one.
> > >>>>>>>
> > >>>>>>> Example: docs/design/   <— place markdown, asciidoc or whatever
> > here
> > >>>>>>>
> > >>>>>>> Thanks,
> > >>>>>>> Matt
> > >>>>>>>
> > >>>>>>>> On Dec 11, 2024, at 11:14 AM, Justin Bertram <jbert...@apache.org
> > >
> > >>>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>> I'm with Matt here. It would be good to have a more robust process
> > >>> for
> > >>>>>>>> developing design documents, but I'm not in favor of Google Docs
> > >>> for
> > >>>>>>> this.
> > >>>>>>>>
> > >>>>>>>> I actually think we already have a great tool for this - Git. We
> > >>> can
> > >>>>>>> create
> > >>>>>>>> a new Git repo (e.g. named activemq-design-docs). When we create a
> > >>> Jira
> > >>>>>>>> that needs a corresponding design doc we can create a new
> > >>> directory in
> > >>>>>>> that
> > >>>>>>>> Git repo with a name corresponding to the Jira. In that directory
> > >>> we
> > >>>>> can
> > >>>>>>>> add documentation, images, and whatever other assets we need. Both
> > >>>>>>> MarkDown
> > >>>>>>>> and AsciiDoc are sufficiently feature rich to capture complex
> > >>> ideas.
> > >>>>> When
> > >>>>>>>> the pull request for the document is created folks can comment
> > >>> inline,
> > >>>>>>>> request changes, etc. The author can request reviews from specific
> > >>>>> folks
> > >>>>>>>> (if necessary). It can be held in "draft" state until complete if
> > >>>>>>>> necessary. The link to the PR can be automatically added to the
> > >>> Jira
> > >>>>>>> (i.e.
> > >>>>>>>> via ASF Infra integration) and comments on the PR will be
> > >>> reflected on
> > >>>>>>> the
> > >>>>>>>> Jira and on the relevant mailing list. The resulting document will
> > >>> be
> > >>>>>>>> clearly and publicly available and will be able to evolve over
> > time
> > >>>>> even
> > >>>>>>>> after the first commit is merged. Just keep adding commits and
> > >>>>>>> discussions
> > >>>>>>>> until everything is sorted - just like the source code and
> > >>>>> documentation
> > >>>>>>> we
> > >>>>>>>> already work with. Folks are already familiar with this process
> > and
> > >>>>> these
> > >>>>>>>> tools. I think this would also eliminate any strict need for a
> > >>>>> [DISCUSS]
> > >>>>>>>> thread. We already have long discussions on PRs that don't have a
> > >>>>>>>> corresponding [DISCUSS] thread so doing this for design docs would
> > >>> just
> > >>>>>>> be
> > >>>>>>>> business as usual.
> > >>>>>>>>
> > >>>>>>>> Thoughts?
> > >>>>>>>>
> > >>>>>>>>
> > >>>>>>>> Justin
> > >>>>>>>>
> > >>>>>>>> On Tue, Dec 10, 2024 at 1:29 PM Matt Pavlovich <
> > mattr...@gmail.com
> > >>>>
> > >>>>>>> wrote:
> > >>>>>>>>
> > >>>>>>>>> +1 for the design discussion / document approach vs JIRA.
> > >>>>>>>>>
> > >>>>>>>>> -1 on using Google Docs — I’m not in favor of adding
> > >>> yet-another-tool.
> > >>>>>>> How
> > >>>>>>>>> about something like GH discussions? or some other capability
> > >>> already
> > >>>>>>>>> available to Apache projects. Adding Google introduces a whole
> > new
> > >>>>>>>>> authentication/authorization/identity system.
> > >>>>>>>>>
> > >>>>>>>>> We could then slightly alter the [DISCUSS] process to be —
> > >>> announce on
> > >>>>>>> dev@
> > >>>>>>>>> via [DISCUSS] subject that a new discussion is taking place on GH
> > >>>>>>>>> discussions (or whatever other tool) and provide the link.
> > >>>>>>>>>
> > >>>>>>>>> Thanks!
> > >>>>>>>>> Matt Pavlovich
> > >>>>>>>>>
> > >>>>>>>>>> On Dec 10, 2024, at 10:59 AM, Jean-Baptiste Onofré <
> > >>> j...@nanthrax.net>
> > >>>>>>>>> wrote:
> > >>>>>>>>>>
> > >>>>>>>>>> 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
> > >>>>>>>>>>
> > >>>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>> ---------------------------------------------------------------------
> > >>>>>>>>> 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
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>> ---------------------------------------------------------------------
> > >>>>>>> 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
> > >>>>>>>
> > >>>>>>>
> > >>>>>>>
> > >>>>>
> > >>>>>
> > >>>>> ---------------------------------------------------------------------
> > >>>>> 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
> > >>>>>
> > >>>>>
> > >>>>>
> > >>>
> > >>> ---------------------------------------------------------------------
> > >>> 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
> > >>>
> > >>>
> > >>>
> > >
> > > ---------------------------------------------------------------------
> > > 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
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > 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
> >
> >
> >

---------------------------------------------------------------------
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