---
title: Apache CloudStack Project Membership
---

<div class="row">

<div class="col-lg-12">

<div class="page-header">

<h1 id="indicators">Apache CloudStack Project Members</h1>

</div>

</div>

</div>

This page includes the Apache CloudStack Project Management Committee (PMC) members and committers.

## PMC

Active Project Management Committee contains (in alphabetical order of their usernames):

{:.table-bordered}


| Username | Name |
|----------|------|
|akarasulu|Alex Karasulu|
|alena1108|Alena Prokharchyk|
|animesh|Animesh|
|boris|Boris Schrijver|
|chipchilders|Chip Childers|
|chiradeep|Chiradeep Vittal|
|dahn|Daan|
|ekho|Wilder Rodrigues|
|erikw|Erik Weber|
|giles|Giles Sirett|
|gochiba|Go Chiba|
|hogstrom|Matt Richard Hogstrom|
|hugo|Hugo Trippaers|
|ilya|Ilya Musayev|
|jburwell|John Burwell|
|jlk|John Kinsella|
|jzb|Joe Brockmeier|
|karenv|Karen Vuong|
|ke4qqq|David Nalley|
|kluge|Kevin Kluge|
|milamber|Bruno Demion|
|mlsorensen|Marcus Sorensen|
|mnour|Mohammad Nour El-Din|
|mrhinkle|Mark R. Hinkle|
|mtutkowski|Mike Tutkowski|
|nslater|Naomi Slater|
|nux|Nux|
|paul_a|Paul Angus|
|pdion891|Pierre-Luc Dion|
|rafael|Rafael Weingärtner|
|rajani|Rajani Karuturi|
|remi|Remi Bergsma|
|resmo|Rene Moser|
|rohit|Rohit Yadav|
|sebgoa|Sebastien Goasguen|
|sweller|Simon Weller|
|swill|Will Stevens|
|syed|Syed Ahmed|
|tsp|Prasanna|
|weizhou|Wei Zhou|
|widodh|Wido den Hollander|
|willchan|William Chan|
  
  

## Emeritus PMC Members

PMC members who are no longer active include:

+ Alex Huang (ahuang)
+ Disheng Su (edison)
+ Ian Duffy (duffy)
+ Olivier Lamy (olamy)
  
  
  
## Committers

Active list of committers (in alphabetical order of their usernames):

{:.table-bordered}


| Username | Name |
|----------|------|
|ahmad|Ahmad Emneina|
|akarasulu|Alex Karasulu|
|alena1108|Alena Prokharchyk|
|amoghvk|Amogh Vasekar|
|andrijapanic|Andrija Panic|
|animesh|Animesh|
|anthonyxu|Anthony Xu|
|aprateek|Abhinandan Prateek|
|bfederle|Brian Federle|
|boris|Boris Schrijver|
|brett|Brett Porter|
|bstoyanov|Boris Stoyanov|
|chipchilders|Chip Childers|
|chiradeep|Chiradeep Vittal|
|claytonweise|Clayton Weise|
|csuich2|Chris Suich|
|dahn|Daan|
|darren|Darren Shepherd|
|dcahill|Dave Cahill|
|demetriust|Demetrius Tsitrelis|
|devdeep|Devdeep Singh|
|dkonrad|Dennis Konrad|
|dsonstebo|Dag Sonstebo|
|ekho|Wilder Rodrigues|
|erikw|Erik Weber|
|fmaximus|Frank Maximus|
|frankzhang|Xin Zhang|
|gabriel|Gabriel Beims Bräscher|
|gaurav|Gaurav Nandkumar Aradhye|
|gavinlee|Gavin Lee|
|giles|Giles Sirett|
|girish|Girish Prabhakar Shilamkar|
|gochiba|Go Chiba|
|haeena|Toshiaki Hatano|
|harikrishna|Harikrishna Patnala|
|higster|Geoff Higginbottom|
|hogstrom|Matt Richard Hogstrom|
|hugo|Hugo Trippaers|
|ilya|Ilya Musayev|
|isaacchiang|Isaac Chiang|
|jayapal|Jayapal|
|jbausewein|Jason Bausewein|
|jburwell|John Burwell|
|jessicawang|Jessica Wang|
|jim|Jim Jagielski|
|jlk|John Kinsella|
|jtomechak|Jessica Tomechak|
|jzb|Joe Brockmeier|
|karenv|Karen Vuong|
|kawai|Hiroaki Kawai|
|kdamage|Kelcey Damage|
|ke4qqq|David Nalley|
|kelveny|Kelven Yang|
|kirk|Kirk Kosinski|
|kishan|Kishan|
|kluge|Kevin Kluge|
|kocka|Laszlo Hornyak|
|koushik|Koushik Das|
|likithas|Likitha Shetty|
|marcaurele|Marc-Aurèle Brothier|
|mchen|Min Chen|
|mice|Mice Xia|
|milamber|Bruno Demion|
|mlsorensen|Marcus Sorensen|
|mnour|Mohammad Nour El-Din|
|mrhinkle|Mark R. Hinkle|
|msinhore|Marco Sinhoreli|
|mtutkowski|Mike Tutkowski|
|muralireddy|Murali Mohan Reddy|
|nathanejohnson|Nathan Johnson|
|nitin|Nitin|
|noa|Noa Resare|
|nslater|Naomi Slater|
|nux|Nux|
|nvazquez|Nicolás Vázquez|
|olgasmola|Olga Smola|
|paul_a|Paul Angus|
|pdion891|Pierre-Luc Dion|
|pnguyen|Phong Nguyen|
|prachidamle|Prachi Damle|
|pranavs|Pranav Saxena|
|pyr|Pierre-Yves Ritschard|
|radhika|Radhika Nair|
|rafael|Rafael Weingärtner|
|rajani|Rajani Karuturi|
|rajeshbattala|Rajesh Battala|
|remi|Remi Bergsma|
|resmo|Rene Moser|
|rohit|Rohit Yadav|
|sailajamada|Sailaja Mada|
|saksham|Saksham Srivastava|
|sangeethah|Sangeetha Hariharan|
|sanjaytripathi|Sanjay Tripathi|
|sanjeev|Sanjeev Neelarapu|
|santhoshedukulla|Santhosh|
|sateesh|Sateesh Chodapuneedi|
|schhen|Sonny Heng Chhen|
|sebgoa|Sebastien Goasguen|
|serg38|Sergey Levitskiy|
|slriv|Sam Robertson|
|snuf|Funs Kessen|
|sowmya|Sowmya Krishnan|
|sudhap|Sudhap|
|svogel|Sven Vogel|
|swamy|Venkata Swamy|
|sweller|Simon Weller|
|swill|Will Stevens|
|syed|Syed Ahmed|
|talluri|Srikanteswararao Talluri|
|tsp|Prasanna|
|tuna|Anh Tu Nguyen|
|vijayendrabvs|Vijayendra Bhamidipati|
|weizhou|Wei Zhou|
|widodh|Wido den Hollander|
|willchan|William Chan|
|yasker|Sheng Yang|
|ynojima|Yoshikazu Nojima|
  
  
  
## Emeritus Committers

Committers who are no longer active include:
