incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Roman Shaposhnik <ro...@shaposhnik.org>
Subject Re: [VOTE] Accept ServiceComb into the Apache Incubator
Date Wed, 15 Nov 2017 06:51:49 GMT
On Mon, Nov 13, 2017 at 10:15 PM, Willem Jiang <willem.jiang@gmail.com> wrote:
> Hi All,
>
> I would like to start a VOTE to bring the ServiceComb project in as an
> Apache incubator podling.
>
> The ASF voting rules are described:
>
> https://www.apache.org/foundation/voting.html
>
> A vote for accepting a new Apache Incubator podling is a majority vote for
> which only Incubator PMC member votes are binding.
>
> This vote will run for at least 72 hours. Please VOTE as follows
> [] +1 Accept ServiceComb into the Apache Incubator
> [] +0 Abstain.
> [] -1 Do not accept ServiceComb into the Apache Incubator because ...

+1 (binding)

Thanks,
Roman.

>
> The proposal is listed below, but you can also access it on the wiki:
>
> https://wiki.apache.org/incubator/ServiceCombProposal
>
> Best regards,
>
> Willem Jiang
>
> = ServiceComb Proposal =
>
> == Abstract ==
>
> ServiceComb is a microservice framework that provides a set of tools and
> components to make development and deployment of cloud applications easier.
> It provides functionalities such as service contract enforcement, service
> registration, service discovery, load balance, service reliability (latency
> and fault tolerance, flow control and graceful degradation, handler chain
> tracing), eventual data consistency and so forth.
>
> == Proposal ==
>
> The goal of this proposal is to bring the existing ServiceComb codebase and
> existing developers into the Apache Software Foundation (ASF) in order to
> build a vibrant, diverse and self-governed open source community around the
> technology.
> So far the major contributors to the project have been affiliated with
> Huawei and Huawei is planning to continue market and sell the Cloud Service
> Engine leveraging the ServiceComb framework.
> ServiceComb is currently a registered trademark owned by Huawei, and Huawei
> is happy to donate this trademark to Apache.
>
> Huawei is submitting this proposal to donate the Service source code and
> associated artifacts (documentation, web site content, wiki, etc.) to the
> Apache Software Foundation Incubator under the Apache License, Version 2.0
> and is asking Incubator PMC to establish an open source community. These
> artifacts are currently available on GitHub at
> https://github.com/ServiceComb/ and include:
>  * Java Chassis: a multi-protocol (RPC & Restful) microservice framework
> which adopts contract-first design
>  * Service Center: a service registry that enforces service contract upon
> service registration and discovery
>  * Saga: a distributed coordinator to achieve eventual data consistency
> based on the paper "Sagas" by Hector Garcia-Molina and Kenneth Salem
>  * ServiceComb.github.io:  the website repo of ServiceComb.
>  * The other projects will be moved to another place if ServiceComb is
> accepted by Apache as an incubator project.
>
> == Background ==
>
> Microservices is a variant of the service-oriented architecture (SOA)
> architectural style that structures an application as a collection of
> loosely coupled services. ServiceComb is an open source microservice
> framework initiated as part of Huawei CSE projects (Cloud Service Engine)
> which was developed in 2015. It is a part of ServiceStage of Huawei Public
> Cloud which is one-stop PaaS platform for enterprises and developers.
> Besides ServiceStage, it’s  also used in the Huawei Core Network IOT
> Platform and Huawei consumer cloud. The number of  companies using
> ServiceComb to develop their enterprise applications, they are
> chinasofti.com, isoftstone.com, pactera.com,zbj.com,movit-tech.com, and the
> number is over 5 and counting.
>
> == Rationale ==
>
> ServiceComb has been developed as a total, open source solution for
> developing cloud native applications. So far ServiceComb has existed as a
> GitHub project with committers mostly working for Huawei. We feel that
> moving it to a neutral organization like Apache, with its strong governance
> model, is expected to help get more contributions from various
> organizations and developers, who may be concerned by exclusive control of
> ServiceComb by Huawei.
>
> == Initial Goals ==
>
> Our initial goals are to bring ServiceComb into the ASF, transition
> internal engineering processes into the open, and foster a collaborative
> development model according to the "Apache Way." Huawei and the current
> contributors to ServiceComb plan to develop new functionality in an open,
> community-driven way. To get there, the existing internal build, test and
> release processes will be refactored to support open development.
>
>  1. More specifically, our initial plan of moving ServiceComb to ASF is
> focused on:
>  2. open up the governance model in order to simplify and streamline
> contributions from the community
>  3. move the existing codebase to Apache
>  4. integrate with the Apache development process
>  5. ensure all dependencies are compliant with Apache License version 2.0
>  6. incremental development and releases per Apache guideline
>
> == Current Status ==
>
> === Meritocracy ===
>
> We intend to substantially expand the initial developer and user community
> by running the project in line with the "Apache Way". Users and new
> contributors will be treated with respect and welcomed. By participating in
> the community and providing quality patches/support that move the project
> forward, they will earn merit. They will also  be encouraged to provide
> non-code contributions (documentation, events, community management, etc.)
> and will gain merit for doing so. Those with a proven support and quality
> track record will be encouraged to become committers and PMC members.
>
> === Community ===
> ServiceComb core java sdk is developed by Huawei Cloud team, and is widely
> used inside Huawei. It also includes developers from other companies like
> Movitech, Qianmi, witmart.com, using ServiceComb to develop MicroServices.
>
> === Core Developers ===
> The core developers are a diverse group of developers, some of whom  are
> already experienced open source developers.  There are at least one Apache
> Member as well as a number of experienced developers.
>  * Ning Jiang, ningjiang@apache.org, Apache Member, project architect.
>  * Qi Zhang, zhangqi21@huawei.com, project architect
>  * Xiang Yin, seam.yin@huawei.com, Java Chassis, Saga core developer
>  * JiMin Wu, wujimin@huawei.com, Java Chassis core developer
>  * Bao Liu, bao.liu@huawei.com, Java Chassis core developer
>  * Sukesh A C, sukeshac@huawei.com, Java Chassis developer
>  * Mohammad Asif Siddiqui, mohammad.asif.siddiqui1@huawei.com,
> ServiceCenter core developer
>  * Yihua Cui, cuiyihua@huawei.com, ServiceCenter core developer
>
> === Alignment ===
> We have looked upon Apache as a model for building a strong developer
> community and worked to absorb its essence and adopt its best practices.
> There are quite a number of Apache projects we want to integrate with, such
> as Apache Camel, Apache ActiveMQ, in order to build a sophisticated
> MicroService solution for the user.
>
> == Known Risks ==
>
> Development has been sponsored mostly by one single company. To facilitate
> the full transition of the project to the Apache Way governance model,
> development must shift towards the meritocracy-centric model of growing a
> community of contributors balanced with the needs for extreme stability and
> core implementation coherency.
>
> === Orphaned Products ===
> Huawei is fully committed to ServiceComb. Moreover, Huawei has a vested
> interest in making ServiceComb succeed by driving its close integration
> with other ASF projects. We expect this to further reduce the risk of
> orphaning the product.
>
> === Inexperience with Open Source ===
> Huawei has been developing and using open source software since a long
> time. Some committer have a proven track record in open source at Apache.
> Additionally, several ASF veterans agreed to mentor the project and are
> listed in this proposal. The project will rely on their guidance and
> collective wisdom to accelerate the transition of the entire team of
> initial committers towards practicing the Apache Way.
>
> === Reliance on Salaried Developers ===
> Most of the contributors are paid to work in Huawei Cloud Team. While they
> might wander from their current employers, they are unlikely to venture far
> from their core expertise and thus will continue to be engaged with the
> project no matter who their current employers are.
>
> ===  Relationship with other Apache products ===
> ServiceComb is not related with other Apache products directly.
>
> === An excessive fascination with the Apache brand ===
> While we intend to leverage the Apache ‘branding’ when talking to other
> projects as a testament of our project’s ‘neutrality’, we have no plans for
> making use of Apache brand in press releases nor posting billboards
> advertising acceptance of ServiceComb into Apache Incubator.
>
> === Documentation ===
>
> The following documentation is relevant to this proposal. Relevant portion
> of the documentation will be contributed to the Apache ServiceComb project.
>
> ServiceComb Website: http://servicecomb.io/
>
> === Initial Source ===
>  * https://github.com/ServiceComb/ServiceComb-Java-Chassis
>  * https://github.com/ServiceComb/ServiceComb-Saga
>  * https://github.com/ServiceComb/service-center
>  * https://github.com/ServiceComb/ServiceComb.github.io
>
> === Source and Intellectual Property Submission Plan ===
> As soon as ServiceComb is approved to join Apache Incubator, the source
> code will be transitioned via the Software Grant Agreement onto ASF
> infrastructure and in turn made available under the Apache License, version
> 2.0. We know of no legal encumberments that would inhibit the transfer of
> source code to the ASF.
>
> === External Dependencies ===
>
> 1. ServiceComb java-chassis depends on some Apache projects:
>  * Commons Lang
>  * Commons Codec
>  * httpClient
>  * CXF
>  * Tomcat
>  * Maven
>
> and other open source projects (organized by license)
>
> ALv2:
>  * Netty
>  * Spring
>  * Spring-Boot
>  * Zipkin
>  * brave
>  * protostuff
>  * Jackson
>  * Swagger
>  * vertx
>  * Netflix ribbon
>  * Netflix hystrix
>  * rxjava
>  * Google guava
>  * Google guice
>  * Aspectj
>  * Okhttp
>  * hibernate-validator
>
> MPL:
>  * Javassist
>  * MIT
>  * Mockito
>  * SLF4J
>  * Bridge-method-annotation
>  * EPL 1.0
>  * JUnit
>  * Logback
>
> 2.ServiceComb Saga depends on some Apache projects:
>  * Commons IO
>  * Commons lang
>  * Maven
>
> And other open source projects (organized by license)
> ALv2:
>  * servicecomb-java-chassis
>  * awaitility
>  * kamon
>  * disruptor
>  * rest-assured
>  * wiremock
>  * Aspectj
>
> MPL:
>  * Javassist
>
> MIT:
>  * Mockito
>  * SLF4J
>  * Bridge-method-annotation
>
> EPL 1.0:
>  * JUnit
>  * Logback
>
> As all dependencies are managed using Apache Maven, none of the external
> libraries need to be packaged in a source distribution.
>
> 3.ServiceComb Service-Center depends on
> Open-Source Projects(Organized by License)
> MIT
>  * github.com/Knetic/govaluate
>  * github.com/beorn7/perks
>  * github.com/boltdb/bolt
>  * github.com/couchbase/go-couchbase
>  * github.com/couchbase/gomemcached
>  * github.com/cupcake/rdb
>  * github.com/dustin/go-humanize
>  * github.com/karlseguin/ccache
>  * github.com/kr/pty
>  * github.com/lib/pq
>  * github.com/mattn/go-runewidth
>  * github.com/olekukonko/tablewriter
>  * github.com/onsi/ginkgo
>  * github.com/onsi/gomega
>  * github.com/pelletier/go-toml
>  * github.com/siddontang/go
>  * github.com/siddontang/ledisdb
>  * github.com/siddontang/rdb
>  * github.com/ugorji/go
>  * github.com/urfave/cli
>  * github.com/xiang90/probing
>  * github.com/bgentry/speakeasy
>  * github.com/ghodss/yaml
>
> BSD 3-Clause
>  * github.com/beego/x2j
>  * github.com/belogik/goes
>  * github.com/cloudflare/golz4
>  * github.com/edsrzf/mmap-go
>  * github.com/golang/snappy
>  * github.com/spf13/pflag
>  * github.com/widuu/gojson
>  * golang.org/x/crypto
>  * golang.org/x/net
>  * golang.org/x/text
>  * golang.org/x/time
>  * gopkg.in/cheggaaa/pb.v1
>
> BSD 2-Clause
>  * github.com/gorilla/websocket
>  * github.com/syndtr/goleveldb
>
> Apache-2.0
>  * github.com/bradfitz/gomemcache
>  * google.golang.org/genproto
>  * github.com/astaxie/beego
>  * gopkg.in/yaml.v2
>  * github.com/cockroachdb/cmux
>  * github.com/casbin/casbin
>  * github.com/coreos/etcd
>  * github.com/coreos/go-semver
>  * github.com/coreos/go-systemd
>  * github.com/jonboulle/clockwork
>  * github.com/prometheus/client_golang
>  * github.com/prometheus/client_model
>  * github.com/prometheus/common
>  * github.com/prometheus/procfs
>  * github.com/hsluoyz/casbin
>  * github.com/coreos/pkg
>  * github.com/garyburd/redigo
>  * github.com/spf13/cobra
>  * github.com/google/btree
>  * github.com/matttproud/golang_protobuf_extensions
>
> Copyright (c) 2013, The GoGo Authors.
>  * github.com/gogo/protobuf
>
> Copyright 2010 The Go Authors.
>  * github.com/golang/protobuf
>
> Service-Center Frontend depends on
> Open-Source Projects(Organized by License)
> MIT:
>  * angular
>  * angular-animate
>  * angular-aria
>  * angular-material-data-table
>  * angular-material
>  * angular-messages
>  * angular-mocks
>  * angular-resource
>  * angular-route
>  * angular-sanitize
>  * angular-swagger-ui
>  * angular-translate-loader-static-files
>  * angular-translate
>  * angular-ui-bootstrap
>  * angular-ui-router
>  * bootstrap-less-only
>  * bootstrap-sass-official
>  * chart.js
>  * Components-font-awesome
>  * mmumshad/angular-yamljs
>  * jeremyfa/yaml.js
>
> Apache-2.0:
>  * Json-formatter
>
> BSD
>  * Angular-charts.js
>  * JS Foundation
>  * jQuery
>
> == Required Resources ==
> === Mailing Lists ===
>  * private@servicecomb.incubator.apache.org (moderated subscriptions)
>  * commits@servicecomb.incubator.apache.org
>  * dev@servicecomb.incubator.apache.org
>  * issues@servicecomb.incubator.apache.org
>
> === Source Control ===
>  *
> https://git-wip-us.apache.org/repos/asf/incubator-servicecomb-java-chassis.git
>  *
> https://git-wip-us.apache.org/repos/asf/incubator-servicecomb-service-center.git
>  * https://git-wip-us.apache.org/repos/asf/incubator-servicecomb-saga.git
>  * https://git-wip-us.apache.org/repos/asf/incubator-servicecomb-website.git
>
> === Issue Tracking ===
> JIRA Project ServiceComb
>
> === Initial Committers ===
>  * Ning Jiang
>  * Qi Zhang
>  * Xiang Yin
>  * JiMin Wu
>  * Bao Liu
>  * Mohammad Asif Siddiqui
>  * Sukesh A C
>  * Yihua Cui
>  * Roman Shaposhnik
>  * Jean-Baptiste Onofre
>  * Timothy Chen
>
> === Additional Interested Contributors ===
>  * Jian Zhang coswde@gmail.com
>  * Bing Wang wangbb0701@gmail.com
>  * Ven Jiang venjiang@gmail.com
>  * GeekTJS josephyean@gmail.com
>  * Li Zhou eacdy0000@126.com
>  * Haiwei Zhang haiwei_zh@foxmail.com
>  * Yetiea yetiea@gmail.com
>
> === Affiliations ===
>  * Huawei: Ning Jiang, Qi Zhang, Xiang Yin, JiMin Wu, Bao Liu, Sukesh A C,
> Mohammad Asif Siddiqui, Yihua Cui
>  * Stealth: Roman Shaposhnik
>  * Talend: Jean-Baptiste Onofré
>  * Hyperpilot: Timothy Chen
>
> === Sponsors ===
> Champion
>  * Roman Shaposhnik[rvs@apache.org]
> Nominated Mentors
>  * Roman Shaposhnik[rvs@apache.org]
>  * Jean-Baptiste Onofre [jbonofre@apache.org]
>  * Timothy Chen[tnachen@apache.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


Mime
View raw message