<!doctype html>
<!--
  Minimal Mistakes Jekyll Theme 4.4.1 by Michael Rose
  Copyright 2017 Michael Rose - mademistakes.com | @mmistakes
  Free for personal and commercial use under the MIT license
  https://github.com/mmistakes/minimal-mistakes/blob/master/LICENSE.txt
-->
<html lang="en" class="no-js">
  <head>
    <meta charset="utf-8">

<!-- begin SEO -->









<title>ServiceComb Develop Team - Apache ServiceComb</title>




<meta name="description" content="ServiceComb Team">




<meta name="author" content="">

<meta property="og:locale" content="en">
<meta property="og:site_name" content="Apache ServiceComb">
<meta property="og:title" content="ServiceComb Develop Team">


  <link rel="canonical" href="https://github.com/pages/apache/incubator-servicecomb-website/developers/team/">
  <meta property="og:url" content="https://github.com/pages/apache/incubator-servicecomb-website/developers/team/">



  <meta property="og:description" content="ServiceComb Team">



  <meta name="twitter:site" content="@ServiceComb">
  <meta name="twitter:title" content="ServiceComb Develop Team">
  <meta name="twitter:description" content="ServiceComb Team">
  <meta name="twitter:url" content="">

  
    <meta name="twitter:card" content="summary">
    
  

  



  

  












  <script type="application/ld+json">
    {
      "@context" : "http://schema.org",
      "@type" : "Person",
      "name" : "Apache ServiceComb",
      "url" : "https://github.com/pages/apache/incubator-servicecomb-website",
      "sameAs" : null
    }
  </script>



  <meta name="google-site-verification" content="HvJjNd7vvJ-yjSTHlBiIWEYxp_Hrz-PYEY5Idz9LRcA" />




<!-- end SEO -->


<link href="/feed.xml" type="application/atom+xml" rel="alternate" title="Apache ServiceComb Feed">

<!-- http://t.co/dKP3o1e -->
<meta name="HandheldFriendly" content="True">
<meta name="MobileOptimized" content="320">
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<script>
  document.documentElement.className = document.documentElement.className.replace(/\bno-js\b/g, '') + ' js ';
</script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/clipboard.js/1.7.1/clipboard.min.js"></script>
<script src="/assets/vendor/prism/prism.js"></script>

<script type="text/javascript" async
  src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.1/MathJax.js?config=TeX-MML-AM_CHTML">
</script>

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/css/bootstrap.min.css" integrity="sha384-/Y6pD6FV/Vv2HJnA6t+vslU6fwYXjCFtcEpHbNJ0lyAFsXTsjBbfaDjzALeQsN6M" crossorigin="anonymous">

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.11.0/umd/popper.min.js" integrity="sha384-b/U6ypiBEHpOf/4+1nzFpr53nxSS+GLCkfwBdFNTxtclqqenISfwAzpKaMNFNmj4" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta/js/bootstrap.min.js" integrity="sha384-h0AbiXch4ZDo7tp9hKZ4TsHbi047NrKGLO3SEJAg45jXxnGIfYzk4Si90RDIqNm1" crossorigin="anonymous"></script>
<!-- For all browsers -->
<link rel="stylesheet" href="/assets/css/main.css?v=1">
<link rel="stylesheet" href="/assets/vendor/prism/prism.css?v=1">

<!--[if lte IE 9]>
  <style>
    /* old IE unsupported flexbox fixes */
    .greedy-nav .site-title {
      padding-right: 3em;
    }
    .greedy-nav button {
      position: absolute;
      top: 0;
      right: 0;
      height: 100%;
    }
  </style>
<![endif]-->

<meta http-equiv="cleartype" content="on">

    <!-- start custom head snippets -->

<!-- insert favicons. use http://realfavicongenerator.net/ -->
<link href="https://fonts.cat.net/css?family=Roboto:400,500,700|Source+Code+Pro" rel="stylesheet">
<script src="/assets/js/custom.js"></script>
<!-- end custom head snippets -->

  </head>

  <body class="layout--single">

    <!--[if lt IE 9]>
<div class="notice--danger align-center" style="margin: 0;">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</div>
<![endif]-->
    <div class="masthead" onmouseleave="$('#childrenShow').css('display', 'none')">
  <div class="masthead__inner-wrap">
    <div class="masthead__menu">
      <nav id="site-nav" class="greedy-nav">
	      
          <a class="site-title active" href="/"><img src="https://www.apache.org/img/servicecomb.png"></a>
	      
        <ul class="visible-links">
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/">Home</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/developers/">Projects</a>
                
              </li>
            
          
            
          
          
            
            <li class="def-nav-li" onmouseenter="$('#childrenShow').css('display', 'block')">
              
              
              

              
                <a href="/docs/users/">Documentation</a>
              

              <ul id="childrenShow" class="def-children-show-en" onmouseleave="$('#childrenShow').css('display', 'none')">
                
                <li><a href="/docs/getting-started/" class="">Getting started</a></li>
                
                <li><a href="/docs/users/" class="">Docs</a></li>
                
                <li><a href="/slides/" class="">Video</a></li>
                
                <li><a href="/faqs/" class="">FAQ</a></li>
                
              </ul>
            </li>
          
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a class="active" href="/developers/contributing">Community</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/year-archive/">Blogs</a>
                
              </li>
            
          
            
          
          
            
              <li class="masthead__menu-item" onmouseenter="$('#childrenShow').css('display', 'none')">
                
                  <a href="/release/">Downloads</a>
                
              </li>
            
          
        </ul>
        <button><div class="navicon"></div></button>
        <ul class="hidden-links hidden"></ul>
        <div class="nav-lang">
          
            
            <a href=/cn/developers/team/>中文</a>
          
        </div>
      </nav>
    </div>
  </div>
</div>


    



<div id="main" role="main">
  
  <div class="sidebar sticky">
      
      <div class="back-to-home"><a href="/">Home</a> > ServiceComb Develop Team</div>
      
  
  
    
      
      
      
    
    
      

<nav class="nav__list">
  
  <input id="ac-toc" name="accordion-toc" type="checkbox" />
  <label for="ac-toc">Toggle Menu</label>
  <ul class="nav__items">
    
      <li>
        
          
          

          <a href="/developers/"><span class="nav__sub-title nav__sub-title-with-url">Projects</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/team/"><span class="nav__sub-title nav__sub-title-with-url">Team</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/contributing"><span class="nav__sub-title nav__sub-title-with-url">Contributing to Apache ServiceComb</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/becomming-a-commiter"><span class="nav__sub-title nav__sub-title-with-url">Becoming A Committer of Apache ServiceComb</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/setup-develop-environment/"><span class="nav__sub-title nav__sub-title-with-url">Develop Environment Setup</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/submit-codes/"><span class="nav__sub-title nav__sub-title-with-url">Code Submit Guide</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/use-jira/"><span class="nav__sub-title nav__sub-title-with-url">How to Use JIRA</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/setup-committer-rights/"><span class="nav__sub-title nav__sub-title-with-url">Set Up Write Access for Committer</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/release-guide/"><span class="nav__sub-title nav__sub-title-with-url">How to Release in Apache</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/release-validation-guide/"><span class="nav__sub-title nav__sub-title-with-url">How to verify Apache Release</span></a>
        

        
      </li>
    
      <li>
        
          
          

          <a href="/developers/sonarcloud-how-to/"><span class="nav__sub-title nav__sub-title-with-url">How to Use SonarCloud</span></a>
        

        
      </li>
    
  </ul>
</nav>

    
  
  </div>



  <article class="page" itemscope itemtype="http://schema.org/CreativeWork">
    <meta itemprop="headline" content="ServiceComb Develop Team">
    <meta itemprop="description" content="ServiceComb Team">
    
    <meta itemprop="dateModified" content="June 01, 2018">

    <div class="page__inner-wrap">
      
        
          <header>
            <h1 class="page__title" itemprop="headline">ServiceComb Develop Team
</h1>
            
          </header>
        
      

      <section class="page__content" itemprop="text">
        <p>This page lists who we are. By all means add yourself to the list - lets sort it in alphabetical order</p>

<ul>
  <li>Committers</li>
</ul>

