+1 to everything Ralph said. On Fri, Sep 29, 2023, 3:53 PM 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. > >> > >> > >