incubator-general mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Willem Jiang <willem.ji...@gmail.com>
Subject Re: [DISCUSS] Accept ServiceComb into Apache Incubator
Date Mon, 13 Nov 2017 03:13:28 GMT
Hi

Let's start a VOTE tomorrow if nobody has big concerns or issued they'd want
to clarify before the vote.

When drafting this proposal we got lots of useful feedbacks from our
mentors. The biggest items to look at during incubation is completing the
transition from a company internal project to an independent, diverse
community and doing the license review of the various dependencies during
the release process.  I don't think we have big issue here, and we will try
our best to do things in Apache way.

For the trademark, Huawei already registered "ServiceComb" in US, European
and China. We are happy to donate it to ASF.


Willem Jiang


On Sat, Nov 4, 2017 at 7:47 AM, Willem Jiang <willem.jiang@gmail.com> wrote:

> Hi Folks,
>
> I would like to open a DISCUSS thread on the topic of accepting the
> ServiceComb Project into the Incubator.
>
> ServiceComb is a microservice framework that provides a set of tools and
> components to make development and deployment of cloud applications easier.
>
> The draft proposal can be found in the wiki at the following URL:
> https://wiki.apache.org/incubator/ServiceCombProposal
>
> At this stage we could very much appreciate the discussion and feedback
> for entering Apache Incubation. The text for the draft proposal is found
> below.
>
> = 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
>  * 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
>  * Liubao
>  * Mohammad Asif Siddiqui
>  * 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, Liubao, 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.
>
>
> Willem Jiang
>
>

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