<table>
  <thead>
    <tr>
      <th>Apache ID</th>
      <th>Name</th>
      <th>Organization</th>
      <th>PPMC</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>acsukesh</td>
      <td>Sukesh A C</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>asifdxtream</td>
      <td>Mohammad Asif Siddiqui</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>chanjarster</td>
      <td>Daniel Qian</td>
      <td>NewCapec</td>
      <td> </td>
    </tr>
    <tr>
      <td>cherrylzhao</td>
      <td>Zhao Jun</td>
      <td>JD.com</td>
      <td> </td>
    </tr>
    <tr>
      <td>ericlee</td>
      <td>Li Dagang (Eric)</td>
      <td>Tencent</td>
      <td>*</td>
    </tr>
    <tr>
      <td>jbonofre</td>
      <td>Jean-Baptiste Onofre</td>
      <td>Talend</td>
      <td>*</td>
    </tr>
    <tr>
      <td>liubao68</td>
      <td>Liu Bao</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>little-cui</td>
      <td>Cui Yihua</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>mabin</td>
      <td>Ma Bin</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>ningjiang</td>
      <td>Jiang Ning (Willem)</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>rvs</td>
      <td>Roman Shaposhnik</td>
      <td>Stealth</td>
      <td>*</td>
    </tr>
    <tr>
      <td>seanyinx</td>
      <td>Yin Xiang (Sean)</td>
      <td>Syswin</td>
      <td>*</td>
    </tr>
    <tr>
      <td>tnachen</td>
      <td>Timothy Chen</td>
      <td>Hyperpilot</td>
      <td>*</td>
    </tr>
    <tr>
      <td>wujimin</td>
      <td>Wu Jimin</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>yaohaishi</td>
      <td>Yao Haishi</td>
      <td>Huawei</td>
      <td> </td>
    </tr>
    <tr>
      <td>yangbor</td>
      <td>Yang Bo</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>zenlinTechnofreak</td>
      <td>Lin Zhinan</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>zhangqi</td>
      <td>Zhang qi</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>zhengyangyong</td>
      <td>Zheng Yangyong</td>
      <td>Huawei</td>
      <td>*</td>
    </tr>
    <tr>
      <td>zhfeng</td>
      <td>Feng Zheng</td>
      <td>Redhat</td>
      <td>*</td>
    </tr>
    <tr>
      <td>zhanglei</td>
      <td>Zhang Lei</td>
      <td> </td>
      <td> </td>
    </tr>
  </tbody>
</table>

<ul>
  <li>Contributors:</li>
</ul>

<table>
  <thead>
    <tr>
      <th>Github ID</th>
      <th>Name</th>
      <th>Organization</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>aseTo2016</td>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>crystaldust</td>
      <td>Ju Zheng</td>
      <td>Huawei</td>
    </tr>
    <tr>
      <td>imlidian</td>
      <td>Li Dian</td>
      <td>Huawei</td>
    </tr>
    <tr>
      <td>imlijinting</td>
      <td>Li Jinting</td>
      <td>PICC</td>
    </tr>
    <tr>
      <td>jeremyxu2010</td>
      <td>Xu Xinjie</td>
      <td>Tencent</td>
    </tr>
    <tr>
      <td>jyseanl</td>
      <td>Sean Li</td>
      <td>Pactera</td>
    </tr>
    <tr>
      <td>KomachiSion</td>
      <td>Yang Yi</td>
      <td>JD.com</td>
    </tr>
    <tr>
      <td>laijianbin</td>
      <td>Lai Jianbin</td>
      <td> </td>
    </tr>
    <tr>
      <td>lijasonvip</td>
      <td>Li bo</td>
      <td> </td>
    </tr>
    <tr>
      <td>Lionelpang</td>
      <td>Pang Mingshi</td>
      <td> </td>
    </tr>
    <tr>
      <td>liuzhenyang</td>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>maheshrajus</td>
      <td>Mahesh Raju Somalaraju</td>
      <td> </td>
    </tr>
    <tr>
      <td>mt-monster</td>
      <td> </td>
      <td>Huawei</td>
    </tr>
    <tr>
      <td>oliugian</td>
      <td>Fu Chungen</td>
      <td>Huawei</td>
    </tr>
    <tr>
      <td>sjh0027</td>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>SingleX</td>
      <td>Gao Xing</td>
      <td>CaiNiao</td>
    </tr>
    <tr>
      <td>TankTian</td>
      <td>Tian Min</td>
      <td>Huawei</td>
    </tr>
    <tr>
      <td>tuohai666</td>
      <td>Zhang Yonglun</td>
      <td>JD.com</td>
    </tr>
    <tr>
      <td>vibakar</td>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>weichao666</td>
      <td>Wei Chao</td>
      <td>ISoftStone</td>
    </tr>
    <tr>
      <td>withLin</td>
      <td>Fu JinLin</td>
      <td> </td>
    </tr>
    <tr>
      <td>wuzunqian</td>
      <td>Wu Zunqian</td>
      <td>Yongyou</td>
    </tr>
    <tr>
      <td>xuyiyun0929</td>
      <td>Xu Yiyun</td>
      <td> </td>
    </tr>
    <tr>
      <td>xiaoyimei</td>
      <td>Xiao Yimei</td>
      <td>Changhong</td>
    </tr>
    <tr>
      <td>yhs0092</td>
      <td> </td>
      <td> </td>
    </tr>
    <tr>
      <td>zhanglongchun</td>
      <td>Zhang LongChun</td>
      <td> </td>
    </tr>
    <tr>
      <td>zhang2014</td>
      <td>Zhang Jian</td>
      <td>OneAPM</td>
    </tr>
    <tr>
      <td>zhuhoudong</td>
      <td>Zhu Houdong</td>
      <td> </td>
    </tr>
  </tbody>
