incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Xin Wang <data.xinw...@gmail.com>
Subject Re: [PROPOSAL] Dubbo - proposal for Apache Incubation
Date Sun, 04 Feb 2018 04:06:44 GMT
+1 (non-binding)
I'm glad to see the coming of Dubbo which is a very popular RPC framework.


2018-02-03 19:44 GMT+08:00 Huxing Zhang <huxing@apache.org>:

> Dear Apache Incubator Community,
>
> Please accept the following proposal for presentation and discussion:
> https://wiki.apache.org/incubator/DubboProposal
>
> Dubbo is a high-performance, lightweight, Java based RPC framework.
> Dubbo offers three key features, which includes interface based remote
> call, fault tolerance & load balancing, and automatic service
> registration & discovery.
>
> Any feedback from the incubator community is much appreciated.
>
> I've attached the proposal below.
>
> Best Regards,
> Huxing
>
> = Dubbo Proposal =
>
> == Abstract ==
>
> Dubbo is a high-performance, lightweight, java based RPC framework
> open-sourced by Alibaba. As in many RPC systems, Dubbo is based around
> the idea of defining a service, specifying the methods that can be
> called remotely with their parameters and return types. On the server
> side, the server implements this interface and runs a Dubbo server to
> handle client calls. On the client side, the client has a stub that
> provides the same methods as the server.
>
> == Proposal ==
>
> Dubbo has a fairly huge community today, and is widely adopted by many
> companies and organizations, but most of them are in China. We believe
> running Dubbo in Apache Software Foundation can facilitate development
> of a stronger and more diverse community.
>
> Alibaba submits this proposal to donate Dubbo's source code and its
> side projects to the Apache Software Foundation. The code is already
> under the Apache License Version 2.0.  Dubbo source code and its side
> projects are hosted on github right now:
>
>  * Dubbo code base: https://github.com/alibaba/dubbo
>  * Web site: https://github.com/dubbo/dubbo.github.io
>  * Documentations: User
> Guide(http://dubbo.io/books/dubbo-user-book-en), Development
> Guide(http://dubbo.io/books/dubbo-dev-book-en), Admin
> Manual(http://dubbo.io/books/dubbo-admin-book-en)
>  * Other side projects hosted under dubbo group(https://github.com/dubbo)
>
> == Background ==
>
> Dubbo was developed at Alibaba in 2011 and has been widely used in
> many production lines there since then. Dubbo offers three key
> features, which include interface based remote call, fault tolerance &
> load balancing, and automatic service registration & discovery. Since
> Dubbo is open-sourced on github, it's been received up to 15k stars,
> and has been forked for more than 10k times. Besides being widely
> adopted inside Alibaba, Dubbo is also used in approximately 80% of
> internet companies in China, including JingDong(http://www.jd.com),
> DangDang(http://www.dangdang.com), Qunar(https://www.qunar.com),
> NetEase Kaola(https://www.kaola.com), etc. In 2017, Dubbo has won the
> TOP 10 most popular open source projects in China for 2 consecutive
> years since 2016.
>
> We'd like to share this outstanding framework at the Apache Software
> Foundation, and start developing a wider community through the Apache
> way. We believe more people and organizations can be benefit from it
> by doing so.
>
> == Rationale ==
>
> Remote procedure call (RPC) is one of the cornerstones to build
> distributed systems, especially useful in today's e-commercial
> industry and cloud computing providers. Dubbo is the java-based RPC
> implementation. By using Dubbo, developers can call the remote service
> just like call a local method but without worrying about the details
> for the remote interaction. We expect more interesting features and
> use cases to emerge from the community ranging from microservices to
> cloud computing, and many other areas.
>
> == Current Status ==
>
> === Meritocracy ===
>
> The intent of this proposal is to start building a diverse developer
> and user community around Dubbo following the ASF meritocracy model.
> Since Dubbo was open sourced, many companies in China adopted Dubbo to
> build up their own contributing system, moreover, we received many
> enhancements or issue reports from them at the same time. The codebase
> is now mainly managed by the development team inside Alibaba who's
> responsible for building internal distributed system too. Any
> suggestion or issue is discussed on
> https://github.com/alibaba/dubbo/issues and more casual talk happens
> in gitter channel (https://gitter.im/alibaba/dubbo). We plan to invite
> more people as committers if they contribute to this project.
>
> === Community ===
>
> Dubbo is currently being developed by the development team inside
> Alibaba who's responsible for building internal distributed system
> too. Since it's open-sourced, Dubbo is widely adopted by many other
> companies including CNUCC (China Nets Union Clearing Corporation),
> ICBC (Industrial and Commercial Bank of China), China Life Insurance,
> DiDi, Qunar, Dangdang, NetEase Kaola, Maoyan Movie, GOME, Haier, CSDC
> (China Securities Depository and Clearing Corporation Limited),
> AsiaInfo, and many more. We hope to grow the base of contributors by
> inviting all those who offer contributions and excel through the use
> of The Apache Way. Contributions from outside of Alibaba  are
> constantly accepted by Dubbo project and its side projects.  Right
> now, we make use of github as code hosting as well as both Google
> Groups and gitter for community communication.
>
> === Core Developers ===
>
> Dubbo is currently being developed by engineers from Alibaba,
> Dangdang, Qunar and WeiDian. Ding Li, Huxing Zhang, Ian Luo, Jun Liu,
> Liujie Qin, Mercy Ma, Von Gosling, William Liang are working for
> Alibaba. Most of them are working in Alibaba middleware team, and some
> of them are also the core members of internal RPC framework, HSF (high
> speed service framework). Von Gosling is the co-creator of Apache
> RocketMQ, while Huxing Zhang is one of Apache Tomcat PMC members.
> Besides, the Dubbo core developers also includes Xin Wang from
> WeiDian, Liang Zhang from DangDang, Zhaohui Yu from Qunar. All of them
> are in charge of building and maintaining distributed system in their
> organizations, and have great passion in contributing back into Dubbo
> project.
>
> === Aligment ===
>
> The ASF is the natural choice to host the Dubbo project as its goal of
> encouraging community-driven open source projects fits with our vision
> for Dubbo. The ASF is also the home to many other projects with which
> we are familiar with and hope to integrate better with Dubbo including
> Apache Thrift, Apache Zookeeper, etc. We believe that there will be
> mutual benefit by close proximity to these and other projects.
>
> == Known Risks ==
>
> === Orphaned products ===
>
> The core developers currently work full-time on RPC area for Alibaba.
> Dubbo is widely adopted by many companies and individuals. There's no
> realistic chance of it becoming orphaned.
>
> === Inexperience with Open Source ===
>
> The core developers are all active contributors, users and followers
> of open source. They are all already committers and contributors to
> Dubbo project, and have gained good experience in running open-source
> project in Github and interacting with the community. Moreover, Von
> Gosling and Huxing Zhang from the initial committer, both are working
> on Apache projects (RocketMQ and Tomcat respectively), will guide
> others to practice the Apache Way together along with other incubator
> mentors.
>
> === Homogenous Developers ===
>
> The current set of developers work across a variety of organizations
> including Alibaba, DangDang, Qunar, and WeiDian. Furthermore, many
> other companies forked Dubbo and continued to enhance in their own
> private repositories. We plan to encourage them to contribute and
> invite them as contributors to work on one common code base.
>
> === Reliance on Salaried Developers ===
>
> Currently, most of core developers are paid to work on Dubbo project
> by Alibaba. We look forward to attracting more people outside Alibaba
> to join this project, either payed engineers working on RPC area, or
> individual volunteers, as long as they have enthusiasm for the Dubbo
> project.
>
> === Relationships with Other Apache Products ===
>
> Dubbo integrates Apache Thrift as one of RPC protocols it supports,
> and Apache Zookeeper as one of service registration/discovery
> machanisms. We look forward to collaborating with those communities
> and any others which use RPC.
>
> === A Excessive Fascination with the Apache Brand ===
>
> While we respect the reputation of the Apache brand and have no doubt
> that it will attract new contributors and users, our interest is
> primarily to give Dubbo a solid home as an open source project
> following an established development model. More reasons are provided
> in the Rationale and Alignment sections.
>
> == Documentation ==
>
> A complete set of Dubbo documentations is provided on dubbo.io in both
> English and Simplified Chinese.
>
>  * Dubbo user guide:
> http://dubbo.io/books/dubbo-user-book-en(English),
> http://dubbo.io/books/dubbo-user-book(Chinese)
>  * Dubbo development guide:
> http://dubbo.io/books/dubbo-dev-book-en(English),
> http://dubbo.io/books/dubbo-dev-book(Chinese)
>  * Dubbo admin manual:
> http://dubbo.io/books/dubbo-admin-book-en(English),
> http://dubbo.io/books/dubbo-admin-book(Chinese)
>
> == Initial Source ==
>
> Dubbo was initially developed within Alibaba, and then was
> open-sourced with The Apache License 2.0 under Alibaba Group on Github
> in 2011. Besides the core code base, Dubbo also hosts its side
> projects on github but in a dedicated group instead of Alibaba.
> Specifically, the initial source includes:
>
>  * Dubbo code base: https://github.com/alibaba/dubbo
>  * Spring Boot Support: https://github.com/dubbo/dubbo-spring-boot-project
>  * Dubbo Admin Console: https://github.com/dubbo/dubbo-ops
>  * Json RPC extension: https://github.com/dubbo/dubbo-rpc-jsonrpc
>  * Home Page: https://github.com/dubbo/dubbo.github.io
>  * Dubbo Documentation:
>     * User guide: https://github.com/dubbo/dubbo-user-book-en
>     * Developer guide: https://github.com/dubbo/dubbo-dev-book-en
>     * Admin guide: https://github.com/dubbo/dubbo-admin-book-en
>  * Dubbo Documentation (Chinese)
>     * User guide: https://github.com/dubbo/dubbo-user-book
>     * Developer guide: https://github.com/dubbo/dubbo-dev-book
>     * Admin guide: https://github.com/dubbo/dubbo-admin-book
>  * Samples/Demo:
>     * https://github.com/dubbo/dubbo-feature-test
>     * https://github.com/dubbo/dubbo-docker-sample
>     * https://github.com/dubbo/dubbo-http-demo
>     * https://github.com/dubbo/dubbo-ws-demo
>
>
> == External Dependencies ==
>
> As all dependencies are managed using Apache Maven, none of the
> external libraries need to be packaged in a source distribution. The
> dependencies all have Apache compatible licenses. These include BSD,
> CDDL, CPL, MPL and MIT licensed dependencies. There are only 3
> transitive dependencies(javassist, netty, and spring-context), and all
> the other dependencies are optional, which are not included in a Dubbo
> release.
>
> Dependency          License                     Optional?
> javassist           Apache License 2.0/MPL 1.1  false
> netty               Apache License 2.0          false
> spring-context      Apache License 2.0          false
> httpclient          Apache License 2.0          true
> zookeeper           Apache License 2.0          true
> zkclient            Apache License 2.0          true
> curator-framework   Apache License 2.0          true
> cxf                 Apache License 2.0          true
> libthrift           Apache License 2.0          true
> commons-logging     Apache License 2.0          true
> commons-lang        Apache License 2.0          true
> mina                Apache License 2.0          true
> fastjson            Apache License 2.0          true
> xmemcached          Apache License 2.0          true
> hessian             Apache License 1.1          true
> tomcat              Apache License 2.0          true
> jetty               Apache License 2.0/EPL 1.0  true
> validation-api      Apache License 2.0          true
> hibernate-validator Apache License 2.0          true
> cache-api           Apache License 2.0          true
> log4j               Apache License 2.0          true
> easymock            Apache License 2.0          true
> cglib-nodep         Apache License 2.0          true
> resteasy            Apache License 2.0          true
> fst                 Apache License 2.0          true
> slf4j-api           MIT                         true
> jmockit             MIT                         true
> jedis               MIT                         true
> grizzly             CDDL 1.1                    true
> servlet-api         CDDL 1.1                    true
> javax.el            CDDL 1.1                    true
> logback-classic     EPL 1.0                     true
> junit               EPL 1.0                     true
> kryo                BSD 3-clause                true
>
>
> == Required Resources ==
>
> === Mailing lists ===
>
>  * dubbo-private (PMC discussion)
>  * dubbo-dev (developer discussion)
>  * dubbo-user (user discussion)
>  * dubbo-commits (SCM commits)
>  * dubbo-issues (JIRA issue feed)
>
> === Subversion Directory ===
>
> Instead of subversion, Dubbo prefers to git as source control
> management system: git://git.apache.org/dubbo
>
> === Issue Tracking ===
>
> JIRA Dubbo (Dubbo)
>
> === Other Resources ===
>
> The existing source code already has unit tests so we will make use of
> existing Apache continuous testing infrastructure. The resulting load
> should not be very large.
>
> == Initial Committers ==
>
> (In alphabetical order)
>
>  * Ding Li (oldratlee at gmail dot com)
>  * Huxing Zhang (huxing at apache dot org)
>  * Ian Luo (ian.luo at gmail dot com)
>  * Jean-Frederic Clere (jfclere at apache dot org)
>  * Jun Liu (ken.lj.hz at gmail dot com)
>  * John D. Ament (johndament at apache dot org)
>  * Justin McLean  (jmclean at apache dot org)
>  * Liang Zhang (terrymanu at 163 dot com)
>  * Liujie Qin (qinliujieyangliu at gmail dot com)
>  * Mark Thomas (markt at apache dot org)
>  * Mercy Ma (mercyblitz at gmail dot com)
>  * Von Gosling (vongosling at apache dot org)
>  * William Liang (liangfei0201 at gmail dot com)
>  * Xin Wang (ovepoem at hotmail dot com)
>  * Zhaohui Yu (yuyijq at gmail dot com)
>
> == Affiliations ==
>
> (In alphabetical order)
>
>  * Alibaba: Ding Li, Huxing Zhang, Ian Luo, Jun Liu, Liujie Qin, Mercy
> Ma, Von Gosling, William Liang
>  * Class Software: Justin McLean
>  * DangDang: Liang Zhang
>  * Pivotal: Mark Thomas
>  * Qunar: Zhaohui Yu
>  * Redhat: Jean-Frederic Clere
>  * Sparta Systems: John D. Ament
>  * WeiDian: Xin Wang
>
> == Additional Interested Contributors ==
>
> (In alphabetical order)
>
>  * Hanson Huang (hanson19921129 at gmail dot com)
>  * Jerrick Zhu (diecui1202 at gmail dot com)
>  * Peng Wei (weipeng2k at gmail dot com)
>  * Yuneng Xie (xieyuneng at gmail dot com)
>  * Zhixuan Cheng (hengyunabc at gmail dot com)
>
> == Sponsors ==
>
> === Champion ===
>
>  * Justin McLean  (jmclean at apache dot org)
>
> === Nominated Mentors ===
>
>  * Justin McLean  (jmclean at apache dot org)
>  * John D. Ament (johndament at apache dot org)
>  * Jean-Frederic Clere (jfclere at apache dot org)
>  * Mark Thomas (markt at apache dot org)
>
> ==== Informal Mentors ====
>
>  * Huxing Zhang (huxing at apache dot org)
>  * Von Gosling (vongosling at apache dot org)
>
>
> === Sponsoring Entity ===
>
> We are requesting the Incubator to sponsor this project.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: general-unsubscribe@incubator.apache.org
> For additional commands, e-mail: general-help@incubator.apache.org
>
>


-- 
Thanks,
Xin

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