You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pekko.apache.org by Hen <ba...@apache.org> on 2022/11/08 21:50:13 UTC

Publishing under the old package name

I see conversation on moving to a new Apache java package name.

Are there plans to also publish under the old Java package name?

Given the context that this project is (iiuc) being created to support a
community who were abandoned by a switch from open source to $proprietary
licensing, it feels like in the short term (1-2 years) there will be a
dependency tree that will take time to work itself over to Pekka and any
urgent fixes will be difficult to use. Forking under the old package name
for critical urgent fixes is what I believe initial users will want.

Thanks,

Hen

Re: Publishing under the old package name

Posted by Greg Methvin <gr...@apache.org>.
I probably should’ve clarified that I don’t believe it would make sense for
Pekko to support Akka class names, for a bunch of different reasons. I was
mainly trying to convey that there are a lot of other libraries that depend
on Akka, so this migration story is something we need to think about.

On Tue, Nov 8, 2022 at 10:31 PM Alexandru Nedelcu <al...@apache.org>
wrote:

> Personally, I can no longer touch it, as long as it depends on Akka,
> because its API assumes usage of actors, and so it's a minefield. I don't
> know the future, but if we're taking bets, I'd bet that Play Framework will
> fully migrate to Pekko and leave Akka completely behind 🤷‍♂️ because
> that's the only way forward for FOSS projects like it. This is just a
> personal opinion of course, but I'm sure I'm not alone in thinking that
> Play, like Akka, is a hot potato right now for many projects. And the
> difference b/w Play and Akka is that for Akka at least you have commercial
> development and support available.
>

I don't see any way that Play would use BSL Akka, but Play, like other
libraries, would probably want to support both Akka 2.6 and Pekko for some
time to make migration less painful for users. One possible scenario is
that Play introduces support for Pekko in a new release series (e.g.
2.10.x) where Pekko is the major breaking change, and continues to support
Akka 2.6.x in the previous release series.

Re: Publishing under the old package name

Posted by Hen <ba...@apache.org>.
Just to make sure it's clear - releasing packages in the akka.* namespace
is not off the table; however the project can choose to not do that. It can
then choose situationally to consider that in the future; for example if
the situation I'm concerned about occurs (Pekko not ready for release,
critical security issue next September, and Lightbend refuse to update the
open source version).

Avoid making door-closing legal interpretation statements without getting
legal interpretation :)

Hen

On Tue, Nov 8, 2022 at 11:51 PM Jean-Luc Deprez <Je...@gmail.com>
wrote:

> Lead up to the discussion to be found here btw:
> https://github.com/mdedetrich/akka-apache-project/discussions/8
>
> Anyhow, sticking with the akka package name is considered a legal swamp by
> most involved. ASL 2 doesn't grant trademarks but you still have the
> matching contract argument (as exist for java.* and the many distributions
> of java), but that means that you need to make every effort to stay 100%
> compatible (counter example Microsofts 2000 era JVM), which means staying a
> 3 year delay downstream (like CentOS now Rocky linux) and risk due to muddy
> waters when it comes to security fixes.
>
> So I think akka.* package releases are off the table. The only way that
> would have been possible was by a formal Software Grant by Lightbend, which
> included the trademark, which clearly is not the case.
>
>
>
> On Wed, Nov 9, 2022 at 7:31 AM Alexandru Nedelcu <al...@apache.org>
> wrote:
>
> > On Wed, Nov 9, 2022, at 07:23, Greg Methvin wrote:
> > > If Pekko uses a different package name, most of those libraries will
> need
> > > to support Akka users that are not ready to migrate to Pekko, so they
> > will
> > > need to release equivalent versions for Akka and Pekko at the same
> time.
> > > That will probably not be too hard if we have a tool to migrate an Akka
> > > codebase to Pekko, but it will definitely complicate things for more
> > > complex projects like Play.
> >
> > One thing to keep in mind is that releasing Pekko under a different
> > package name is the only way libraries are able to support both, the only
> > way forward. We can't publish with the same group id on Maven Central,
> > therefore we cannot evict Akka from the classpath, therefore both can be
> > and will be on the classpath at the same time.
> >
> > For both libraries and users, having Pekko use the same package name
> would
> > be an absolute nightmare for both libraries and apps, because you then
> have
> > to manually manage exclusions in your build. Because both Pekko and Akka
> > tend to be transitive dependencies.
> >
> > Play Framework's development, AFAIK, was donated and is no longer
> > sponsored by Lightbend. I loved Play Framework and I used it in many
> > projects over the years, the only framework for Scala that brought us the
> > "Ruby on Rails" experience.
> >
> > Personally, I can no longer touch it, as long as it depends on Akka,
> > because its API assumes usage of actors, and so it's a minefield. I don't
> > know the future, but if we're taking bets, I'd bet that Play Framework
> will
> > fully migrate to Pekko and leave Akka completely behind 🤷‍♂️ because
> > that's the only way forward for FOSS projects like it. This is just a
> > personal opinion of course, but I'm sure I'm not alone in thinking that
> > Play, like Akka, is a hot potato right now for many projects. And the
> > difference b/w Play and Akka is that for Akka at least you have
> commercial
> > development and support available.
> >
> > My prediction is that if Pekko turns out to be a viable fork, the entire
> > FOSS ecosystem around Akka will turn around to depend on it, instead of
> > Akka; so trying to use the same package name would be just a short-term
> fix
> > that can only cause problems. There's a big IF in there, of course 🙂
> >
> > --
> > Alexandru Nedelcu
> > alexn.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
> > For additional commands, e-mail: dev-help@pekko.apache.org
> >
> >
>

