Hi, It seems to be a very interesting project, which is very close to kong's positioning. I personally feel that future support for asynchrony may be a direction that this project may need to consider. In addition, I am willing to be a mentor for APISIX.
Best Regards, Von Gosling Ming <moonbingb...@gmail.com> 于2019年9月27日周五 上午8:37写道: > Hi Incubator > > I am Ming Wen, we have open-sourced a microservices API gateway called > APISIX (https://github.com/iresty/apisix), which delivering the ultimate > performance, security, open source and scalable platform for APIs and > microservices. > > To better build up the whole ecosystem, we decide to donate APISIX project > to Apache Software Foundation. Therefore, we’d like to propose our project > to go through the incubation process. > > we have already invited Willem Ning Jiang as Champion, Justin Mclean as > mentor, and welcome other experienced IPMC members to mentor this project. > > Attached is our incubation proposal for open discussion, and I added this > proposal to list ( > https://cwiki.apache.org/confluence/display/INCUBATOR/APISIXProposal). > Thank you. > > Best, > Ming Wen > > ------ > = APISIX Proposal = > > == Abstract == > > APISIX is a cloud-native microservices API gateway, delivering the ultimate > performance, security, > open source and scalable platform for all your APIs and microservices. > > APISIX is based on OpenResty and etcd, and has dynamic routing and plug-in > hot loading, > which is especially suitable for API management under micro-service > system. > > == Proposal == > > The goal of this proposal is to bring the existing APISIX > <https://github.com/iresty/apisix> codebase and existing developers and > community > into the Apache Software Foundation (ASF) in order to build a global, > diverse and self-governed open source community in API gateway field. > > Zhiliu is submitting this proposal to donate the APISIX sources code and > associated artifacts > (documentation, web site content, wiki, etc.) to the Apache Software > Foundation Incubator under the Apache License, Version 2.0. > > These artifacts are currently available on GitHub at > https://github.com/iresty/apisix and include: > - APISIX: The Cloud-Native Microservices API gateway. > - APISIX-dashboard: The dashboard for APISIX API gateway. > > == Background == > > Mircro-service and Cloud Native architecture are becoming more and more > popular, > traditional monolithic applications are being replaced by microservices. > This also brings more challenges for API gateways, not only handling > north-south traffic, > but also handling east-west traffic between microservices, > and need to ensure high concurrency and very low latency at the same time. > > APISIX was open sourced on Github in in June 2019. > At first, APISIX needs to interact directly with etcd to modify the > configuration of routes and plugins. > After we opened on the GitHub, the community gives the feedbacks about high > level API and built-in dashboard. > So in 0.6 version, APISIX provided REST admin API and dashboard to control > the API gateway. > Since then more and more contributors have joined in, and more plugins and > features provided. > > == Rationale == > > APISIX acts as an entry point for business traffic and plays an important > role in the current system. > Making traffic more secure and faster to process is the ultimate goal of > APISIX. > > APISIX includes these primary parts: > - Provide the core of the API gateway, including various processing of > requests and responses, dynamic upstream and dynamic SSL certificates, > upstream active and passive health checks, etc. The core does not bind > APISIX, other projects can be used directly. > - Provide the plug-in hot plugging mechanism based on the core, to > support gRPC transcoding, > identity authentication, rate limiting, OpenTracing etc. And provide a > plugin development library, > users can easily write their own plugins. > - Provide the admin API and dashboard to operate the API gateway, > and also support updating with the yaml configuration file, which is > friendly for Kubernetes. > > There is a strong need for an open, easy-to-use microservice API gateway to > help developers > reduce duplication of code development and better manage APIs. > We believe that by moving to Apache it will help us work in a more global > and open way. > Under Apache’s strong governance and existing processes, hope is also to > make APISIX more reliable and encourage more developers to participate, > as is crucial for API gateway. > > == Current Status == > > === Meritocracy === > > APISIX was created in April 2019 and opened on github on June 6, 2019. > The project now has contributors and users from a dozen companies; > we have set up the PMC Team and Committer Team. New contributors are guided > and reviewed by existed PMC members. > When they are ready, PMC will start a vote to promote him/her to become a > member of PMC or Committer Team, > see the votes for Committer: > https://github.com/iresty/apisix/issues?utf8=%E2%9C%93&q=label%3Avote. > Contributions are always welcomed and highly valued. > A lot of energy is allocated to ensure help to all wishing to contribute. > > === Community === > > APISIX has been building an active community since its open source, and > hosted meetup in 5 different cities in China. > Currently, the community includes over 22 contributors, and we already have > a user group of more than 500 people. > > APISIX’s contributors, who can provide employer information, are from > iresty.com, meizu.com, weibo.com, ke.com, fansup.mobi, > which also provide many important feedbacks from their actual scenarios. > > We hope to grow the base of contributors by inviting all those who offer > contributions through The Apache Way. > Right now, we make use of github as code hosting as well as gitter for > community communication. > > APISIX will seek more developers and user communities during incubation. > > === Core Developers === > > The core developers, including experienced open source developers and team > leaders, have formed a group full of diversity. > - Committer Team members: > https://github.com/iresty/Organization/blob/master/README.md#committer-team > > == Known Risks == > > === Orphaned products === > > The contributors and community cooperation brings the project from a small > concept into a real microservices API gateway, > and APISIX is widely adopted in China by some companies and organizations > <https://github.com/iresty/apisix/issues/487>. > The core developers of APISIX team already work full time on this project. > There is very little risk of APISIX getting orphaned as at least one large > company (ke.com) is widely using it in their production, handling more > than > 100 million user requests per day. > > APISIX has four major releases, 22 contributors, been forked nearly 150 > times, > and received 380 pull requests from contributors, which further > demonstrates APISIX as a very active project. > We also plan to extend and diversify this community further through Apache. > > Thus, it is very unlikely that APISIX becomes orphaned. > > === Inexperience with Open Source === > > The members of PMC are the founders of the OpenResty community, a > nd already have experience working with open source communities, > they are also active in OpenResty <https://github.com/openresty>, Kong < > https://github.com/Kong> and other projects. > At the same time, we will learn more open source experiences by following > the Apache way in our incubator journey. > > Therefore, we believe we have enough experience to deal with open source. > > === Homogenous Developers === > > The current core developers work across a variety of organizations > including Meizu, > ke.com, dasouche.com, Weibo and fansup.mobi; some individual developers > are > accepted as core developers > of APISIX as well. Considering that qianxin.com and aispeech.com have > shown > great interest in APISIX, > we plan to encourage them to contribute and invite them as contributors to > work together. > > === Reliance on Salaried Developers === > > Most members of the PMC and Committer Team, are paid by their employers to > contribute to this project. > APISIX itself and the API gateway are very attractive and important for > every company the contributors work in, > and they have no reason to stop them. Contributions and new committers are > expected. > And we will make efforts to increase the diversity of the contributors. > > === Relationships with Other Apache Products === > > APISIX already support Apache Skywalking as one of the APM services, > and will proxy for Apache dubbo and Apache brpc. Also we are considering > integrates Apache Zookeeper as one of the > service registration/discovery mechanisms. > > === A Excessive Fascination with the Apache Brand === > > We acknowledge the value and reputation that the Apache brand will bring to > APISIX. > However, we prefer that the community provided by the Apache Software > Foundation will enable the project > to achieve long-term stable development. > So APISIX is proposing to enter incubation at Apache in order to help > efforts to diversify the community, > not so much to capitalize on the Apache brand. > > == Documentation == > > A complete set of APISIX documentations is provided on github in both > English and Simplified Chinese. > > - English <https://github.com/iresty/apisix/blob/master/README.md> > - Chinese <https://github.com/iresty/apisix/blob/master/README_CN.md> > > == Initial Source == > > The project consists of two distinct codebases: the server and the > dashboard. > These have existed as separate git repositories. > > - https://github.com/iresty/apisix > - https://github.com/iresty/apisix_dashboard > > == Source and Intellectual Property Submission Plan == > > As soon as APISIX is approved to join Apache Incubator, zhiliu will provide > the Software Grant Agreement(SGA) > and initial committers will submit ICLA(s). > The code is already licensed under the Apache Software License, version > 2.0. > > == External Dependencies == > > As all backend code dependencies are managed using Luarocks > < > > https://github.com/iresty/apisix/blob/master/rockspec/apisix-dev-1.0-0.rockspec > >, > none of the external libraries need to be packaged in a source > distribution. > > All of dependencies have Apache compatible licenses,and the detail as > follows: > > Dependency License Comments > > lua-resty-session BSD 2-clause > lua-resty-http BSD 2-clause > lua-resty-balancer BSD 2-clause > lua-resty-template BSD 3-clause > lua-resty-cookie BSD 3-clause > lua-resty-etcd Apache-2.0 > lua-resty-ngxvar Apache-2.0 > lua-resty-openidc Apache-2.0 > lua-resty-healthcheck-iresty Apache-2.0 > lua-resty-jwt Apache-2.0 > opentracing-openresty Apache-2.0 > lua-resty-radixtree Apache-2.0 > lua-resty-iputils MIT > lua-protobuf MIT > lua-resty-jit-uuid MIT > lua-tinyyaml MIT > lua-rapidjson MIT > luafilesystem MIT > iresty-nginx-lua-prometheus MIT > > As all front-end dashboard dependencies are managed using NPM > <https://github.com/iresty/apisix_dashboard/blob/master/package.json>, > none of the external libraries need to be packaged in a source > distribution. > > All of dependencies have Apache compatible licenses,and the detail as > follows: > > Dependency License Comments > > vue-image-crop-upload ISC > tinymce/tinymce-vue Apache-2.0 > echarts Apache-2.0 > fuse.js Apache-2.0 > xlsx Apache-2.0 > jszip MIT > vue-typescript-admin-template MIT > vue-element-admin MIT > types/http-proxy-middleware MIT > axios MIT > clipboard MIT > codemirror MIT > cors MIT > driver.js MIT > element-ui MIT > faker MIT > file-saver MIT > http-proxy-middleware MIT > js-cookie MIT > jsonlint MIT > lodash MIT > morgan MIT > normalize.css MIT > nprogress MIT > path-to-regexp MIT > register-service-worker MIT > screenfull MIT > script-loader MIT > sortablejs MIT > tui-editor MIT > uuid MIT > vue MIT > vue-class-component MIT > vue-count-to MIT > vue-i18n MIT > vue-property-decorator MIT > vue-router MIT > vue-splitpane MIT > vue-svgicon MIT > vue2-dropzone MIT > vuedraggable MIT > vuex MIT > vuex-class MIT > vuex-module-decorators MIT > yamljs MIT > > == Required Resources == > > === Git Repositories === > > - https://github.com/iresty/apisix.git > - https://github.com/iresty/apisix_dashboard.git > > === Issue Tracking === > > The community would like to continue using GitHub Issues. > > === Continuous Integration tool === > > Travis CI > > === Mailing Lists === > > - APISIX-dev: for development discussions > - APISIX-private: for PPMC discussions > - APISIX-notifications: for users notifications > > == Initial Committers == > > - Ming Wen(moonbingb...@gmail.com) > - Yuansheng Wang(membp...@gmail.com) > - Zhiyuan Ju(jjzhiy...@gmail.com) > - Junxu Chen(4061...@qq.com) > - Yong Li(chnliy...@hotmail.com) > - Suo Zhang(coolsoul0...@qq.com) > - Ke Tang(itangke1...@gmail.com) > - Chunlin Wu(lin...@live.com) > - Lang Wang(gk...@qq.com) > - Hui Li(794089...@qq.com) > - Zhiyong Li(lizhiyong4...@gmail.com) > > == Affiliations == > > - zhiliu: Ming Wen, Yuansheng Wang > - Meizu: Junxu Chen > - Dasouche: Yong Li > - Individuals: Zhiyuan Ju > - Yanhuang Online: Suo Zhang > - GangRong Tech: Ke Tang > - Axinfu: Chunlin Wu > - Learnta: Lang Wang > - Tencent: Hui Li > - Zero tone Tech: Zhiyong Li > > == Sponsors == > > === Champion === > > - Willem Ning Jiang, ningji...@apache.org > > === Mentors === > > - Willem Ning Jiang, ningji...@apache.org > - Justin Mclean, jmcl...@apache.org > > === Sponsoring Entity === > > We are expecting the Apache Incubator could sponsor this project. > -- Nothing is impossible