After several days discussion with some Apache members, the draft is almost ready , please vote for donating the soul and soul-dashboard to Apache Foundation. We had a long discussion about changing the name,see this :https://github.com/dromara/soul/issues/1215。 finnally soul will renamed ShenYu!
the ShenYu Proposal is :
ShenYu Proposal
Abstract
ShenYu is a high performance Microservices API gateway in Java ecosystem, compatible with a variety of mainstream framework systems, supports hot plug. Users can write their own plugin meet the current requirement and future needs in a variety of scenarios, especially in large-scale scenes.
We believe that bringing ShenYu into Apache Software Foundation could advance development of a stronger and more diverse open source community.
Dromara submits this proposal to donate ShenYu's source codes and all related documentations to Apache Software Foundation. The codes are already under Apache License Version 2.0.
The rapid growth of ShenYu community is empowered by open source. We believe the Apache foundation is a great fit as the long-term home for ShenYu, as it provides an established process for community-driven development and decision making by consensus. This is exactly the model we want for future ShenYu development.
Current Status Meritocracy
ShenYu was incubated in 2017 and open sourced on GitHub in 2018. Once open sourced, ShenYu has been quickly adopted by multiple organization. We have set up the PMC and Committer. 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. See the details See the details here(https://dromara.org/projects/soul/committer/). Contributions are always welcomed and highly valued.
Community
Now we have set development teams for ShenYu respectively in Dromara.org, didiglobal, PerfMa, YY, and IBM. 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 for community communication.
Core Developers
The core developers, including experienced open source developers and team leaders, have formed a group full of diversity.
Yu Xiao. He is the founder of this project, Apache ShardingSphere Committer.
Jinwei Qin. He is the PMC member of Apache Dubbo and Apache ShardingSphere, the member of Dromara.
Yonglun Zhang. He is the PMC member of Apache ShardingSphere, the member of Dromara.
Liming Deng. He is the member of OpenTelemetry and Lettuce, the collaborator of jedis, the member of Dromara.
Yudong Tang. He is the member of OpenTelemetry, Caffeine maintainer, the member of Dromara.
Haochao Zhuang. He is the PMC member of Apache SkyWalking, the member of Dromara.
Alignment
In the Microservices ecosystem, ShenYu is a very popular high performance Microservices API gateway supports many RPC framework including Apache Dubbo. We believe that it will help the further growth of Microservices community by having ShenYu and Dubbo aligned within Apache foundation. The alignment is also beneficial to other Apache communities (such as Zookeeper).
Known Risks
Project Name
Current project name is Soul, will change it to ShenYu after it is accepted by the Incubator.
Orphaned Products
The risk of the ShenYu project being abandoned is minimal. There are at least 40 organizations (JD, didiglobal, PerfMa, YY, CHINA TELECOM, IBM, STATE GRID etc.) are highly incentivized to continue development. Many of these organizations have built critical business applications upon ShenYu, and have devoted significant internal infrastructure investment in ShenYu.
Inexperience with Open Source
As mentioned in Core Developers section, the core developers all work for companies that have developed or contributed to many open source projects. There are at least four PMC members from other Apache projects together with members of other famous community.
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 Dromara.org, didiglobal, PerfMa, YY; some individual developers are accepted as core developers of ShenYu as well. ShenYu has an active community of developers, and we are committed to recruiting additional committers based on their contributions to the project.
Reliance on Salaried Developers
It is expected that ShenYu development will occur on both salaried time and on volunteer time, after hours. The majority of initial committers are paid by their employer to contribute to this project. However, they are all passionate about the project, and we are confident that the project will continue even if no salaried developers contribute to the project. We are committed to recruiting additional committers including non-salaried developers.
Relationships with Other Apache Products
ShenYu is closely integrated with Dubbo, Zookeeper, Curator, Shiro and commons in numerous ways.
ShenYu integrates Apache Zookeeper as one of the service registration/discovery mechanisms. ShenYu is deeply integrated with Apache Dubbo and supports its protocol.
To some extent, ShenYu has overlapping goals with the ASF existing API gateway APISIX, but they are in different ecological niche. APISIX is written by Lua and Perl with technical architecture Nginx + etcd, while ShenYu is written by Java. ShenYu can be conveniently integrated with the RPC framework in the Java ecosystem.
An Excessive Fascination with the Apache Brand
We acknowledge the value and reputation that the Apache brand would bring to ShenYu. However, our primary interest is in the excellent community provided by Apache Software Foundation, in which all the projects could gain stability for long-term development.
Documentation
A complete set of ShenYu documentations is provided in both English and Simplified Chinese. The project will be renamed to ShenYu when migrating.
Initial Source and Intellectual Property Submission Plan
As soon as ShenYu is approved to join Apache Incubator, the Initial committers will submit ICLA(s). The code is already licensed under the Apache Software License, version 2.0.
External Dependencies
As all backend codes dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution.
Most of dependencies have Apache compatible licenses,and the detail as follows:
Backend Dependencies
Dependency:
License
Comments
mapstruct
Apache-2.0
gson
Apache-2.0
okhttp
Apache-2.0
lombok
MIT
simpleclient
Apache-2.0
simpleclient_httpserver
Apache-2.0
simpleclient_hotspot
Apache-2.0
dubbo
Apache-2.0
sofa-rpc-all
Apache-2.0
disruptor
Apache-2.0
mybatis-spring-boot-starter
Apache-2.0
mysql-connector-java
GPL-2.0
Will be removed, and users who need this library can download it manually.
druid
Apache-2.0
commons-lang3
Apache-2.0
commons-collections4
Apache-2.0
reactor-spring
Apache-2.0
hessian
Apache-1.1
kryo-shaded
BSD-3-Clause
protostuff-core
BSD-3-Clause
protostuff-runtime
BSD-3-Clause
protostuff-runtime
BSD-3-Clause
zookeeper
Apache-2.0
zkclient
Apache-2.0
pagehelper
MIT
springfox-swagger2
Apache-2.0
springfox-swagger-ui
Apache-2.0
tars-spring-boot-starter
BSD-3-Clause
slf4j-api
MIT
jcl-over-slf4j
MIT
hamcrest-library
BSD-3-Clause
junit
EPL-1.0
mockito-core
MIT
mockito-inline
MIT
spring
Apache-2.0
spring-boot
Apache-2.0
jetcd-core
Apache-2.0
nacos
Apache-2.0
The dashboard UI dependencies are as follows:
Dependency
License
Comments
stylelint-config-standard
MIT
stylelint-config-prettier
MIT
stylelint
MIT
roadhog-api-doc
MIT
roadhog
MIT
regenerator-runtime
MIT
redbox-react
MIT
react-loadable
MIT
pro-download
ISC
Setprototypeof
ISC
prettier
MIT
prettier
MIT
lint-staged
MIT
gh-pages
MIT
eslint-plugin-react
MIT
eslint-plugin-markdown
MIT
eslint-plugin-jsx-a11y
MIT
eslint-plugin-import
MIT
eslint-plugin-compat
MIT
eslint-plugin-babel
MIT
eslint-config-prettier
MIT
babel-eslint
MIT
babel-plugin-dva-hmr
MIT
babel-plugin-import
MIT
babel-plugin-module-resolver
MIT
babel-plugin-transform-decorators-legacy
MIT
cross-env
MIT
cross-port-killer
MIT
enzyme
MIT
eslint
MIT
eslint-config-airbnb
MIT
Url-polyfill
MIT
Redux-logger
MIT
react-resizable
MIT
react-intl-universal
BSD 3-Clause
react-fittext
MIT
react-dom
MIT
react-container-query
MIT
react-document-title
MIT
react
MIT
qs
BSD 3-Clause
prop-types
MIT
path-to-regexp
MIT
omit
MIT
babel
MIT
antd
MIT
classnames
MIT
dayjs
MIT
dva
MIT
dva-loading
MIT
enquire-js
MIT
lodash
MIT
Required Resources
Mailing lists
shenyu-dev: for development discussions
shenyu-private: for PPMC discussions
shenyu-notifications: for user notifications, and notifications from GitHub
After several days discussion with some Apache members, the draft is almost ready , please vote for donating the soul and soul-dashboard to Apache Foundation. We had a long discussion about changing the name,see this :https://github.com/dromara/soul/issues/1215。 finnally soul will renamed ShenYu!
the ShenYu Proposal is :
ShenYu Proposal
Abstract
ShenYu is a high performance Microservices API gateway in Java ecosystem, compatible with a variety of mainstream framework systems, supports hot plug. Users can write their own plugin meet the current requirement and future needs in a variety of scenarios, especially in large-scale scenes.
Proposal
The ShenYu project already has a large community with many contributors (https://dromara.org/awesome/#contributors). It is also widely adopted by many companies and organizations (https://dromara.org/awesome/#knownusers).
We believe that bringing ShenYu into Apache Software Foundation could advance development of a stronger and more diverse open source community.
Dromara submits this proposal to donate ShenYu's source codes and all related documentations to Apache Software Foundation. The codes are already under Apache License Version 2.0.
Background
ShenYu has been used in production environment, its performance and flexibility allow us to use up very cool with the following features:
Rationale
More than 40 organizations (refer to Who is using ShenYu: https://github.com/dromara/soul/issues/68 ) already benefit from running ShenYu to make Microservices more easier. More than 40 feature ideas (https://github.com/dromara/soul/issues?q=is%3Aissue+label%3A%22type%3A+new+feature%22+is%3Aclosed) come from ShenYu community.
The rapid growth of ShenYu community is empowered by open source. We believe the Apache foundation is a great fit as the long-term home for ShenYu, as it provides an established process for community-driven development and decision making by consensus. This is exactly the model we want for future ShenYu development.
Current Status Meritocracy
ShenYu was incubated in 2017 and open sourced on GitHub in 2018. Once open sourced, ShenYu has been quickly adopted by multiple organization. We have set up the PMC and Committer. 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. See the details See the details here(https://dromara.org/projects/soul/committer/). Contributions are always welcomed and highly valued.
Community
Now we have set development teams for ShenYu respectively in Dromara.org, didiglobal, PerfMa, YY, and IBM. 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 for community communication.
Core Developers
The core developers, including experienced open source developers and team leaders, have formed a group full of diversity.
Alignment
In the Microservices ecosystem, ShenYu is a very popular high performance Microservices API gateway supports many RPC framework including Apache Dubbo. We believe that it will help the further growth of Microservices community by having ShenYu and Dubbo aligned within Apache foundation. The alignment is also beneficial to other Apache communities (such as Zookeeper).
Known Risks
Project Name
Current project name is Soul, will change it to ShenYu after it is accepted by the Incubator.
Orphaned Products
The risk of the ShenYu project being abandoned is minimal. There are at least 40 organizations (JD, didiglobal, PerfMa, YY, CHINA TELECOM, IBM, STATE GRID etc.) are highly incentivized to continue development. Many of these organizations have built critical business applications upon ShenYu, and have devoted significant internal infrastructure investment in ShenYu.
Inexperience with Open Source
As mentioned in Core Developers section, the core developers all work for companies that have developed or contributed to many open source projects. There are at least four PMC members from other Apache projects together with members of other famous community.
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 Dromara.org, didiglobal, PerfMa, YY; some individual developers are accepted as core developers of ShenYu as well. ShenYu has an active community of developers, and we are committed to recruiting additional committers based on their contributions to the project.
Reliance on Salaried Developers
It is expected that ShenYu development will occur on both salaried time and on volunteer time, after hours. The majority of initial committers are paid by their employer to contribute to this project. However, they are all passionate about the project, and we are confident that the project will continue even if no salaried developers contribute to the project. We are committed to recruiting additional committers including non-salaried developers.
Relationships with Other Apache Products
ShenYu is closely integrated with Dubbo, Zookeeper, Curator, Shiro and commons in numerous ways.
ShenYu integrates Apache Zookeeper as one of the service registration/discovery mechanisms. ShenYu is deeply integrated with Apache Dubbo and supports its protocol.
To some extent, ShenYu has overlapping goals with the ASF existing API gateway APISIX, but they are in different ecological niche. APISIX is written by Lua and Perl with technical architecture Nginx + etcd, while ShenYu is written by Java. ShenYu can be conveniently integrated with the RPC framework in the Java ecosystem.
An Excessive Fascination with the Apache Brand
We acknowledge the value and reputation that the Apache brand would bring to ShenYu. However, our primary interest is in the excellent community provided by Apache Software Foundation, in which all the projects could gain stability for long-term development.
Documentation
A complete set of ShenYu documentations is provided in both English and Simplified Chinese. The project will be renamed to ShenYu when migrating.
Initial Source
The project consists of three distinct codebases: core, dashboard and document. The address of three existed Git repositories are as follows:
Initial Source and Intellectual Property Submission Plan
As soon as ShenYu is approved to join Apache Incubator, the Initial committers will submit ICLA(s). The code is already licensed under the Apache Software License, version 2.0.
External Dependencies
As all backend codes dependencies are managed using Apache Maven, none of the external libraries need to be packaged in a source distribution.
Most of dependencies have Apache compatible licenses,and the detail as follows:
Required Resources
Mailing lists
Git Repositories:
Issue Tracking
The community would like to continue using GitHub Issues.
Initial Committers
Yu Xiao xiaoyu@dromara.org Jinwei Qin kimmking@dromara.org Yonglun Zhang zhangyonglun@dromara.org Liming Deng dengliming@dromara.org Yudong Tang tydhot@dromara.org Lei Zhang zhangleispring@dromara.org Bin Chen chenbin@dromara.org Haochao Zhuang m@dromara.org Jianming Ding nuo-promise@dromara.org Zhenbing Feng fengzhenbing@dromara.org
Affiliations
JD TECH: Yu Xiao, Yonglun Zhang PerfMa: Yudong Tang HelloBike: Lei Zhang Shein: Xiaofeng Huang didiglobal: Ziqiang Liang YY: Haochao Zhuang IBM: Ze Yang Start-ups: Liming Deng, Bin Chen, Jianming Ding, Zhenbing Feng
Sponsors
Champion
Nominated Mentors
Sponsoring Entity
We are expecting the Apache Incubator could sponsor this project.
The vote is for All Initial Committers:
@yu199195 @tuohai666 @kimmking @dengliming @tydhot @SaberSola @nuo-promise @fengzhenbing @prFor @dmsolr Voters can either respond "agree, yes, +1", "disagree, no, -1", or "abstain".