Re: Publishing under the old package name

Posted by Jean-Luc Deprez <Je...@gmail.com>.
Lead up to the discussion to be found here btw:
https://github.com/mdedetrich/akka-apache-project/discussions/8

Anyhow, sticking with the akka package name is considered a legal swamp by
most involved. ASL 2 doesn't grant trademarks but you still have the
matching contract argument (as exist for java.* and the many distributions
of java), but that means that you need to make every effort to stay 100%
compatible (counter example Microsofts 2000 era JVM), which means staying a
3 year delay downstream (like CentOS now Rocky linux) and risk due to muddy
waters when it comes to security fixes.

So I think akka.* package releases are off the table. The only way that
would have been possible was by a formal Software Grant by Lightbend, which
included the trademark, which clearly is not the case.



On Wed, Nov 9, 2022 at 7:31 AM Alexandru Nedelcu <al...@apache.org>
wrote:

> On Wed, Nov 9, 2022, at 07:23, Greg Methvin wrote:
> > If Pekko uses a different package name, most of those libraries will need
> > to support Akka users that are not ready to migrate to Pekko, so they
> will
> > need to release equivalent versions for Akka and Pekko at the same time.
> > That will probably not be too hard if we have a tool to migrate an Akka
> > codebase to Pekko, but it will definitely complicate things for more
> > complex projects like Play.
>
> One thing to keep in mind is that releasing Pekko under a different
> package name is the only way libraries are able to support both, the only
> way forward. We can't publish with the same group id on Maven Central,
> therefore we cannot evict Akka from the classpath, therefore both can be
> and will be on the classpath at the same time.
>
> For both libraries and users, having Pekko use the same package name would
> be an absolute nightmare for both libraries and apps, because you then have
> to manually manage exclusions in your build. Because both Pekko and Akka
> tend to be transitive dependencies.
>
> Play Framework's development, AFAIK, was donated and is no longer
> sponsored by Lightbend. I loved Play Framework and I used it in many
> projects over the years, the only framework for Scala that brought us the
> "Ruby on Rails" experience.
>
> Personally, I can no longer touch it, as long as it depends on Akka,
> because its API assumes usage of actors, and so it's a minefield. I don't
> know the future, but if we're taking bets, I'd bet that Play Framework will
> fully migrate to Pekko and leave Akka completely behind 🤷‍♂️ because
> that's the only way forward for FOSS projects like it. This is just a
> personal opinion of course, but I'm sure I'm not alone in thinking that
> Play, like Akka, is a hot potato right now for many projects. And the
> difference b/w Play and Akka is that for Akka at least you have commercial
> development and support available.
>
> My prediction is that if Pekko turns out to be a viable fork, the entire
> FOSS ecosystem around Akka will turn around to depend on it, instead of
> Akka; so trying to use the same package name would be just a short-term fix
> that can only cause problems. There's a big IF in there, of course 🙂
>
> --
> Alexandru Nedelcu
> alexn.org
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
> For additional commands, e-mail: dev-help@pekko.apache.org
>
>

