@Justin Mclean, do you have any comments on this, at least wrt any
legal/ASF/PPMC implications?

On Tue, 30 May 2023, 16:07 Matthew Benedict de Detrich, <
matthew.dedetr...@aiven.io> wrote:

> > Lomig Mégard has expressed an interest in continuing to maintain
> pekko-http-cors - so for me that would be a strong argument for not
> bringing this code inside Pekko. There is no guarantee that he will
> grant us the code.
>
> That's a fair point, but this can also be reversed into a positive which
> is that he already has bought into the pekko ecosystem and if we
> bring his module into our code than his contributions will definitely
> be welcomed and its a path to him becoming a committer.
>
> Increasingly having these conversations is making me lean towards
> making a vote thread on the mailing list because we have to tread
> carefully especially with our messaging. Lets see what others say
> and then I can possible start a voting thread later in the week
>
> On Tue, May 30, 2023 at 4:02 PM PJ Fanning <fannin...@gmail.com> wrote:
>
>> I still think that the extra modules should be discussed separately.
>> There are alternatives that we could do in some cases.
>>
>> pekko-http-cors is probably the best module for us to start with
>> because Pekko HTTP will probably be released soon and there are not
>> many alternatives for this.
>> Lomig Mégard has expressed an interest in continuing to maintain
>> pekko-http-cors - so for me that would be a strong argument for not
>> bringing this code inside Pekko. There is no guarantee that he will
>> grant us the code.
>>
>> Not creating new repos and using existing repos does cut down a lot of
>> the overhead. But there is still plenty of overhead.
>>
>>
>>
>> On Tue, 30 May 2023 at 14:52, Matthew Benedict de Detrich
>> <matthew.dedetr...@aiven.io.invalid> wrote:
>> >
>> > Sorry I also forgot to mention one additional thing regarding voting,
>> aside
>> > from possibly creating a vote on whether to embark on this in the first
>> > place is there any
>> > additional voting necessary,either from us or the PPMC or otherwise? I
>> > assumed that if
>> > we have a code grant then additional votes are not really necessary or
>> is
>> > the argument
>> > here that because we did accept a code donation then on those grounds
>> only
>> > the PPMC
>> > might not vote for the release hence triggering more blockages?
>> >
>> > On Tue, May 30, 2023 at 3:48 PM Matthew Benedict de Detrich <
>> > matthew.dedetr...@aiven.io> wrote:
>> >
>> > >
>> > > * we have all the work to change the package names and configs
>> > > * new documentation
>> > > * new CI builds
>> > > * a lot more votes on releases
>> > >
>> > > Incase there is a misunderstanding, I am not suggesting that we make
>> new
>> > > repos for any of the mentioned dependencies so
>> > > points such as new CI builds are not entirely relevant (if we want to
>> be
>> > > precise for pekko-http-cors it would just reuse the
>> > > existing pekko-http build which just builds all modules at once since
>> this
>> > > is the base case and for aws-spi-pekko-http this would
>> > > be a separate CI instance however that is just due to how
>> pekko-connectors
>> > > are structured, in other words adding this is literally
>> > > a single line in
>> > >
>> https://github.com/apache/incubator-pekko-connectors/blob/main/.github/workflows/check-build-test.yml#L86-L133
>> > > ).
>> > > I don't think extra CI instances for a project like pekko-connectors
>> in
>> > > the grand scheme of things is an issue, it already has like ~20
>> > > integrations so one more isn't going to have a noticeable impact.
>> > >
>> > > The package name changes are likewise trivial compared to what we had
>> to
>> > > do with Pekko's modules just due to how much less
>> > > code we are dealing with and regarding config changes
>> aws-spik-pekko-http
>> > > doesn't even have any real configs (just a `META-INF.services`
>> > > in the resources folder which I think is pointless because its already
>> > > generated????) and with pekko-http-cors we just need to change a
>> > > single line, i.e.
>> > >
>> https://github.com/lomigmegard/pekko-http-cors/blob/ec10651cc754cb2aa86a4e120056d3067db3179a/pekko-http-cors/src/main/resources/reference.conf#L8
>> > >
>> > > In summary aside from the documentation, unless I have missed
>> something
>> > > all things considering technically speaking
>> > > this is actually not that much more work.
>> > >
>> > > The bigger issue which I think we should focus on is the
>> > > legal/vote/process parts, i.e.
>> > >
>> > > > * we would need to persuade the original contributors to grant the
>> code
>> > > to ASF and get it voted on (Pekko community and Incubator PMC)
>> > >
>> > > So the question here is, how should we approach this? If we decide to
>> go
>> > > ahead with this, the first obvious practical step is to
>> > > reach out to the author of pekko-http-cors to see if he is willing to
>> > > donate the code to ASF and sign a code grant. Shall we start
>> > > a voting round whether to initiate this in the first place so that we
>> are
>> > > all onboard with this?
>> > >
>> > > On Tue, May 30, 2023 at 3:21 PM PJ Fanning <fannin...@apache.org>
>> wrote:
>> > >
>> > >> Just to make clear to everyone - this does not affect the core Pekko
>> > >> modules and the proposal to press on with getting a RC ready.
>> > >>
>> > >> I agree that we should not consider taking anything into Pekko that
>> we
>> > >> don't use inside our own modules - that is, only ones that Matthew
>> > >> mentioned are under discussion.
>> > >>
>> > >> At a high level, I'm not against taking in the listed modules but it
>> is a
>> > >> lot of work.
>> > >> * we would need to persuade the original contributors to grant the
>> code
>> > >> to ASF and get it voted on (Pekko community and Incubator PMC)
>> > >> * we have all the work to change the package names and configs
>> > >> * new documentation
>> > >> * new CI builds
>> > >> * a lot more votes on releases
>> > >>
>> > >> We should really consider alternatives on a cases by case basis.
>> > >> * one example is pekko-http-circe - Matthew has highlighted a JAWN
>> based
>> > >> lib that might be a good alternative
>> > >> * aws-spi-pekko-http - an alternative is to use the Java APIs in the
>> AWS
>> > >> v2 libs (which have good async support)
>> > >>
>> > >> All in all, I wouldn't regard taking any of these jars into the Pekko
>> > >> community as something that would block releases. For me, they might
>> be
>> > >> nice to have been the time expenditure on making the changes makes
>> we wary.
>> > >>
>> > >>
>> > >> On 2023/05/30 09:50:34 Matthew Benedict de Detrich wrote:
>> > >> > While the timing of this can be considered ill-advised considering
>> we
>> > >> have
>> > >> > a release candidate down the line, this is something that I have
>> only
>> > >> > somewhat recently discovered as I have been working on getting
>> other
>> > >> Pekko
>> > >> > modules ready for releases.
>> > >> >
>> > >> > What I have noticed is that various Pekko modules (thankfully
>> > >> > excluding Pekko core) happen to  have dependencies on other
>> projects
>> > >> which
>> > >> > in turn also happen to depend on Pekko. This basically creates a
>> > >> transitive
>> > >> > circular dependency, i.e. Pekko Http has a dependency on project X
>> and
>> > >> > project X has a dependency on Pekko core.
>> > >> >
>> > >> > In my view this situation isn't really ideal because it opens us to
>> > >> risk of
>> > >> > being blocked when having to do some changes and this is what we
>> have
>> > >> > actually experienced when working on getting Pekko modules ready
>> for
>> > >> > release candidates (
>> > >> https://github.com/lomigmegard/pekko-http-cors/pull/19,
>> > >> > https://github.com/pjfanning/aws-spi-pekko-http/pull/6,
>> > >> > https://github.com/pjfanning/aws-spi-pekko-http/pull/5 and
>> > >> > https://github.com/pjfanning/aws-spi-pekko-http/pull/1) are
>> examples of
>> > >> > this.
>> > >> >
>> > >> > The problematic dependencies are listed below but in a lot of
>> cases PJ
>> > >> > Fanning has had to fork the project's and it's at this point that
>> I am
>> > >> > raising whether it makes more sense to just put the dependencies
>> > >> directly
>> > >> > inside the appropriate Pekko module. Note that the list below is
>> sorted
>> > >> in
>> > >> > criticality (i.e. modules closer to Pekko core are placed earlier
>> since
>> > >> > they will be released earlier).
>> > >> >
>> > >> > * https://github.com/lomigmegard/pekko-http-cors: This is not
>> forked
>> > >> by PJ
>> > >> > Fanning because thankfully the maintainer has been
>> > >> constructive/responsive
>> > >> > in adapting the project for Pekko and merging necessary changes.
>> The
>> > >> > project is used by pekko-grpc but it depends on pekko-http since
>> its
>> > >> adding
>> > >> > cors (see https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS).
>> The
>> > >> > natural place for this project would be to sit inside of
>> pekko-http, in
>> > >> > fact I am quite surprised that this is in a separate project since
>> this
>> > >> is
>> > >> > a W3C http standard. Adding this as a separate artifact inside of
>> > >> > pekko-http would technically be quite trivial.
>> > >> > * https://github.com/pjfanning/aws-spi-pekko-http is an SPI
>> (Service
>> > >> > Provider Interface) to AWS's async API for their services which is
>> a
>> > >> fork
>> > >> > of https://github.com/matsluni/aws-spi-akka-http which is
>> currently
>> > >> forked
>> > >> > by PJ Fanning. The project depends on pekko-http and is a
>> dependency of
>> > >> > various pekko-connecter AWS integrations (i.e. event bridge,
>> kinesis etc
>> > >> > etc). It can be its own artifact within pekko-connectors since its
>> > >> > transitive dependencies (i.e. aws sdk) are quite stable and don't
>> break
>> > >> > that often.
>> > >> > * https://github.com/hseeberger/akka-http-json: An integration
>> between
>> > >> Akka
>> > >> > Streams and Circe. The project depends on akka-http and is being
>> used by
>> > >> > the IronMQ integration in Pekko connectors, currently the project
>> is
>> > >> forked
>> > >> > by PJ Fanning. I wouldn't recommend merging this project into
>> > >> > pekko-connectors because historically Circe's interface hasn't
>> been that
>> > >> > stable (more specifically Circe is still on 0.x on early-semver
>> which
>> > >> means
>> > >> > any increase in minor breaks binary compatibility and hence we
>> would be
>> > >> > forced to release pekko-connectors very frequently). If the author
>> > >> > considers forking this for Pekko than this is acceptable however
>> there
>> > >> are
>> > >> > alternatives, i.e. I maintain
>> > >> > https://github.com/mdedetrich/akka-streams-json which will be
>> forked
>> > >> in a
>> > >> > new repo for Pekko once a change in typelevel's jawn is released
>> (and
>> > >> as a
>> > >> > bonus akka-streams-json which will be pekko-streams-circe as an
>> actual
>> > >> > streaming JSON implementation, unlike akka-http-json)
>> > >> >
>> > >> > Including the source of these plugins directly into Pekko raises a
>> lot
>> > >> of
>> > >> > concerns. The most obvious ones are legal/license, on the licensing
>> > >> front
>> > >> > we are lucky since all of the code in question is Apache 2 however
>> there
>> > >> > can be other legal concerns that always arise in these cases.
>> > >> >
>> > >> > Thankfully we are a bit lucky here in that the author of the most
>> > >> critical
>> > >> > module dependency timewise pekko-http-cors has been very open in
>> working
>> > >> > with us, so it may not even be a stretch in proactively and
>> honestly
>> > >> asking
>> > >> > him whether he would be willing to donate the code (even with a
>> code
>> > >> grant)
>> > >> > to us which I would presume would solve most legal issues. The
>> other
>> > >> > dependency which is aws-spi-pekko-http might be a bit more
>> problematic
>> > >> but
>> > >> > its also part of pekko-connectors which will take some time before
>> we
>> > >> get
>> > >> > to a release and by that time pekko core would already have its
>> 1.0.x
>> > >> > release which hopefully increase chances of the author being more
>> > >> > responsive to us. As mentioned before akka-http-json doesn't make
>> sense
>> > >> > because of technical reasons but we should look into approaching
>> the
>> > >> author
>> > >> > at some point in making it support pekko irregardless of what we
>> decide
>> > >> on
>> > >> > this topic.
>> > >> >
>> > >> > Also finally regarding the effort both in including the code and in
>> > >> > maintaining it, with the former we would just place code in an
>> existing
>> > >> > repository. Even for purely technical reasons it doesn't make
>> sense to
>> > >> make
>> > >> > the projects their own repo and in regards to maintenance burden a
>> lot
>> > >> of
>> > >> > this code is basically unchanged for years so we should be good
>> here.
>> > >> >
>> > >> > What is everyones thoughts on this?
>> > >> >
>> > >> > --
>> > >> >
>> > >> > 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:* matthew.dedetr...@aiven.io
>> > >> >
>> > >>
>> > >> ---------------------------------------------------------------------
>> > >> To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
>> > >> For additional commands, e-mail: dev-h...@pekko.apache.org
>> > >>
>> > >>
>> > >
>> > > --
>> > >
>> > > 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:* matthew.dedetr...@aiven.io
>> > >
>> >
>> >
>> > --
>> >
>> > 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:* matthew.dedetr...@aiven.io
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@pekko.apache.org
>> For additional commands, e-mail: dev-h...@pekko.apache.org
>>
>>
>
> --
>
> 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:* matthew.dedetr...@aiven.io
>

Reply via email to