Any other PMC member can take a look at the new template PR <https://github.com/apache/pulsar/pull/19832>? Ideally I would like to have 2-3 PMC member approval for this.
> On 17 Mar 2023, at 18:23, Michael Marshall <mmarsh...@apache.org> wrote: > > Thanks for this initiative, Asaf. > > As part of this process, I would like for us to add a security and a > multi-tenancy section to the PIP template. > > As you suggest, the template conveys what the community values, and > these two sections must always be considered when changing Pulsar in > fundamental ways. > > (Thanks for already adding the security section to your template!) > > Thanks, > Michael > > On Thu, Mar 16, 2023 at 2:58 AM Asaf Mesika <asaf.mes...@gmail.com> wrote: >> >> Here's the PR to remove the form and add a new issue template in Markdown >> containing the suggested structure and description for each section. >> >> https://github.com/apache/pulsar/pull/19832 >> >> >> On Wed, Mar 1, 2023 at 3:43 PM Elliot West >> <elliot.w...@streamnative.io.invalid> wrote: >> >>> +1 Asaf >>> >>> I'd also suggest that we encourage the submission of relevant diagrams. >>> This is trivial to do with the GitHub markdown editor, but I suspect is >>> often neglected because users do not know the feature exists. >>> >>> On Wed, 1 Mar 2023 at 13:22, Asaf Mesika <asaf.mes...@gmail.com> wrote: >>> >>>> Ok. >>>> >>>> I'll draft a PR and link it here when I'm done. Thanks! >>>> >>>> On Tue, Feb 28, 2023 at 7:08 AM PengHui Li <peng...@apache.org> wrote: >>>> >>>>> +1 >>>>> >>>>> Penghui >>>>> >>>>> On Mon, Feb 27, 2023 at 9:24 PM Asaf Mesika <asaf.mes...@gmail.com> >>>> wrote: >>>>> >>>>>> Mails don't support things like markdown diagrams or images and are >>>>>> generally less easy to read. >>>>>> My proposal includes a required section called Links in which you >>> need >>>> to >>>>>> fill in the discussion thread in DEV mailing list and vote thread. >>>>>> >>>>>> >>>>>> On Mon, Feb 27, 2023 at 3:08 PM Girish Sharma < >>> scrapmachi...@gmail.com >>>>> >>>>>> wrote: >>>>>> >>>>>>> Hi Asaf, >>>>>>> I was referring to the PIP process, as a whole, as explained in >>>>>>> https://github.com/apache/pulsar/blob/master/wiki/proposals/PIP.md >>>>>>> Someone looking at GitHub ticket would find and almost empty PIP GH >>>>> issue >>>>>>> while the same PIP has had many discussions over here in the ML. >>>>>>> There is scope of improvement in the process where we either remove >>>> the >>>>>>> first step to create the PIP over at GitHub and directly present >>> the >>>>> PIP >>>>>> in >>>>>>> the first mail of the thread here, or we do all discussions in GH. >>>>>>> Both the ML and GH are searchable and linkable for tracking >>> purposes. >>>>>>> >>>>>>> Regards >>>>>>> >>>>>>> On Mon, Feb 27, 2023 at 6:23 PM Asaf Mesika <asaf.mes...@gmail.com >>>> >>>>>> wrote: >>>>>>> >>>>>>>> On Sun, Feb 26, 2023 at 2:49 PM Girish Sharma < >>>>> scrapmachi...@gmail.com >>>>>>> >>>>>>>> wrote: >>>>>>>> >>>>>>>>> Good proposal Asaf. >>>>>>>>> I've also wondered why the PIP creation and discussion process >>> is >>>>> so >>>>>>>>> separated. The PIP discussion and voting starts off as a GitHub >>>>>> issue, >>>>>>>> but >>>>>>>>> all of its discussion happens here on the mailing list. Is >>> there >>>>>> scope >>>>>>> of >>>>>>>>> improvement in that process as well? >>>>>>>>> >>>>>>>> >>>>>>>> Not sure I follow. Can you outline the problem exactly? >>>>>>>> >>>>>>>> >>>>>>>>> >>>>>>>>> Regards >>>>>>>>> >>>>>>>>> On Sun, Feb 26, 2023 at 6:16 PM tison <ti...@apache.org> >>> wrote: >>>>>>>>> >>>>>>>>>> Hi Asaf, >>>>>>>>>> >>>>>>>>>> I agree that, generally, a PIP is written as a whole and >>> paste >>>> as >>>>>> the >>>>>>>>> body. >>>>>>>>>> So +1 for your proposal. >>>>>>>>>> >>>>>>>>>> Additionally, I'm thinking of moving the doc of procedure >>>>>>> (wiki/PIP.md) >>>>>>>>> to >>>>>>>>>> the contributions guide and use the new markdown template to >>>>>>> supersede >>>>>>>>> the >>>>>>>>>> wiki/PIP-template.md. Then we don't need to hold the wiki >>>> folder. >>>>>>>>>> >>>>>>>>>> It can be an extended version to your proposal, so let's keep >>>> on >>>>>> your >>>>>>>>>> proposal in this thread. Just for your reference. >>>>>>>>>> >>>>>>>>>> Best, >>>>>>>>>> tison. >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Asaf Mesika <asaf.mes...@gmail.com> 于2023年2月26日周日 19:18写道: >>>>>>>>>> >>>>>>>>>>> Hi, >>>>>>>>>>> >>>>>>>>>>> I would like to suggest two changes I'd like to make to the >>>> PIP >>>>>>>> design >>>>>>>>>>> template: >>>>>>>>>>> 1. Remove the form - just have a markdown template fill the >>>>> issue >>>>>>>> body >>>>>>>>> as >>>>>>>>>>> it is created. >>>>>>>>>>> 2. Change the PIP template structure >>>>>>>>>>> >>>>>>>>>>> == Removing the form >>>>>>>>>>> >>>>>>>>>>> Today, when you want to submit a PIP, you are required to >>>> fill >>>>>> out >>>>>>> a >>>>>>>>> form >>>>>>>>>>> with boxes composed of 3-4 lines length. >>>>>>>>>>> It's not good because: >>>>>>>>>>> * It broadcasts to the author: we want a very small PIP, >>>>>> something >>>>>>>> that >>>>>>>>>>> fits those small boxes. >>>>>>>>>>> * It makes the PIP look like a bug, where you fill out >>>> fields. >>>>>>>>>>> * It doesn't allow having H2 headings, only H1 headings, >>> thus >>>>>>>> limiting >>>>>>>>>> the >>>>>>>>>>> structure. >>>>>>>>>>> >>>>>>>>>>> A PIP is a design essentially, something 1-3 pages long. >>>> Thus, >>>>>>>>>>> people take the time to write it down. Preferably, they >>> copy >>>>>> paste >>>>>>>> the >>>>>>>>>> body >>>>>>>>>>> of the PIP issue, and use it to fill in sections. >>>>>>>>>>> >>>>>>>>>>> My suggestion is to define an issue template using only >>>>> markdown, >>>>>>>>>> without a >>>>>>>>>>> form. >>>>>>>>>>> >>>>>>>>>>> == Changing PIP Structure >>>>>>>>>>> >>>>>>>>>>> Today the structure of the PIP doc (pasted below), is >>>> missing a >>>>>>>> section >>>>>>>>>> and >>>>>>>>>>> generally aims to jump directly into API changes / code / >>>>>>>>> implementation. >>>>>>>>>>> This results in lots of back and forth emails in an attempt >>>> to >>>>>> get >>>>>>>> the >>>>>>>>>>> following essentials: >>>>>>>>>>> * All required background knowledge to understand the >>>> proposal >>>>>>>>>>> * A high level overview of the proposed solution >>>>>>>>>>> * Understanding how this proposal will be monitored >>>>>>>>>>> * What steps exactly I need to take if I revert to the >>>> previous >>>>>>>>> version. >>>>>>>>>>> >>>>>>>>>>> The structure I propose below aims to reduce that friction >>>> and >>>>>> get >>>>>>>> all >>>>>>>>>> PIP >>>>>>>>>>> aligned to provide that information. >>>>>>>>>>> >>>>>>>>>>> === Today's structure >>>>>>>>>>> >>>>>>>>>>> # Motivation >>>>>>>>>>> * "Explain why this change is needed, what benefits it >>> would >>>>>> bring >>>>>>> to >>>>>>>>>>> Apache Pulsar and what problem it's trying to solve." >>>>>>>>>>> # Goal >>>>>>>>>>> * "Define the scope of this proposal. Given the motivation >>>>> stated >>>>>>>>> above, >>>>>>>>>>> what are the problems that this proposal is addressing and >>>> what >>>>>>> other >>>>>>>>>> items >>>>>>>>>>> will be considering out of scope, perhaps to be left to a >>>>>> different >>>>>>>>> PIP." >>>>>>>>>>> # API Changes >>>>>>>>>>> * "Illustrate all the proposed changes to the API or wire >>>>>> protocol, >>>>>>>>> with >>>>>>>>>>> examples of all the newly added classes/methods, including >>>>>> Javadoc" >>>>>>>>>>> # Implementation >>>>>>>>>>> * "This should be a detailed description of all the changes >>>>> that >>>>>>> are >>>>>>>>>>> expected to be made. It should be detailed enough that any >>>>>>> developer >>>>>>>>> that >>>>>>>>>>> is familiar with Pulsar internals would be able to >>> understand >>>>> all >>>>>>> the >>>>>>>>>> parts >>>>>>>>>>> of the code changes for this proposal." >>>>>>>>>>> * "This should also serve as documentation for any person >>>> that >>>>> is >>>>>>>>> trying >>>>>>>>>> to >>>>>>>>>>> understand or debug the behavior of a certain feature." >>>>>>>>>>> # Alernatives >>>>>>>>>>> * "If there are alternatives that were already considered >>> by >>>>> the >>>>>>>>> authors >>>>>>>>>>> or, after the discussion, by the community, and were >>>> rejected, >>>>>>> please >>>>>>>>>> list >>>>>>>>>>> them here along with the reason why they were rejected" >>>>>>>>>>> # Anything else? >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> === My suggestion >>>>>>>>>>> >>>>>>>>>>> # Motivation and Background information >>>>>>>>>>> * Give a high level explanation on all concepts you will be >>>>> using >>>>>>>>>>> throughout this document. For example, if you want to talk >>>>> about >>>>>>>>>> Persistent >>>>>>>>>>> Subscriptions, explain briefly (1 paragraph) what this is. >>> If >>>>>>> you're >>>>>>>>>> going >>>>>>>>>>> to talk about Transaction Buffer, explain briefly what this >>>> is. >>>>>> If >>>>>>>>> you're >>>>>>>>>>> going to change something specific, that goes into a bit >>> more >>>>>>> detail >>>>>>>>>> about >>>>>>>>>>> it and how it works. The Litmus test: I can read the design >>>>>>> document >>>>>>>>> and >>>>>>>>>>> understand the problem statement and what you plan to >>> change >>>>>>>> *without* >>>>>>>>>>> resorting to a couple of hours of code reading just to >>> start >>>>>>> having a >>>>>>>>>> high >>>>>>>>>>> level understanding of the change. >>>>>>>>>>> * Provide links where possible if a person wants to dig >>>> deeper >>>>>> into >>>>>>>> the >>>>>>>>>>> background information. >>>>>>>>>>> * Explain what is the problem you're trying to solve - >>>> current >>>>>>>>> situation. >>>>>>>>>>> * This section is the "Why" of your proposal. >>>>>>>>>>> >>>>>>>>>>> # Goals >>>>>>>>>>> ## Scope >>>>>>>>>>> * Describe the goals of your proposal, and why it benefits >>>>> Apache >>>>>>>>> Pulsar >>>>>>>>>>> ## Out of Scope >>>>>>>>>>> * Describe what you have decided to keep out of scope, >>>> perhaps >>>>>> left >>>>>>>>> for a >>>>>>>>>>> different PIP/s. >>>>>>>>>>> >>>>>>>>>>> # High-level Design >>>>>>>>>>> * Describe in high level, end-to-end, the solution. This >>>> should >>>>>> be >>>>>>> a >>>>>>>>> few >>>>>>>>>>> paragraphs long as a guideline. >>>>>>>>>>> * Reading this would allow me to understand the solution >>>> from a >>>>>>>> bird's >>>>>>>>>> eye >>>>>>>>>>> view, end to end. >>>>>>>>>>> * DON'T put all the design in a Google Doc and share the >>> link >>>>>> here, >>>>>>>> as >>>>>>>>> it >>>>>>>>>>> won't last the test of time. >>>>>>>>>>> >>>>>>>>>>> # Detailed Design >>>>>>>>>>> * Describe in detail what you plan to do to achieve your >>> high >>>>>> level >>>>>>>>>> design >>>>>>>>>>> * It should include the following if applicable: >>>>>>>>>>> * REST API Changes >>>>>>>>>>> * Protocol Changes >>>>>>>>>>> >>>>>>>>>>> # Monitoring >>>>>>>>>>> * Describe exactly what you will add to Pulsar allowing you >>>> to >>>>>>>>>>> monitor/observe this proposal? >>>>>>>>>>> * If those are metrics, provide the names, description, >>>>> labels >>>>>>> and >>>>>>>>>> units >>>>>>>>>>> * Explain what constitutes abnormal that I should pay >>>>> attention >>>>>>> to >>>>>>>>>>> >>>>>>>>>>> # Backward Compatibility >>>>>>>>>>> * Describe exact instructions if someone needs to revert >>>> from a >>>>>>>> version >>>>>>>>>>> containing it to a previous version >>>>>>>>>>> >>>>>>>>>>> # Alternatives >>>>>>>>>>> * Describe alternative design decisions and why you have >>> not >>>>>> opted >>>>>>>> for >>>>>>>>>> them >>>>>>>>>>> >>>>>>>>>>> # General notes >>>>>>>>>>> * Any general notes you wish to make >>>>>>>>>>> >>>>>>>>>>> # Links (Updated afterwards) >>>>>>>>>>> * Mailing List discussion thread: >>>>>>>>>>> * Mailing List voting thread: >>>>>>>>>>> >>>>>>>>>>> == >>>>>>>>>>> Would love to hear what you think about it, before opening >>> a >>>> PR >>>>>>> about >>>>>>>>>> this. >>>>>>>>>>> >>>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> Girish Sharma >>>>>>>>> >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> Girish Sharma >>>>>>> >>>>>> >>>>> >>>> >>> >>> >>> -- >>> >>> Elliot West >>> >>> Senior Platform Engineer >>> >>> elliot.w...@streamnative.io >>> >>> streamnative.io >>> >>> <https://github.com/streamnative> >>> <https://www.linkedin.com/company/streamnative> >>> <https://twitter.com/streamnativeio> >>>