These are great points, Ralph. I think we’ve done a good job of separating the parts we wish to support long term from the more experimental pieces, and retiring experiments is fine. — Matt Sicker
> On Sep 29, 2023, at 17:52, Ralph Goers <ralph.go...@dslextreme.com> wrote: > > I’m sorry, I can’t really agree with much of any of this. Following the > thoughts being proposed in this thread much of Log4j 2 and even the initial > work I did to create it would not have seen the light of day. Almost 100% of > the stuff Matt has done would never have happened. > > It is a fact that people come and go from projects. Some stay longer than > others. We have had PMC members who disappeared the day after they were > elected to the PMC. Remko arguably made two of the most significant > contributions in the GC-Free and Async work. Yet he has largely gone > inactive. It happens. Even after accepting the JsonTemplateLayout and Volkan > as a committer we had no guarantee he would stick around. We hoped he would > and he did. Gary and I have each contributed a large number of components > because they met some need we have/had and we continue to support them. > > Requiring hoops that must be jumped through before stuff can be accepted is > just a terrible idea. It does nothing but create a perception that we are not > open to new contributions and new contributors. > > Yes, we can retire things. I don’t think anyone is arguing against retiring > log4j-cassandra. I haven’t seen any arguments against log4j-kafka. That is > primarily because they are woefully out of date. However, there is nothing > wrong with a module that hasn’t had any updates in a long while if it is > meeting user’s needs. You are never going to know for certain home many users > there are of a given module. That data is impossible to get. Any company that > has their own repository manager (which should be most) will download a > release of an artifact from Maven Central once and it will be hard for you to > know when they did it. The metrics Sonatype provided came from their security > product, which not everyone purchases. Yes, you can make guesses from those > numbers but you can’t actually know how good those guesses are. > > In short, I am in favor of retiring things when they are no longer > maintainable. I am completely in favor of adding new components when they > make sense. IOW, every contribution needs to be considered on its own merits. > > Ralph > > > >> On Sep 29, 2023, at 11:32 AM, Gary Gregory <garydgreg...@gmail.com> wrote: >> >> I think Jira is good enough for that, since there is transition from state >> to state that can be used to shepherd issues through. RFC, JEP, all way too >> heavy handed for us IMO. >> >> Gary >> >> >> On Fri, Sep 29, 2023, 2:05 PM Matt Sicker <m...@musigma.org> wrote: >> >>> I think it could be valuable for us to establish some form of an RFC >>> process for proposing and developing major new features. I also want to >>> avoid being too process-heavy here as that would also disincentivize >>> contributions. I agree that we should try to be more data-driven to >>> determine what features and products should have the most attention. >>> >>> I do like the idea of having “sample” plugins which are not distributed as >>> binaries, though, which can be used in documentation for examples of how to >>> integrate your own systems. With the flexibility of the plugin system here, >>> we can defer the implementation of more obscure integrations to the end >>> user. >>> >>> I will note that we do already have some level of filtering to what we >>> include. I’ve proposed numerous features in the past that I didn’t pursue >>> due to reasons raised by others or lack of interest. >>> >>>> On Sep 29, 2023, at 2:59 AM, Volkan Yazıcı <vol...@yazi.ci> wrote: >>>> >>>> I want to challenge the current way of PMC determining the product >>> feature >>>> set and work towards a more sustainable alternative. >>>> >>>> Logging Services team... >>>> >>>> - delivers mission-critical products that are deployed at the core of >>>> the world-wide infrastructure (actually, in Mars too) >>>> - is short on development resources compared to its wide range of >>>> offerings >>>> - deals with substantial amount of legacy >>>> - suffers from knowledge silo >>>> >>>> Any IT team in this state would be really conservative on accepting new >>>> features and try hard to get rid of the bloat. They would react to this >>>> challenge by first discovering the user base, pinpointing the core >>> values, >>>> and then lazer-focusing the limited development resources on to the >>> crucial >>>> deliverables. Though we do something totally different, one can even say >>>> the opposite. Below I share excerpts from recent mailing list posts. >>>> >>>> *"I had added [X] ... to show how to write plugins and for some >>>> consulting-related use cases"* – PMC member explaining how feature X was >>>> released >>>> >>>> *"... stuff seems like it could be useful"* – PMC member asking to keep >>>> feature X >>>> >>>> *"my employer used [X] ... for anyone implementing ... this would be very >>>> relevant. By archiving this we are basically telling users that they >>>> cannot use it any more since it will no longer be supported. For that >>>> reason I am not in favor of [retiring]"* – PMC member asking to keep >>>> feature X >>>> >>>> *"We [the employer] ... use [X]"* – PMC member asking to keep feature X >>>> >>>> *"User base [is] ... very low to non-existent."* – PMC member asking to >>>> keep product X >>>> >>>> *"[PMC member] has steadfastly [reacted] ... and until he positively says >>>> he will no longer maintain it I am not willing to override that"* – PMC >>>> member asking to keep product X because another (one and only) PMC member >>>> reacted on product retirement inquiry >>>> >>>> *"Our employers are ... paying customers."* – a PMC member explaining why >>>> we should keep feature X used by an organization employing another PMC >>>> member >>>> >>>> >>>> I see a pattern in the way we decide to maintain a feature/product: >>>> >>>> - It is not data-driven. It is disconnected from its user base. No >>> usage >>>> statistics, etc. is shared or used. >>>> - We serve individuals' and employers' agendas. >>>> - We underestimate the cost of adding/keeping a feature. >>>> >>>> I think this diet is "unhealthy" because: >>>> >>>> - It adds up to the bloat. It is yet another component developers need >>>> to maintain its dependencies, documentation, website, integration with >>> the >>>> build system, etc. This bizarrely slows down the development >>> experience. >>>> (Ever wondered how much `log4j-osgi` takes during `./mvnw verify`?) >>>> - It adds up to the attack surface. >>>> - Features that are supposed to be optional get shipped to users >>> without >>>> their consent. (Consider the percentage of the Log4Shell victims that >>> used >>>> the JNDI functionality at all.) >>>> - Scarce development resources get wasted on chores due to the >>>> excessive landscape. >>>> - It gives users the wrong impression that the feature/product is >>>> maintained, though under the hood it is just kept there because a >>>> privileged group wants so. >>>> >>>> I want to refine this approach with your help. To start the discussion, I >>>> propose the following strategy instead: >>>> >>>> *"We only accept a feature with data-driven justification."* – Have a >>> brand >>>> new idea? Grab yourself a GitHub/GitLab repository that belongs to either >>>> you or your employer, knock yourself out without any ASF/PMC burdens, and >>>> amaze your users. Once the user attraction gets enough gravity, let's >>>> discuss blessing it as a part of the official Logging Services offering. >>>> Official support channels are always open to assist the developers of >>> such >>>> external efforts. >>>> >>>> *"We only keep a feature with data-driven justification."* – Do you >>> think a >>>> feature needs to be retired? Bring it up for discussion. PMC should >>>> evaluate the request based on numbers and this process should be >>>> independent of the individuals'/employers' agendas. If PMC decides to >>>> retire a feature/product *and* there are people who volunteer to continue >>>> the development on a successor fork outside of ASF, PMC should do their >>> due >>>> diligence to point existing users to this fork without any endorsement. >>>> >>>> >>>> I look forward to hearing your thoughts. >>> >>> >