+1 (non-binding) Best wishes to the project!
Heal Chow, Apache InLong PMC On Fri, Oct 21, 2022 at 11:51 AM Michael Marshall <mmarsh...@apache.org> wrote: > +1 (non-binding) > > - Michael > > On 2022/10/19 08:04:30 "Claude Warren, Jr" wrote: > > After reviewing the [DISCUSS] threads concerning bringing Pekko into the > > incubator [1][2], and finding that there is no further comment, I am > > calling for a VOTE to accept Pekko into the Apache Incubator. The text > of > > the proposal is included below for convenience, final and definitive text > > is in the Pekko Proposal from the Incubator wiki.[3] . > > > > Thank you for your time and consideration, > > Claude > > > > [1] https://lists.apache.org/thread/1t0x6d815td9dgjxhck51b5txcjm28rr > > [2] https://lists.apache.org/thread/cjo86gdwvqlqslq68gd0c8hxq6ds6yrz > > [3] https://cwiki.apache.org/confluence/display/INCUBATOR/PekkoProposal > > > > *Pekko Proposal* > > > > *Abstract* > > > > Pekko is a toolkit and an ecosystem for building highly concurrent, > > distributed, reactive and resilient applications for Java and Scala. > > > > *Proposal* > > > > Pekko is a toolkit that brings the actor model (popularised by Erlang) to > > the JVM, providing the basis for building both locally and distributed > > concurrency. On top of this Pekko provides a rich set of libraries built > on > > top of Actors to solve modern problems, including: > > > > - Streams: Fully bi-directional backpressured streams following the > > Reactive manifesto > > - HTTP: A fully streamed HTTP client/server built on top of streams > that > > also provides expected tools (such as connection pooling) necessary > for > > highly available web services > > - connectors: A rich set of connectors for various databases, > messaging, > > persistent services built on top of streams > > - grpc: A gRPC server/client > > - projection: Provides abstractions necessary for CQRS pattern such as > > envelope, necessary for systems such as Kafka. > > > > *Background* > > > > Pekko is a fork of the Akka project just before its licence changed from > > Apache 2 to Business Source License 1.1. The project provides a set of > > tools and frameworks that covers the complex problem space of distributed > > concurrent systems. It is designed to support the design principles of > the > > Reactive Manifesto by providing components to efficiently scale up > systems > > within a server or scale out across multiple servers, are high > performance, > > resilient to failure, distributed systems without a single point of > failure. > > > > *Rationale* > > > > There is a large cohort of applications and libraries that were dependent > > upon the original open source version of this project. Numerous > developers > > contributed their time in the belief that the project would stay open > > source. When the licence was changed the work of those developers was > > locked up and a vital resource for the cohort of applications and > libraries > > disappeared. Apache Flink is an example of a library that used the > original > > library upon which this project is based. This project is to continue the > > open source development that was promised under the original Apache 2 > > licence. We ask that the Apache Foundation accept this project so as to > > prevent any future incompatible licence switch in the future. > > > > Apache has a long standing tradition of not accepting hostile forks. > There > > has been some discussion of whether this project violates that tradition. > > We believe that it does not. > > > > For many years, Lightbend has been a steward for this open source > project, > > attracting contributions from many developers and building a community > > under the Apache License. It's within their rights to offer their future > > work under a different licence. The Pekko project will provide the > > continuity of an Apache-licensed home for long-term support, maintenance > > and new features for the developers that wish to continue using and > > building on their previous work. The major historical reason why Apache > > would be a good home for Pekko is that it will protect the project from > > licence changes similar to what is instigating the initial incubation > > proposal. If Pekko becomes part of Apache then it gives confidence to the > > community/users of Pekko that such an incident won’t happen in the future > > again. There are also currently existing Apache projects such as Flink > that > > use Akka to varying degrees and hence having Pekko to be part of Apache > > gives confidence to these other Apache projects. We believe that this > fork > > is a maintenance of the pre-existing Apache 2 licence and ask that the > > Apache community view it as such. > > > > In general, Akka had a very large penetration in both Scala and Java > > codebases, particularly in large scale enterprise projects/systems. Since > > it is a JVM based library it fits well into the Apache ecosystem. We feel > > that we can contribute to the stability of existing Apache projects as > > Apache can contribute to the stability of Pekko. > > > > *Initial Goals* > > > > Due to the sheer size of Akka, initial goals will be largely be adjusting > > and modifying the codebase so its fit for community orientated > > contributions, this includes: > > > > > > - Removing the Akka trademark from all sections in the code. > > - Setting up the build system using github actions to make sure we > have > > a CI system setup whenever pull requests are made (some Akka projects > use > > github actions already, in which case we need to make sure it still > works > > after the work). > > - Also using github actions for Maven/Github releases, in Scala/SBT > > projects it's typical to trigger a release when a person with > necessary > > rights pushes a signed git tag. Also need to find a solution for the > > official Apache source SVN release. > > - Other adjustments such as using testcontainers to minimise the > > friction in running tests for projects such as containers. > > - Update all of the documentation to be appropriate for an Apache > > project (as well as using the project’s name). > > - Assure continuity of security fixes and update on the existing > > Apache-licensed code, which might otherwise be at risk. > > - Continuously building community and identifying the contributors > that > > might assume project management roles for a successful graduation. > > - Port and/or merge currently open contributions/PR’s from Akka > > community, if they are willing, which are currently frozen due to the > > licence change. > > - This will be done after the first release of Pekko to accommodate > for > > companies that were using Akka so that they can use a version of > Pekko that > > is functionally equivalent to the last Apache release of Akka. > > > > > > *Current StatusMeritocracy:* > > > > The project upon which Pekko is based was initially very welcoming to > > contributions from external developers. However, they were controlled by > a > > commercial entity. Some projects were labelled as “community driven > > projects”, those would not have the guarantee from the entity to have a > > dedicated person working on them, so they needed to rely on community > > participation. The entity allowed trusted external developers to commit > to > > the code base and have write access to these mentioned community > > repositories. The new management team understands that, and hopes that > > developers will become engaged with the project and will help drive the > > development of processes as well as code so that we can become the > > welcoming development team we hope to be. > > > > Many of the core developers are experienced Apache developers working on > > other projects. Through their understanding and the work of the mentors > we > > are assured that a meritocracy will thrive around this community. > > > > *Community*: > > Akka being an already established open source project already has a > > community. This community was present in many channels, such as > > > > - Scala reddit (/r/scala) > > - Akka gitter channel > > - Lightbend forums > > - Scala community forums > > > > It is expected that once Pekko is launched a portion of this community > > (specifically the ones interested in open source contributions) would > > migrate to Pekko’s mailing list. > > > > Early discussions in existing community forums have shown that there is > > interest in an Apache project and we have commitment from several > channels > > to contribute to this project. > > > > Early participants in the discussions forming this project are > participants > > in the above channels and have a broad reach that will bring other > > developers into the project. In addition to software developers we have > > documentation specialists and test engineers participating. We have a > broad > > community. And while it does not have the depth we would like, we believe > > that it will continue to grow as we move forward. > > > > *Core Developers:* > > > > The individuals on the committer list are ones who have a history of > > contributing to the Akka project before the licence change as well as > > individuals that participated in community discussion on various Akka > > forums (i.e. Lightbend forums). In addition the individuals have a > history > > of working and contributing to open source projects. > > > > Sean Glover is a former member of the Akka team. He primarily maintained > > Akka Streams and related projects Alpakka and Alpakka Kafka. He currently > > uses Akka on the job and in other OSS projects he maintains. > > > > Phillip Warburton feels he is not enough of an expert to contribute code > > but is interested in contributing in to document clean-room fixes. > > > > Andy Chen is a contributor on Akka and his work is based on the Akka > > libraries. > > > > Jean-Luc Deprez works on a small team, mid sized software company, > > subsidiary of a large corporate group. His team built a project on top of > > Akka. The September 7th licence change came as a pretty hard personal > blow. > > He will divert his community participation this way, contributing in > > discussions and issues. If the team figure out a fix, you can count on a > PR. > > > > Greg Methvin is a maintainer on Play Framework (which is now > > community-maintained). We are evaluating whether this can serve as a > > replacement for Lightbend Akka going forward, as opposed to moving off > Akka > > entirely. > > > > Nicolas Vollmar is a maintainer on the akka-kryo-serialization project. > > > > PJ Fanning maintains a few akka related projects: swagger-akka-http and > > micrometer-akka. > > > > Daniel Schröter is a maintainer of the akka-kryo-serialization project. > > Altoo is using akka and has been regularly submitting > bugfixes/improvements > > to akka. > > > > Josep Prat is the top 5 contributor of the Akka HTTP module and did all > > contributions during his spare time, also he is in position 45 of all > time > > committers in the Akka project. > > > > Matthew de Detrich is a contributor to both Akka and Alpakka, submitting > > extra feature improvements as well as the wider Scala OS ecosystem in > > general (i.e. contributions to Scala stdlib itself, Scalatest etc etc). > > Most of these contributions were done in his spare time. > > > > Alexandru Nedelcu created Monix which is one of the popular > > reactive/future/IO implementation used within the Scala ecosystem that > > adheres to the Reactive Streams protocol. He is a very prolific > contributor > > to the Scala OS ecosystem, having been previously part of the Typelevel > > steering committee and also happens to works at a company that heavily > uses > > Akka for its payment systems. > > > > Johannes Rudolph is a major contributor to akka and the lead developer > for > > akka-http. > > > > *Alignment:* > > > > Apache Flink is using Akka however they are looking for a replacement due > > to the licence change. We expect that other Apache projects will require > > the same. > > > > We believe that we can be a good community member. > > > > > > *Known RisksProject Name* > > > > Several names were floated to replace the Akka name. There was a > community > > discussion and vote around the name > > > > We have selected the name Pekko after a vote on candidate names. Akka is > > the Finnish goddess of fertility and the earth. Pekko is the FInnish god > of > > farming & protector of the crops which create a nice analogy in a sense. > We > > pronounce the name Peck-O. > > > > A search of the WIPO database and EU IPO Search did not turn up any > active > > Nice category 9 trademark registrations containing the phrase “pekko”. > All > > results were “pekko” compounded with other phrases. > > > > *Orphaned products* > > > > Pekko provides libraries that are used by major companies, Apache > projects, > > and individuals. The initial development team comprises representatives > > from these organisations. We believe that Pekko will attract open source > > developers that have contributed to Akka in the past and want to see > their > > work continue to be open source. We are here, not because we are a > > potentially orphaned product, but rather because the contributors to the > > existing product want to see the open source project continue. > > > > *Inexperience with Open Source:* > > > > The project upon which Pekko is based was, as noted above, an open source > > project. The developers that wish to continue with the development > > understand open source projects. Several of the developers are committers > > on other Apache projects. Several are members of open source project > > offices at their respective employers. Several of our members are > > experienced in developing communities around open source projects. > > > > *Length of Incubation:* > > > > We expect that the incubation process will be quite long as we have > > significant code cleanup and documentation scrubbing to be completed. In > > addition we need to configure the Apache build systems to properly build > > what is a fairly complex project (i.e. akka core has tests that require > > multi node machines). An incubation of 1-2 years would not be unexpected. > > > > *Homogenous Developers:* > > > > The current list of committers spans Asia, Europe, and the Americas. All > > are experienced in working in distributed environments. While there are > > cultural differences, all are committed to open source development. > > > > *Reliance on Salaried Developers:* > > > > While several of the developers have the same employer, no employer has > > specifically stated that they are committing developers to Pekko. Any > > commercial contributions of time/effort are due to the need for > > changes/fixes to the libraries used by the commercial entities. > > > > All developers have shown a specific interest in keeping this project > open > > source and we expect that future developers will join for the same > reasons. > > > > *Relationships with Other Apache Products:* > > > > As noted above Akka is used by Apache Flink though Flink is planning to > > migrate away. We anticipate that they will transition to Pekko when it > > becomes available. We expect that other projects may find the library of > > use. > > > > *An Excessive Fascination with the Apache Brand:* > > > > We understand the need to protect the Apache brand. We also understand > that > > the Apache brand brings a licensing guarantee. While we are desirous of > the > > licensing guarantee, we believe that the project we are bringing is > viable > > and important. We think that it will provide support for at least two > > existing Apache projects and contribute to the strength of the Apache > brand > > world wide. > > > > *Documentation* > > > > The current documentation can be found at https://akka.io/docs Other > > documentation is available as .md files within the source tree of the > > project. > > > > *Initial Source* > > > > The original source comes from the Lightbend Akka github repository > before > > they transitioned to the Business Source License. The code base to be > > imported resides in several repositories under the control of Matthew > > Benedict de Detrich, the base one being > > https://github.com/mdedetrich/akka-apache-project > > > > *Source and Intellectual Property Submission Plan* > > > > Since Pekko is forked from an already existing Akka codebase there is a > > high chance that there may be existing IP/trademarks in the codebase that > > needs to be screened. The Akka name itself needs to be changed/removed > > entirely from the codebase. > > > > In addition there are already existing github triggers and other > mechanisms > > that build and test the system. We will need to review the triggers to > > determine how to implement the same or similar functionality on the > Apache > > infrastructure. > > > > Our high level plan is to: > > > > > > 1. A lift and shift of the existing github core repository into the > > Apache repository. > > 2. Modification of the build and test process to run on the Apache > build > > infrastructure. > > 3. Emphasis on the dev and user mailing lists for help requests and > > discussions. > > 4. Development and modification of project documentation. > > 5. Create a “release” 0.1.0. > > 6. Verify release > > 7. Functionality > > 8. Documentation > > 9. Meets Apache standards > > 10. Continue using the above process to migrate additional libraries > to > > the Apache libraries with each one being a release “0.x.0” > > 11. Upon completion of the migration of all pertinent libraries > release > > 1.0.0 > > 12. This strategy gives us the opportunity of learning the Apache way > > and the Apache infrastructure with small modules before we move into > the > > more complex systems, building up layer by layer until we have a > complete > > first release. > > > > > > *External Dependencies:* > > > > The initial code was licensed under Apache Source License v2. As such we > > believe that it meets all the requirements for external dependencies. > > However, as part of the incubation process we will verify that all > > dependencies have appropriate licences. Any dependencies that do not meet > > the requirements will be removed and alternative libraries or code used > > instead. > > > > *Cryptography:* > > > > We believe that there is no cryptographic code in the code base. However, > > as part of the incubation process we will verify that this is true. > > > > > > *Required ResourcesMailing lists:* > > > > priv...@pekko.incubator.apache.org > > d...@pekko.incubator.apache.org > > us...@pekko.incubator.apache.org > > comm...@pekko.incubator.apache.org > > Subversion Directory: > > We do not intend to use subversion. > > > > *Git Repositories:* > > > > https://gitbox.apache.org/repos/asf/incubator-pekko.git > > > > *Issue Tracking:* > > JIRA Pekko (PEKKO) > > > > *Initial Committers* > > Matthew de Detrich mdedetr...@gmail.com (CLA submitted) > > Josep Prat jo...@prat.tech (CLA submitted) > > He Pin hepin1...@gmail.com (CLA submitted) > > Andrea Zito zito.and...@gmail.com > > Andrea Peruffo andrea.peruffo1...@gmail.com > > Alexandru Nedelcu m...@alexn.org > > Joe Brockmeier j...@apache.org > > Sean Glover s...@seanglover.com > > Greg Methvin g...@methvin.net (play framework) > > Nicolas Vollmar nicolas.voll...@altoo.io > > PJ Fanning fannin...@yahoo.com > > Daniel Schröter d...@theone.ch > > Michael Kohout mwkoh...@gmail.com > > jxnu-liguobin dreamyl...@outlook.com > > Salar Rahmanian sa...@softinio.com > > Jonas Chapuis m...@jonaschapuis.com > > Andreas Gabor acc_apa...@beezle.de > > Johannes Rudolph johannes.rudo...@gmail.com > > > > There has been a lot of interest in being an initial committer, and we've > > tried to pick a fair representation of interested developers from the > > requests. We want to be clear that we welcome all contributions and > expect > > that the incubation period is the right time for this list to grow and > > evolve. > > > > *Sponsors* > > No company has committed to providing dedicated developers for the > project > > but Aiven and Altoo have committed to supporting development as needed by > > their respective organisations. > > > > *Champion*: > > Claude Warren cla...@apache.org > > > > *Nominated Mentors:* > > Claude Warren cla...@apache.org > > Justin McLean jmcl...@apache.org > > Ryan Skraba rskr...@apache.org > > PJ Fanning fannin...@yahoo.com > > Roman Shaposhnik r...@apache.org > > Wu Sheng wush...@apache.org > > JB Onofré jbono...@apache.org > > > > *Sponsoring Entity:* > > The Incubator > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > >