incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gangumalla, Uma" <uma.ganguma...@intel.com>
Subject Re: [VOTE] Accept ServiceComb into the Apache Incubator
Date Wed, 15 Nov 2017 23:36:33 GMT
+1 (binding)

Regards,
Uma

On 11/13/17, 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 ...
    
    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.
    

Mime
View raw message