incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ming <moonbingb...@gmail.com>
Subject [VOTE] Accept APISIX into Apache Incubator
Date Thu, 10 Oct 2019 08:54:38 GMT
Hi all,

After the discussion of APISIX proposal
(discussion thread:
https://lists.apache.org/thread.html/aada574d5fe8e9cf246f213f3915aebb2afa710607676c2af5d5eb73@%3Cgeneral.incubator.apache.org%3E),
I would like to call a VOTE to accept it into the Apache Incubator.

Please cast your vote:

  [ ] +1, bring APISIX into Incubator
  [ ] +0, I don't care either way
  [ ] -1, do not bring APISIX into Incubator, because...

The vote will open at least for 72 hours and only votes from the Incubator
PMC are binding.

= 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

fuse.js 	Apache-2.0
echarts 	Apache-2.0
axios 	MIT
element-ui 	MIT
js-cookie 	MIT
normalize.css 	MIT
nprogress 	MIT
path-to-regexp 	MIT
register-service-worker 	MIT
screenfull 	MIT
uuid 	MIT
vue 	MIT
vue-class-component 	MIT
vue-count-to 	MIT
vue-i18n 	MIT
vue-property-decorator 	MIT
vue-router 	MIT
vue-svgicon 	MIT
vuex 	MIT
vuex-class 	MIT
vuex-module-decorators 	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(moonbingbing@gmail.com)
    - Yuansheng Wang(membphis@gmail.com)
    - Zhiyuan Ju(jjzhiyuan@gmail.com)
    - Junxu Chen(4061470@qq.com)
    - Yong Li(chnliyong@hotmail.com)
    - Suo Zhang(coolsoul0551@qq.com)
    - Ke Tang(itangke1990@gmail.com)
    - Chunlin Wu(linsir@live.com)
    - Lang Wang(gk.wl@qq.com)
    - Hui Li(794089112@qq.com)
    - Zhiyong Li(lizhiyong4360@gmail.com)
    - Jinchao Shuai(shuaijinchao@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
    - TAL Education: Jinchao Shuai

== Sponsors ==

=== Champion ===

    - Willem Ning Jiang, ningjiang@apache.org

=== Mentors ===

    - Willem Ning Jiang, ningjiang@apache.org
    - Justin Mclean, jmclean@apache.org
    - Kevin Ratnasekera, djkevincr1989@gmail.com
    - Gosling Von, fengjia10@gmail.com

=== Sponsoring Entity ===

We are expecting the Apache Incubator could sponsor this project.

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message