Re: Publishing under the old package name

Posted by Alexandru Nedelcu <al...@apache.org>.
On Wed, Nov 9, 2022, at 07:23, Greg Methvin wrote:
> If Pekko uses a different package name, most of those libraries will need
> to support Akka users that are not ready to migrate to Pekko, so they will
> need to release equivalent versions for Akka and Pekko at the same time.
> That will probably not be too hard if we have a tool to migrate an Akka
> codebase to Pekko, but it will definitely complicate things for more
> complex projects like Play.

One thing to keep in mind is that releasing Pekko under a different package name is the only way libraries are able to support both, the only way forward. We can't publish with the same group id on Maven Central, therefore we cannot evict Akka from the classpath, therefore both can be and will be on the classpath at the same time.

For both libraries and users, having Pekko use the same package name would be an absolute nightmare for both libraries and apps, because you then have to manually manage exclusions in your build. Because both Pekko and Akka tend to be transitive dependencies.

Play Framework's development, AFAIK, was donated and is no longer sponsored by Lightbend. I loved Play Framework and I used it in many projects over the years, the only framework for Scala that brought us the "Ruby on Rails" experience.

Personally, I can no longer touch it, as long as it depends on Akka, because its API assumes usage of actors, and so it's a minefield. I don't know the future, but if we're taking bets, I'd bet that Play Framework will fully migrate to Pekko and leave Akka completely behind 🤷‍♂️ because that's the only way forward for FOSS projects like it. This is just a personal opinion of course, but I'm sure I'm not alone in thinking that Play, like Akka, is a hot potato right now for many projects. And the difference b/w Play and Akka is that for Akka at least you have commercial development and support available.

My prediction is that if Pekko turns out to be a viable fork, the entire FOSS ecosystem around Akka will turn around to depend on it, instead of Akka; so trying to use the same package name would be just a short-term fix that can only cause problems. There's a big IF in there, of course 🙂

-- 
Alexandru Nedelcu
alexn.org

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
For additional commands, e-mail: dev-help@pekko.apache.org


Re: Publishing under the old package name

Posted by Greg Methvin <gr...@apache.org>.
It's pretty common in my experience to have other third-party dependencies
that depend on Akka. Play Framework is a major one in my experience, but
there are also hundreds of other smaller third-party libraries that
integrate with Akka and expose Akka classes in their APIs.

If Pekko uses a different package name, most of those libraries will need
to support Akka users that are not ready to migrate to Pekko, so they will
need to release equivalent versions for Akka and Pekko at the same time.
That will probably not be too hard if we have a tool to migrate an Akka
codebase to Pekko, but it will definitely complicate things for more
complex projects like Play.

On Tue, Nov 8, 2022 at 7:33 PM Hen <ba...@apache.org> wrote:

> Thanks PJ. I want to note that you're making an assumption there that
> supporting a Java package name for compatibility might/would be a trademark
> infringement.
>
> Fuller context - I was raising this after seeing a JIRA issue on
> license-discuss about org.apache.pekko vs pekko, and I hadn't seen any
> discussion on supporting existing users with the akka namespacing.
>
> Apache-wise, it's unusual to have a situation where we are supporting an
> existing user community with a fork. Presumably not unique, because we've
> been around a while, but a comparable situation isn't jumping to mind.
> IIUC the EOL for Akka Open Source is September 2023? From the JIRA issue I
> saw that one plan is for them to migrate by search/replace of
> akka->org.apache.pekko. Is the space pretty shallow dependency wise that
> that will work? Or will folk find there are many other open source projects
> they depend on, that subsequently depend on Akka, and migrating is going to
> be interesting to say the least?
>
> Thanks again,
>
> Hen
>
>
> On Tue, Nov 8, 2022 at 1:59 PM PJ Fanning <fa...@gmail.com> wrote:
>
> > Lightbend continue to publish akka jars - so Pekko will not publish
> > any akka jars. We do not want to infringe on any Lightbend trademarks.
> >
> > The first Pekko release will have `org.apache.pekko` instead of `akka`
> > in package names. Likewise, all jars will have `pekko` in the names
> > instead of `akka`.
> >
> > On Tue, 8 Nov 2022 at 22:50, Hen <ba...@apache.org> wrote:
> > >
> > > I see conversation on moving to a new Apache java package name.
> > >
> > > Are there plans to also publish under the old Java package name?
> > >
> > > Given the context that this project is (iiuc) being created to support
> a
> > > community who were abandoned by a switch from open source to
> $proprietary
> > > licensing, it feels like in the short term (1-2 years) there will be a
> > > dependency tree that will take time to work itself over to Pekko and
> any
> > > urgent fixes will be difficult to use. Forking under the old package
> name
> > > for critical urgent fixes is what I believe initial users will want.
> > >
> > > Thanks,
> > >
> > > Hen
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
> > For additional commands, e-mail: dev-help@pekko.apache.org
> >
> >
>

