RE: "JEP-1 has never been followed very consistently in my experience. 
implementations get merged and released following regular hosting and/or 
code review processes". Let's face the reality, the JEP process is rather 
dead than alive at the moment. It is quite heavy to be followed, and right 
now it does not achieve its main purpose - facilitate the community 
feedback, help JEP submitters to get their changes delivered, and to ensure 
that all changes are net-positive for the Jenkins project and beneficial 
for Jenkins users down the line. Current process is quite heavy, and delays 
in JEP stages (e.g. BDFL Delegate delegation requires a direct message to 
KK to happen) defeat the purpose of JEPs. We want to help contributions, 
not to block changes by raising extra barriers. Be sure that contributors 
already have enough obstacles which block them from contributing to the 
project.

What is my approach w.r.t. JEPs as a core maintainer?

   - Consensus in the developer mailing list is a priority for me: 
   feasibility, community value, design. If there is such consensus and no 
   major concerns, JEP is NOT needed at all
   - JEP is a way to document the discussion feedback and agreements: 
   discovered issues, concerns. It includes the feasibility, 
   architecture/implementation and, last but not least, the rollout plan
   - If there is consensus in the dev list && Reference implementations get 
   enough reviews, I am happy to deliver changes which are formally in draft. 
   We have some tools for it:
      - "@Restricted(Beta.class)" for API changes
      - Changelogs/documentation - features can be documented as 
      experimental
      - // The tools do not address all cases, but
   - If there are conflicting/intersecting proposals (e.g. JEP-223 
   <https://github.com/jenkinsci/jep/tree/master/jep/223> and JEP-224 
   <https://github.com/jenkinsci/jep/tree/master/jep/224>), use mailing 
   lists and JEPs as a way to discuss the proposals and to agree on the next 
   steps

I am in favor of updating the JEP process a bit so that it becomes easier 
for contributors to deliver changes. It would be also great if it gets the 
BDLF out of the hook there so that he can focus on more important subjects. 

   - Update the JEP process to be auxiliary addition to developer list 
   discussions, not the main venue to discuss all major changes as it is 
   documented now. JEP process is followed if there is no consensus OR there 
   is major impact on users (breaking changes)
   - remove the "BDFL Layer" in the initial draft review. As Jesse said, 
   the "BDFL layer between JEP editors/reviewers and the governance meeting" 
   does not look to be efficient at the moment. With the Governance Board 
   recovered, delegation of the "BDFL Delegate" role could be done by the 
   board or by the governance meeting so that 
   - Change the terminology to reflect the current state, similar to what 
   KK says about changing the priorities for the JEP process
      - Add an "Author" role to JEP. This role represents JEP submitter and 
      ones who implement it (part of the current "Sponsor role")
      - Merhge the remaining parts of the "Sponsor" role and "BDFL 
      Delegate" to have a new "Sponsor" role: "an experienced contributor who 
      helps the proposal to happen: ensure there is enough feedback and that 
all 
      comments'concerns are addressed"
      - // Such change would also address my concern that "Sponsor" and 
      "BDFL delegate" are the same person in many cases, which defeats the 
      purpose of peer reviews. With an experienced contributors, IMO it is 
      perfectly fine to have them as Sponsors 
   - Modify JEP stages to focus on the feature delivery process instead of 
   the document review
      - Draft - there is a consensus in the community that it worth 
      prototyping, but the details are under discussion && the implementation 
is 
      not finalized.
      - Preview - the JEP is available as an experimental feature (opt-in, 
      protected by feature flags and/or Beta API)
      - Delivered - the majority of the JEP scope is delivered. Minor 
      leftovers may stay around
   
 
Sorry if I spend too much time discussing it :)

BR, Oleg



On Friday, January 24, 2020 at 5:44:06 PM UTC+1, Kohsuke Kawaguchi wrote:
>
> A part of the original JEP was to design an aspirational collaboration 
> process that we wanted to promote back then, and use the power of the 
> process to achieve that. I feel like the situation and the priority has 
> changed a little since then.
>
> What I mentioned to a few people on various occasions is that IMHO our 
> current priority should be more on enabling existing doers to make 
> impactful changes more easily, less on empowering new contributors to lead 
> significant changes on their own.
>
> So from that perspective, tweaking JEP to reflect how things are working 
> in practice is a great idea. That's what I assume you meant by "streamlined 
> process."
>
> (That said, what I hate the most is for people to spend lots of time 
> discussing how the process should be tweaked. That to me is the most 
> counter productive!)
>
> My 2 cents.
>
> On Thu, Jan 23, 2020 at 8:56 AM Jesse Glick <[email protected] 
> <javascript:>> wrote:
>
>> Shall
>>
>> https://github.com/jenkinsci/jep/tree/master/jep/1#bdfl
>>
>> be amended somehow, to not assume KK has time to get involved? For
>> example to cut out the BDFL layer between JEP editors/reviewers and
>> the governance meeting? Also
>>
>> https://github.com/jenkinsci/jep/tree/master/jep/9#specification
>>
>> As a practical matter,
>>
>> https://github.com/jenkinsci/jep/tree/master/jep/1#jep-review
>>
>> has never been followed very consistently in my experience;
>> implementations get merged and released following regular hosting
>> and/or code review processes, while the JEP is still officially a
>> “draft”, and the “accepted” and “final” phases are skipped or a
>> formality. Maybe it is time for a streamlined process.
>>
>
>
> -- 
> Kohsuke Kawaguchi
>

-- 
You received this message because you are subscribed to the Google Groups 
"Jenkins Developers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/jenkinsci-dev/1ec4f2eb-1255-4244-b393-473a3e0be0f1%40googlegroups.com.

Reply via email to