+ 1 (non-binding) Best wishes!
Yu Xiao Apache ShenYu Calvin Kirs <k...@apache.org> 于2022年10月19日周三 17:51写道: > > +1 binding > Good luck. > > On Wed, Oct 19, 2022 at 5:37 PM Sheng Wu <wu.sheng.841...@gmail.com> wrote: > > > > +1 binding > > > > Welcome > > > > Sheng Wu 吴晟 > > Twitter, wusheng1108 > > > > PJ Fanning <fannin...@apache.org> 于2022年10月19日周三 17:32写道: > > > > > > Thanks Claude and Ryan for putting together the proposal. > > > > > > +1 binding > > > > > > On Wed, 19 Oct 2022 at 09:08, Claude Warren, Jr > > > <claude.war...@aiven.io.invalid> wrote: > > > > > > > > I'll even kick off the voting: > > > > > > > > +1 binding > > > > > > > > On Wed, Oct 19, 2022 at 9:04 AM Claude Warren, Jr > > > > <claude.war...@aiven.io> > > > > 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 > > > > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > > For additional commands, e-mail: general-h...@incubator.apache.org > > > > > -- > Best wishes! > CalvinKirs > > --------------------------------------------------------------------- > To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org > For additional commands, e-mail: general-h...@incubator.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: general-unsubscr...@incubator.apache.org For additional commands, e-mail: general-h...@incubator.apache.org