Re: Publishing under the old package name

Posted by Hen <ba...@apache.org>.
Thanks PJ. I want to note that you're making an assumption there that
supporting a Java package name for compatibility might/would be a trademark
infringement.

Fuller context - I was raising this after seeing a JIRA issue on
license-discuss about org.apache.pekko vs pekko, and I hadn't seen any
discussion on supporting existing users with the akka namespacing.

Apache-wise, it's unusual to have a situation where we are supporting an
existing user community with a fork. Presumably not unique, because we've
been around a while, but a comparable situation isn't jumping to mind.
IIUC the EOL for Akka Open Source is September 2023? From the JIRA issue I
saw that one plan is for them to migrate by search/replace of
akka->org.apache.pekko. Is the space pretty shallow dependency wise that
that will work? Or will folk find there are many other open source projects
they depend on, that subsequently depend on Akka, and migrating is going to
be interesting to say the least?

Thanks again,

Hen


On Tue, Nov 8, 2022 at 1:59 PM PJ Fanning <fa...@gmail.com> wrote:

> Lightbend continue to publish akka jars - so Pekko will not publish
> any akka jars. We do not want to infringe on any Lightbend trademarks.
>
> The first Pekko release will have `org.apache.pekko` instead of `akka`
> in package names. Likewise, all jars will have `pekko` in the names
> instead of `akka`.
>
> On Tue, 8 Nov 2022 at 22:50, Hen <ba...@apache.org> wrote:
> >
> > I see conversation on moving to a new Apache java package name.
> >
> > Are there plans to also publish under the old Java package name?
> >
> > Given the context that this project is (iiuc) being created to support a
> > community who were abandoned by a switch from open source to $proprietary
> > licensing, it feels like in the short term (1-2 years) there will be a
> > dependency tree that will take time to work itself over to Pekko and any
> > urgent fixes will be difficult to use. Forking under the old package name
> > for critical urgent fixes is what I believe initial users will want.
> >
> > Thanks,
> >
> > Hen
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
> For additional commands, e-mail: dev-help@pekko.apache.org
>
>

Re: Publishing under the old package name

Posted by PJ Fanning <fa...@gmail.com>.
Lightbend continue to publish akka jars - so Pekko will not publish
any akka jars. We do not want to infringe on any Lightbend trademarks.

The first Pekko release will have `org.apache.pekko` instead of `akka`
in package names. Likewise, all jars will have `pekko` in the names
instead of `akka`.

On Tue, 8 Nov 2022 at 22:50, Hen <ba...@apache.org> wrote:
>
> I see conversation on moving to a new Apache java package name.
>
> Are there plans to also publish under the old Java package name?
>
> Given the context that this project is (iiuc) being created to support a
> community who were abandoned by a switch from open source to $proprietary
> licensing, it feels like in the short term (1-2 years) there will be a
> dependency tree that will take time to work itself over to Pekka and any
> urgent fixes will be difficult to use. Forking under the old package name
> for critical urgent fixes is what I believe initial users will want.
>
> Thanks,
>
> Hen

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@pekko.apache.org
For additional commands, e-mail: dev-help@pekko.apache.org