Can we have some community projects under the pekko-community organization
before we can take in? Currently we have many projects under the apache
organization.

何品


Brendan Doyle <[email protected]> 于2023年7月18日周二 06:35写道:

> The one thing I was going to bring up which Matthew did was consistency
> with the persistence modules. I help manage Apache Openwhisk and it’s a
> similar problem of many repos management and keeping the project alive with
> active committers that actually fits the scope of what there is to
> maintain.
>
> I will add on to Matthew’s point is many professional organizations
> encourage open source contributions to apache versus allowing contribution
> to random repos. If the repo is under apache you’re far more likely to
> attract new contributors. If the repo is low maintenance since it’s long
> matured (in this case it hasn’t needed a release since 2021 and has been
> working just fine) and just needs security patches / dependency bumps,
> there’s not too much risk to adding it on outside the obvious headache of a
> process of adding a new repo initially. And there should also be a valid
> proactive deprecation process for something that’s dead if you do bring it
> in, find it’s not used and no one is helping give the maintenance it needs
> to exist.
>
> Personally, which again I am biased, I think there needs to be a
> delineation between what is a new pekko integration someone makes or a
> small pet Akka library made by an individual that wasn’t used (not wanting
> to take that on) and what is a de facto integration that was used by Akka
> and the only reason an official one didn’t exist was because Lightbend
> couldn’t commit to maintaining it. Which is essentially the same argument
> here against it, the only difference is I think there is value in having it
> under the apache name in both 1. Just having more orgs being willing to use
> it and 2. More orgs being able to contribute back to it. That on its own
> isn’t a reason to do something here, but just wanted to point that out.
>
> And of course I’m sympathetic to being on the other end of the drive by
> “hey can you consider taking on this additional work” so I don’t think my
> opinion holds any value here, just wanted to start a convo on the
> philosophy of some of the things I think was debatably borderline official
> under Akka but wasn’t; and having a specific example we could do a case
> study on how to come to a decision by analyzing it. And thought I could
> help start the convo for the fine folks that have put in the effort to port
> that module already so quickly, we all understand it’s far too soon to
> figure this out and it can exist as is under its existing repo for the time
> being while all of this initial massive work for getting pekko off the
> ground is still underway.
>
> P.S. for what it’s worth, I’ve always thought pekko persistence on a
> serverless solution like dynamodb that is on demand cost based sounds quite
> expensive of a solution versus using a managed db like mongo when the
> amount of event writing can be extremely high, if dynamodb is the main
> supported persistence module. But depends on the use case. Just my two
> cents :)
>
> Brendan
>
> On Mon, Jul 17, 2023 at 2:18 PM Matthew de Detrich
> <[email protected]> wrote:
>
> > Oh and one other last thing I would like to mention, at least in my view
> > its better to have a decently sized amount of committers that is
> > maintaining
> > a larger set of modules rather than having almost no committers
> maintaining
> > a smaller set of modules, the former is a far healthier state for the
> > project to
> > be in.
> >
> > So given that, if adding modules also happens to increase the amount of
> > active committers that we add to Pekko, that is a net positive because
> > most of these modules don't need that much maintenance (once integrated)
> > and the committers that have been added as a result of adding modules
> > are more incentivized to help out elsewhere since they have more skin
> > in the game.
> >
> >
> > On Mon, Jul 17, 2023 at 11:11 PM Matthew de Detrich <
> > [email protected]> wrote:
> >
> > > > I just don't see why there can't be an ecosystem of independent
> > > projects built on Pekko. I don't think Apache Pekko needs to take
> > > responsibility for all the jars. I have to reiterate just how much
> > > harder it is to release an Apache jar than it is to release a jar
> > > independently.
> > >
> > > I am aware of these things but I think more nuance needs to be
> > > added here onto this point. For example one is consistency, that
> > > is why do we have persistence-dynamodb as a core Pekko module
> > > but not persistence-mongodb? This then needs to be combined
> > > with usage + community, I picked persistence-dynamodb here
> > > deliberately because if we use a crude metric of github stars it
> > > akka-persistence-dynamodb appears to be less used (86 stars)
> > > than akka-persistence-mongo which has (104) stars.
> > >
> > > When Akka was under Lightbend this might have been more
> > > acceptable (i.e. hypothetically Lightbend probably had some
> > > paying Akka customers that happened to use persistence-dynamodb)
> > > but if we are talking about usage + community which is the whole point
> > > of Apache projects than if my hypothesis is correct then there is
> > actually
> > > more of an argument including akka-persistence-mongo as a core Pekko
> > > module rather than some existing modules being there.
> > >
> > > I understand the current concerns about maintenance, but I don't
> > > think it's useful or constructive to stonewall potential modules being
> > > added right now, we should evaluate in the future once the Pekko
> > > release storm settles down.
> > >
> > > > There are lots of Apache projects with a vibrant ecosystem of related
> > > but independent libs. Have a look at Apache Spark or Flink or Hadoop.
> > >
> > > Yes but they have a core set of connectors which is comparable to scope
> > > and size of Pekko which is what my core point was (see
> > >
> >
> https://github.com/search?q=org%3Aapache+flink-connector&type=repositories
> > > as an example with Flink). And given the prevalence of mongo as a
> storage
> > > solution I would consider it a core connector/persistence storage, just
> > > like
> > > there is a core Flink Mongo connector (see
> > > https://github.com/apache/flink-connector-mongodb).
> > >
> > > > If there is a lib and the maintainer no longer has time to maintain
> > > it, then I would prefer to not see it come into Apache Pekko. If the
> > > lib is very widely used, then we would have to consider it regardless.
> > >
> > > As per my earlier point, you can make a somewhat reasonable claim that
> > its
> > > more
> > > widely used than other current akka-persistence modules (I mean look at
> > > https://github.com/akka/akka-persistence-r2dbc, it has only 20 stars).
> > At
> > > least
> > > from a cursory glance, it does pass the "at least decently used"
> > benchmark
> > >
> > > > If a regular Pekko committer comes with a project that they would
> like
> > > to bring into Apache Pekko, I would be much more supportive of that
> > > use case. In that case, there would be a better chance that the code
> > > could be maintained once it becomes an Apache Pekko lib. To put it
> > > another way, get actively involved with Pekko development generally
> > > and then convince us to take on your lib.
> > >
> > > Agreed, I can definitely say if the maintainers of
> > > https://github.com/scullxbones/pekko-persistence-mongo
> > > helped out in contributing with Pekko in general and/or would help out
> in
> > > the effort
> > > of both adding and then maintaining an official Pekko Persistence mongo
> > > than there
> > > would be much more buy in.
> > >
> > > On a related note, previously I talked about technical overhead for
> Pekko
> > > repositories
> > > which is something that I plan to help out with once the release
> > craziness
> > > is over.
> > > There is a huge amount of manual technical process which can easily be
> > > abstracted
> > > over and centralized which would greatly reduce the overhead of adding
> > > future Pekko
> > > repos in the future.
> > >
> > > On Mon, Jul 17, 2023 at 10:09 PM PJ Fanning <[email protected]>
> wrote:
> > >
> > >> I just don't see why there can't be an ecosystem of independent
> > >> projects built on Pekko. I don't think Apache Pekko needs to take
> > >> responsibility for all the jars. I have to reiterate just how much
> > >> harder it is to release an Apache jar than it is to release a jar
> > >> independently.
> > >>
> > >> There are lots of Apache projects with a vibrant ecosystem of related
> > >> but independent libs. Have a look at Apache Spark or Flink or Hadoop.
> > >>
> > >> If a regular Pekko committer comes with a project that they would like
> > >> to bring into Apache Pekko, I would be much more supportive of that
> > >> use case. In that case, there would be a better chance that the code
> > >> could be maintained once it becomes an Apache Pekko lib. To put it
> > >> another way, get actively involved with Pekko development generally
> > >> and then convince us to take on your lib.
> > >>
> > >> If there is a lib and the maintainer no longer has time to maintain
> > >> it, then I would prefer to not see it come into Apache Pekko. If the
> > >> lib is very widely used, then we would have to consider it regardless.
> > >>
> > >>
> > >> On Mon, 17 Jul 2023 at 20:18, Brendan Doyle <[email protected]>
> > wrote:
> > >> >
> > >> > Agree with all the points of view here, it’s certainly too soon to
> > even
> > >> > really have a meaning discussion on the philosophy.
> > >> >
> > >> > PJ for your curiosity on the repo I don’t think was public until
> over
> > >> the
> > >> > weekend when I reached out about the pekko process. The port can be
> > >> found
> > >> > here. I’m not sure if the reactive mongo dependency is stil in
> there,
> > >> but I
> > >> > was told they’re removing support for that driver since no pekko
> > support
> > >> > and using solely the official mongo scala driver which the Akka
> > version
> > >> > also had support for. Supposedly it was built so both drivers could
> be
> > >> used
> > >> > interchangeably on the Akka library, they’re just removing the one
> > that
> > >> > doesn’t have the pekko support.
> > >> >
> > >> > https://github.com/scullxbones/pekko-persistence-mongo
> > >> >
> > >> > On Mon, Jul 17, 2023 at 12:09 PM Matthew de Detrich
> > >> > <[email protected]> wrote:
> > >> >
> > >> > > I agree with PJ fanning when it comes to adding the module right
> > now,
> > >> we
> > >> > > simply don't have
> > >> > > the capacity and there are way too many things on our plate.
> However
> > >> when a
> > >> > > release occurs
> > >> > > and things stabilize a little more it is a different circumstance
> > >> which is
> > >> > > where I get to
> > >> > >
> > >> > > > After that, I would probably start arguing to REDUCE the Apache
> > >> Pekko
> > >> > > code base as opposed to increase it. There are a lot of connectors
> > >> > > that have broken tests or tests disabled. It's hard enough to
> > support
> > >> > > and test the core Pekko features (like Actors, Clustering, HTTP,
> > >> > > etc.), while then also having to maintain all the integrations
> with
> > a
> > >> > > huge variety of 3rd party tools. It's taken us 8 months to release
> > the
> > >> > > Pekko core. We simply can't handle the enormous size of the
> current
> > >> > > code base. We need to concentrate on the core tooling.
> > >> > >
> > >> > > So there are 2 views successful views here, one is that
> > >> > > we grow Pekko along with our active contributors, which means that
> > >> > > we add in more modules when they make technical sense but we also
> > >> > > grow the number of active contributors so that this
> > >> burden/maintenance can
> > >> > > actually be handled. The other view is that we reduce the
> > >> > > scope of what is in Pekko so that we can maintain what we
> currently
> > >> have
> > >> > > better.
> > >> > >
> > >> > > I currently lean for the former, and if we look at other projects
> > like
> > >> > > Flink
> > >> > > and Airflow (which have more connectors than Pekko does) they do
> > this
> > >> > > and they do it successfully. If you boil it down, there isn't
> > >> difference in
> > >> > > the community that maintains a persistence-mongo thats external to
> > >> > > Apache Pekko versus a community within Apache Pekko that maintains
> > >> > > persistence-mongo.
> > >> > >
> > >> > > Which gets to the crux of this statement
> > >> > >
> > >> > > > Let the people
> > >> > > who need the integrations (connectors and persistence
> > implementations)
> > >> > > maintain them.
> > >> > >
> > >> > > I would actually argue that our priority after release is to
> > actually
> > >> grow
> > >> > > the
> > >> > > community so that it can be maintained within Apache Pekko, so
> those
> > >> people
> > >> > > who need the integrations that you refer to actually become part
> of
> > >> Pekko.
> > >> > > It may have been in Lightbend's interest to restrict what Akka can
> > >> accept
> > >> > > in their org because their open source governance model didn't
> allow
> > >> > > them to employ the community.
> > >> > >
> > >> > > Its well known that it was impossible to get maintainer/committer
> > >> rights to
> > >> > > any of Lightbends Akka's repos aside from Alpakka which actually
> and
> > >> > > ironically got a large amount of support and contributions from
> the
> > >> > > community considering how many connectors it supported. And I
> think
> > >> > > there is a premise here, build some bridges plus a story and
> people
> > >> will
> > >> > > come.
> > >> > >
> > >> > > In summary, in my view it's too soon right now to add this right
> > now.
> > >> There
> > >> > > is
> > >> > > just way too much technical and process overhead when it comes to
> > >> adding
> > >> > > more
> > >> > > repos. When those get solved then we can revisit it, in the
> meantime
> > >> as PJ
> > >> > > Fanning stated the akka dependencies of persistence-mongo for
> > obvious
> > >> > > reasons
> > >> > > need to be moved over to pekko (and that's before we even get to
> the
> > >> core
> > >> > > persistence-mongo library) so whatever is decided shouldn't block
> > you
> > >> > > either way,
> > >> > > all we are saying is that we ourselves don't have capacity to do
> the
> > >> work
> > >> > > now.
> > >> > >
> > >> > > On Mon, Jul 17, 2023 at 8:13 PM PJ Fanning <[email protected]>
> > >> wrote:
> > >> > >
> > >> > > > When I checked akka-persistence-mongo at the weekend, it has a
> > >> > > > dependency on reactivemongo-akkastream which has a dependency on
> > >> > > > reactivemongo (which also has an akka dependency).
> > >> > > >
> > >> > > > This might have changed for the pekko equivalent.
> > >> > > >
> > >> > > > Even if it has, I'm still going to argue against Apache Pekko
> > taking
> > >> > > > on any more code until we get the current code set of Pekko
> > modules
> > >> > > > released. And that will take months.
> > >> > > >
> > >> > > > After that, I would probably start arguing to REDUCE the Apache
> > >> Pekko
> > >> > > > code base as opposed to increase it. There are a lot of
> connectors
> > >> > > > that have broken tests or tests disabled. It's hard enough to
> > >> support
> > >> > > > and test the core Pekko features (like Actors, Clustering, HTTP,
> > >> > > > etc.), while then also having to maintain all the integrations
> > with
> > >> a
> > >> > > > huge variety of 3rd party tools. It's taken us 8 months to
> release
> > >> the
> > >> > > > Pekko core. We simply can't handle the enormous size of the
> > current
> > >> > > > code base. We need to concentrate on the core tooling. Let the
> > >> people
> > >> > > > who need the integrations (connectors and persistence
> > >> implementations)
> > >> > > > maintain them.
> > >> > > >
> > >> > > > On Mon, 17 Jul 2023 at 18:30, Brendan Doyle <
> [email protected]
> > >
> > >> > > wrote:
> > >> > > > >
> > >> > > > > That’s fine I expected that to be the outcome for the reasons
> > you
> > >> > > listed,
> > >> > > > > but wanted to raise the discussion. Though I am curious what
> you
> > >> mean
> > >> > > by
> > >> > > > > the lib dependencies that don’t support pekko, which library
> > >> > > dependencies
> > >> > > > > are you referring to within? The maintainers of the akka mongo
> > >> > > > persistence
> > >> > > > > library have already successfully ported a pekko repo which I
> > >> linked ,
> > >> > > > > they’re just working through some artifact publishing issues
> > >> before a
> > >> > > > > release happens.
> > >> > > > >
> > >> > > > > On Mon, Jul 17, 2023 at 10:03 AM PJ Fanning <
> > [email protected]>
> > >> > > wrote:
> > >> > > > >
> > >> > > > > > I'd be a strong -1 on this.
> > >> > > > > >
> > >> > > > > > Maybe in distant future.
> > >> > > > > >
> > >> > > > > > There are too many lib dependencies in that module. None of
> > >> which
> > >> > > > support
> > >> > > > > > Pekko.
> > >> > > > > >
> > >> > > > > > Software brought into ASF requires permissions from all the
> > past
> > >> > > > > > contributors. Pekko itself is an exception because of the
> Akka
> > >> > > license
> > >> > > > > > change.
> > >> > > > > >
> > >> > > > > > ASF requires us to do loads of process work and read every
> > line
> > >> to
> > >> > > > check
> > >> > > > > > its origin in case of licensing issues. Everything required
> > >> multiple
> > >> > > > votes.
> > >> > > > > >
> > >> > > > > > Why don't you start by talking to the existing lib
> maintainers
> > >> about
> > >> > > > them
> > >> > > > > > releasing Pekko libs? If that doesn't work out, you could
> fork
> > >> them
> > >> > > > > > yourself.
> > >> > > > > >
> > >> > > > > > Pekko team have far too much code and too few active
> > developers
> > >> to
> > >> > > > become a
> > >> > > > > > shelter for all the old Akka libs that no-one wants to
> > maintain.
> > >> > > > > >
> > >> > > > > > On Mon 17 Jul 2023, 17:31 Brendan Doyle, <
> > [email protected]>
> > >> > > wrote:
> > >> > > > > >
> > >> > > > > > > Whoops forgot to include the link to the repo.
> > >> > > > > > >
> > >> > > > > > > https://github.com/scullxbones/pekko-persistence-mongo
> > >> > > > > > >
> > >> > > > > > >
> > >> > > > > > > On Mon, Jul 17, 2023 at 9:26 AM Brendan Doyle <
> > >> > > [email protected]>
> > >> > > > > > > wrote:
> > >> > > > > > >
> > >> > > > > > > > Hi,
> > >> > > > > > > >
> > >> > > > > > > > The skullxbones mongo persistence library was the de
> facto
> > >> > > > connector
> > >> > > > > > for
> > >> > > > > > > > mongo, never having a dedicated library from Lightbend.
> > The
> > >> > > creator
> > >> > > > > > and a
> > >> > > > > > > > collaborator have already successfu
> > <
> https://www.google.com/maps/search/%3E+collaborator+have+already+successfu?entry=gmail&source=g
> >lly
> > ported the library to
> > >> > > pekko
> > >> > > > > > 1.0.0
> > >> > > > > > > > and are working on getting a release out. The port has
> > >> dropped
> > >> > > > support
> > >> > > > > > > for
> > >> > > > > > > > reactive mongo and only using the official
> > >> mongo-scala-driver
> > >> > > going
> > >> > > > > > > > forward. They would like to see the library donated to
> > >> pekko if
> > >> > > the
> > >> > > > > > > > community / team would be interested. I know there’s a
> > >> couple
> > >> > > > official
> > >> > > > > > > > persistence libraries for widely used db’s like
> dynamodb,
> > >> > > > personally
> > >> > > > > > > though
> > >> > > > > > > > biased I would argue mongo falls into that category. I’m
> > >> not sure
> > >> > > > what
> > >> > > > > > > the
> > >> > > > > > > > bar or threshold is to take in another repo or if
> there’s
> > a
> > >> long
> > >> > > > term
> > >> > > > > > > plan
> > >> > > > > > > > to combine persistence drivers into a single repo like
> the
> > >> way
> > >> > > > stream
> > >> > > > > > > > connectors are set up besides kafka.
> > >> > > > > > > >
> > >> > > > > > > > Thanks,
> > >> > > > > > > > Brendan
> > >> > > > > > > >
> > >> > > > > > >
> > >> > > > > >
> > >> > > >
> > >> > > >
> > >> ---------------------------------------------------------------------
> > >> > > > To unsubscribe, e-mail: [email protected]
> > >> > > > For additional commands, e-mail: [email protected]
> > >> > > >
> > >> > > >
> > >> > >
> > >> > > --
> > >> > >
> > >> > > Matthew de Detrich
> > >> > >
> > >> > > *Aiven Deutschland GmbH*
> > >> > >
> > >> > > Immanuelkirchstraße 26, 10405 Berlin
> > >> > >
> > >> > > Amtsgericht Charlottenburg, HRB 209739 B
> > >> > >
> > >> > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> > >> > >
> > >> > > *m:* +491603708037
> > >> > >
> > >> > > *w:* aiven.io *e:* [email protected]
> > >> > >
> > >>
> > >> ---------------------------------------------------------------------
> > >> To unsubscribe, e-mail: [email protected]
> > >> For additional commands, e-mail: [email protected]
> > >>
> > >>
> > >
> > > --
> > >
> > > Matthew de Detrich
> > >
> > > *Aiven Deutschland GmbH*
> > >
> > > Immanuelkirchstraße 26, 10405 Berlin
> > >
> > > Amtsgericht Charlottenburg, HRB 209739 B
> > >
> > > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> > >
> > > *m:* +491603708037
> > >
> > > *w:* aiven.io *e:* [email protected]
> > >
> >
> >
> > --
> >
> > Matthew de Detrich
> >
> > *Aiven Deutschland GmbH*
> >
> > Immanuelkirchstraße 26, 10405 Berlin
> >
> > Amtsgericht Charlottenburg, HRB 209739 B
> >
> > Geschäftsführer: Oskari Saarenmaa & Hannu Valtonen
> >
> > *m:* +491603708037
> >
> > *w:* aiven.io *e:* [email protected]
> >
>

Reply via email to