</table>

        
      </section>

      <footer class="page__meta">
        
        


        
      </footer>

      

      

    </div>

    
  </article>

  
  
</div>


    <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
    <div align="center" style="margin: 0 0;">
    <ins class="adsbygoogle"
         style="display:block; border-bottom: initial;"
         data-ad-client="ca-pub-7328585512091257"
         data-ad-slot="3049671934"
         data-ad-format="auto"></ins>
    </div>

    <div class="page__footer">
      <footer>
        <!-- start custom footer snippets -->

<!-- end custom footer snippets -->

        <div class="container">
  <div class="row justify-content-md-center">
    
    <div class="col">
      <ul>
        <p class="header">Resources</p>
        <li><a href="/docs/getting-started/">Getting started</a></li>
        <li><a href="/docs/users/">User Guide</a></li>
        <li><a href="/slides/">Slides</a></li>
        <li><a href="/users/faq/">Common Questions</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">ASF</p>
        <li><a href="http://www.apache.org">Foundation</a></li>
        <li><a href="http://www.apache.org/licenses/">License</a></li>
        <li><a href="http://www.apache.org/events/current-event">Events</a></li>
        <li><a href="http://www.apache.org/foundation/sponsorship.html">Sponsorship</a></li>
        <li><a href="http://www.apache.org/foundation/thanks.html">Thanks</a></li>
      </ul>
    </div>
    <div class="col">
      <ul>
        <p class="header">Contribute</p>
        <li><a href="http://issues.apache.org/jira/browse/SCB">Report a Doc Issue</a></li>
        <li><a href="https://github.com/apache/servicecomb-website/edit/master/_developers/team.md">Edit This Page on Github</a></li>
        <li><a href="/developers/submit-codes/">Code Submit Guide</a></li>
        <li><a href="/security">Security</a></li>
      </ul>
    </div>
    <div class="col">
      <ul class="social-icons">
        <p class="header">Community</p>
        <li>
            <a href="mailto:dev-subscribe@servicecomb.incubator.apache.org" rel="nofollow"><span class="mail">Mailing List</span></a>
        </li>
        <li>
            <a href="https://github.com/apache?q=ServiceComb" target="_blank"><span class="github">Github</span></a>
        </li>
        <li>
            <a href="https://twitter.com/ServiceComb" target="_blank"><span class="twitter">Twitter</span></a>
        </li>
        <li>
            <a href="/feed.xml" target="_blank"><span class="rss">Feed</span></a>
        </li>
      </ul>
    </div>
  </div>
</div>
<div class="page__footer-bottom">
  <div>&copy; 2020 Apache ServiceComb. Powered by <a href="http://jekyllrb.com" rel="nofollow">Jekyll</a> &amp; <a href="https://mademistakes.com/work/minimal-mistakes-jekyll-theme/" rel="nofollow">Minimal Mistakes</a>.</div>
  <div>All other marks mentioned may be trademarks or registered trademarks of their respective owners.</div>
</div>

      </footer>
    </div>

    <script src="/assets/js/main.min.js"></script>




  <script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');

  ga('create', 'UA-101622733-1', 'auto');
  ga('send', 'pageview');
</script>







  </body>
</html>
