"use strict";(self.webpackChunkwebsite=self.webpackChunkwebsite||[]).push([[5424],{3905:(e,a,t)=>{t.d(a,{Zo:()=>o,kt:()=>N});var l=t(67294);function r(e,a,t){return a in e?Object.defineProperty(e,a,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[a]=t,e}function n(e,a){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var l=Object.getOwnPropertySymbols(e);a&&(l=l.filter((function(a){return Object.getOwnPropertyDescriptor(e,a).enumerable}))),t.push.apply(t,l)}return t}function i(e){for(var a=1;a<arguments.length;a++){var t=null!=arguments[a]?arguments[a]:{};a%2?n(Object(t),!0).forEach((function(a){r(e,a,t[a])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):n(Object(t)).forEach((function(a){Object.defineProperty(e,a,Object.getOwnPropertyDescriptor(t,a))}))}return e}function u(e,a){if(null==e)return{};var t,l,r=function(e,a){if(null==e)return{};var t,l,r={},n=Object.keys(e);for(l=0;l<n.length;l++)t=n[l],a.indexOf(t)>=0||(r[t]=e[t]);return r}(e,a);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);for(l=0;l<n.length;l++)t=n[l],a.indexOf(t)>=0||Object.prototype.propertyIsEnumerable.call(e,t)&&(r[t]=e[t])}return r}var m=l.createContext({}),p=function(e){var a=l.useContext(m),t=a;return e&&(t="function"==typeof e?e(a):i(i({},a),e)),t},o=function(e){var a=p(e.components);return l.createElement(m.Provider,{value:a},e.children)},k="mdxType",s={inlineCode:"code",wrapper:function(e){var a=e.children;return l.createElement(l.Fragment,{},a)}},h=l.forwardRef((function(e,a){var t=e.components,r=e.mdxType,n=e.originalType,m=e.parentName,o=u(e,["components","mdxType","originalType","parentName"]),k=p(t),h=r,N=k["".concat(m,".").concat(h)]||k[h]||s[h]||n;return t?l.createElement(N,i(i({ref:a},o),{},{components:t})):l.createElement(N,i({ref:a},o))}));function N(e,a){var t=arguments,r=a&&a.mdxType;if("string"==typeof e||r){var n=t.length,i=new Array(n);i[0]=h;var u={};for(var m in a)hasOwnProperty.call(a,m)&&(u[m]=a[m]);u.originalType=e,u[k]="string"==typeof e?e:r,i[1]=u;for(var p=2;p<n;p++)i[p]=t[p];return l.createElement.apply(null,i)}return l.createElement.apply(null,t)}h.displayName="MDXCreateElement"},97245:(e,a,t)=>{t.r(a),t.d(a,{contentTitle:()=>i,default:()=>k,frontMatter:()=>n,metadata:()=>u,toc:()=>m});var l=t(87462),r=(t(67294),t(3905));const n={title:"Apache CloudStack Project Membership"},i="Apache CloudStack Project Members",u={type:"mdx",permalink:"/who",source:"@site/src/pages/who.md",title:"Apache CloudStack Project Membership",description:"PMC Information//projects.apache.org/committee.html?cloudstack",frontMatter:{title:"Apache CloudStack Project Membership"}},m=[],p={toc:m},o="wrapper";function k(e){let{components:a,...t}=e;return(0,r.kt)(o,(0,l.Z)({},p,t,{components:a,mdxType:"MDXLayout"}),(0,r.kt)("h1",{id:"apache-cloudstack-project-members"},"Apache CloudStack Project Members"),(0,r.kt)("p",null,"PMC Information: ",(0,r.kt)("a",{parentName:"p",href:"https://projects.apache.org/committee.html?cloudstack"},"https://projects.apache.org/committee.html?cloudstack")),(0,r.kt)("p",null,"Board Minutes: ",(0,r.kt)("a",{parentName:"p",href:"https://whimsy.apache.org/board/minutes/CloudStack.html"},"https://whimsy.apache.org/board/minutes/CloudStack.html")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"PMC Chair"),": Rohit Yadav  (rohit)"),(0,r.kt)("p",null,"The following data is subject to change. The up-to-date information can be found on ",(0,r.kt)("a",{href:"http://people.apache.org/committers-by-project.html#cloudstack-pmc"},"the Apache Peoples site"),":"),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},"PMC members (also in the ",(0,r.kt)("a",{parentName:"strong",href:"#committers"},"Committers")," group)"),":"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Abhishek Kumar\t(shwstppr)"),(0,r.kt)("li",{parentName:"ul"},"Alena Prokharchyk\t(alena1108)"),(0,r.kt)("li",{parentName:"ul"},"Alex Huang\t(ahuang)"),(0,r.kt)("li",{parentName:"ul"},"Alex Karasulu\t(akarasulu)"),(0,r.kt)("li",{parentName:"ul"},"Andrija Panic\t(andrijapanic)"),(0,r.kt)("li",{parentName:"ul"},"Animesh\t(animesh)"),(0,r.kt)("li",{parentName:"ul"},"Boris Schrijver\t(boris)"),(0,r.kt)("li",{parentName:"ul"},"Boris Stoyanov\t(bstoyanov)"),(0,r.kt)("li",{parentName:"ul"},"Bruno Demion\t(milamber)"),(0,r.kt)("li",{parentName:"ul"},"Chip Childers\t(chipchilders)"),(0,r.kt)("li",{parentName:"ul"},"Chiradeep Vittal\t(chiradeep)"),(0,r.kt)("li",{parentName:"ul"},"Daan\t(dahn)"),(0,r.kt)("li",{parentName:"ul"},"Daniel Augusto Veronezi Salvador\t(gutoveronezi)"),(0,r.kt)("li",{parentName:"ul"},"David Nalley\t(ke4qqq)"),(0,r.kt)("li",{parentName:"ul"},"Disheng Su\t(edison)"),(0,r.kt)("li",{parentName:"ul"},"Erik Weber\t(erikw)"),(0,r.kt)("li",{parentName:"ul"},"Gabriel Beims Br\xe4scher\t(gabriel)"),(0,r.kt)("li",{parentName:"ul"},"Giles Sirett\t(giles)"),(0,r.kt)("li",{parentName:"ul"},"Go Chiba\t(gochiba)"),(0,r.kt)("li",{parentName:"ul"},"Harikrishna Patnala\t(harikrishna)"),(0,r.kt)("li",{parentName:"ul"},"Hugo Trippaers\t(hugo)"),(0,r.kt)("li",{parentName:"ul"},"Ian Duffy\t(duffy)"),(0,r.kt)("li",{parentName:"ul"},"Ilya Musayev\t(ilya)"),(0,r.kt)("li",{parentName:"ul"},"Ivet Petrova\t(ivet)"),(0,r.kt)("li",{parentName:"ul"},"Joe Brockmeier\t(jzb)"),(0,r.kt)("li",{parentName:"ul"},"John Burwell\t(jburwell)"),(0,r.kt)("li",{parentName:"ul"},"John Kinsella\t(jlk)"),(0,r.kt)("li",{parentName:"ul"},"Karen Vuong\t(karenv)"),(0,r.kt)("li",{parentName:"ul"},"Kevin Kluge\t(kluge)"),(0,r.kt)("li",{parentName:"ul"},"Marcus Sorensen\t(mlsorensen)"),(0,r.kt)("li",{parentName:"ul"},"Mark R. Hinkle\t(mrhinkle)"),(0,r.kt)("li",{parentName:"ul"},"Matt Richard Hogstrom\t(hogstrom)"),(0,r.kt)("li",{parentName:"ul"},"Mike Tutkowski\t(mtutkowski)"),(0,r.kt)("li",{parentName:"ul"},"Mohammad Nour El-Din\t(mnour)"),(0,r.kt)("li",{parentName:"ul"},"Nathan Johnson\t(nathanejohnson)"),(0,r.kt)("li",{parentName:"ul"},"Nicol\xe1s V\xe1zquez\t(nvazquez)"),(0,r.kt)("li",{parentName:"ul"},"Nux\t(nux)"),(0,r.kt)("li",{parentName:"ul"},"Olivier Lamy\t(olamy)"),(0,r.kt)("li",{parentName:"ul"},"Paul Angus\t(paul_a)"),(0,r.kt)("li",{parentName:"ul"},"Pierre-Luc Dion\t(pdion891)"),(0,r.kt)("li",{parentName:"ul"},"Prasanna\t(tsp)"),(0,r.kt)("li",{parentName:"ul"},"Rafael Weing\xe4rtner\t(rafael)"),(0,r.kt)("li",{parentName:"ul"},"Rajani Karuturi\t(rajani)"),(0,r.kt)("li",{parentName:"ul"},"Remi Bergsma\t(remi)"),(0,r.kt)("li",{parentName:"ul"},"Rene Moser\t(resmo)"),(0,r.kt)("li",{parentName:"ul"},"Rohit Yadav\t(rohit)"),(0,r.kt)("li",{parentName:"ul"},"Sebastien Goasguen\t(sebgoa)"),(0,r.kt)("li",{parentName:"ul"},"Simon Weller\t(sweller)"),(0,r.kt)("li",{parentName:"ul"},"Sven Vogel\t(svogel)"),(0,r.kt)("li",{parentName:"ul"},"Syed Ahmed\t(syed)"),(0,r.kt)("li",{parentName:"ul"},"Wei Zhou\t(weizhou)"),(0,r.kt)("li",{parentName:"ul"},"Wido den Hollander\t(widodh)"),(0,r.kt)("li",{parentName:"ul"},"Wilder Rodrigues\t(ekho)"),(0,r.kt)("li",{parentName:"ul"},"Will Stevens\t(swill)"),(0,r.kt)("li",{parentName:"ul"},"William Chan\t(willchan)")),(0,r.kt)("p",null,(0,r.kt)("strong",{parentName:"p"},(0,r.kt)("a",{name:"committers"},"Committers")),":"),(0,r.kt)("ul",null,(0,r.kt)("li",{parentName:"ul"},"Abhinandan Prateek\t(aprateek)"),(0,r.kt)("li",{parentName:"ul"},"Abhishek Kumar\t(shwstppr)"),(0,r.kt)("li",{parentName:"ul"},"Ahmad Emneina\t(ahmad)"),(0,r.kt)("li",{parentName:"ul"},"Alena Prokharchyk\t(alena1108)"),(0,r.kt)("li",{parentName:"ul"},"Alex Huang\t(ahuang)"),(0,r.kt)("li",{parentName:"ul"},"Alex Karasulu\t(akarasulu)"),(0,r.kt)("li",{parentName:"ul"},"Alexandre Mattioli\t(alexandremattioli)"),(0,r.kt)("li",{parentName:"ul"},"Amogh Vasekar\t(amoghvk)"),(0,r.kt)("li",{parentName:"ul"},"Andrija Panic\t(andrijapanic)"),(0,r.kt)("li",{parentName:"ul"},"Anh Tu Nguyen\t(tuna)"),(0,r.kt)("li",{parentName:"ul"},"Animesh\t(animesh)"),(0,r.kt)("li",{parentName:"ul"},"Anthony Xu\t(anthonyxu)"),(0,r.kt)("li",{parentName:"ul"},"Boris Schrijver\t(boris)"),(0,r.kt)("li",{parentName:"ul"},"Boris Stoyanov\t(bstoyanov)"),(0,r.kt)("li",{parentName:"ul"},"Brett Porter\t(brett)"),(0,r.kt)("li",{parentName:"ul"},"Brian Federle\t(bfederle)"),(0,r.kt)("li",{parentName:"ul"},"Bruno Demion\t(milamber)"),(0,r.kt)("li",{parentName:"ul"},"Bryan Lima\t(bryan)"),(0,r.kt)("li",{parentName:"ul"},"Chip Childers\t(chipchilders)"),(0,r.kt)("li",{parentName:"ul"},"Chiradeep Vittal\t(chiradeep)"),(0,r.kt)("li",{parentName:"ul"},"Chris Suich\t(csuich2)"),(0,r.kt)("li",{parentName:"ul"},"Clayton Weise\t(claytonweise)"),(0,r.kt)("li",{parentName:"ul"},"Daan\t(dahn)"),(0,r.kt)("li",{parentName:"ul"},"Dag Sonstebo\t(dsonstebo)"),(0,r.kt)("li",{parentName:"ul"},"Daniel Augusto Veronezi Salvador\t(gutoveronezi)"),(0,r.kt)("li",{parentName:"ul"},"Darren Shepherd\t(darren)"),(0,r.kt)("li",{parentName:"ul"},"Dave Cahill\t(dcahill)"),(0,r.kt)("li",{parentName:"ul"},"David Jumani\t(davidjumani)"),(0,r.kt)("li",{parentName:"ul"},"David Nalley\t(ke4qqq)"),(0,r.kt)("li",{parentName:"ul"},"Demetrius Tsitrelis\t(demetriust)"),(0,r.kt)("li",{parentName:"ul"},"Dennis Konrad\t(dkonrad)"),(0,r.kt)("li",{parentName:"ul"},"Devdeep Singh\t(devdeep)"),(0,r.kt)("li",{parentName:"ul"},"Disheng Su\t(edison)"),(0,r.kt)("li",{parentName:"ul"},"Erik Weber\t(erikw)"),(0,r.kt)("li",{parentName:"ul"},"Frank Maximus\t(fmaximus)"),(0,r.kt)("li",{parentName:"ul"},"Funs Kessen\t(snuf)"),(0,r.kt)("li",{parentName:"ul"},"Gabriel Beims Br\xe4scher\t(gabriel)"),(0,r.kt)("li",{parentName:"ul"},"Gaurav Nandkumar Aradhye\t(gaurav)"),(0,r.kt)("li",{parentName:"ul"},"Gavin Lee\t(gavinlee)"),(0,r.kt)("li",{parentName:"ul"},"Geoff Higginbottom\t(higster)"),(0,r.kt)("li",{parentName:"ul"},"Giles Sirett\t(giles)"),(0,r.kt)("li",{parentName:"ul"},"Girish Prabhakar Shilamkar\t(girish)"),(0,r.kt)("li",{parentName:"ul"},"Go Chiba\t(gochiba)"),(0,r.kt)("li",{parentName:"ul"},"Harikrishna Patnala\t(harikrishna)"),(0,r.kt)("li",{parentName:"ul"},"Hiroaki Kawai\t(kawai)"),(0,r.kt)("li",{parentName:"ul"},"Hugo Trippaers\t(hugo)"),(0,r.kt)("li",{parentName:"ul"},"Ian Duffy\t(duffy)"),(0,r.kt)("li",{parentName:"ul"},"Ilya Musayev\t(ilya)"),(0,r.kt)("li",{parentName:"ul"},"Isaac Chiang\t(isaacchiang)"),(0,r.kt)("li",{parentName:"ul"},"Ivet Petrova\t(ivet)"),(0,r.kt)("li",{parentName:"ul"},"Jason Bausewein\t(jbausewein)"),(0,r.kt)("li",{parentName:"ul"},"Jayapal\t(jayapal)"),(0,r.kt)("li",{parentName:"ul"},"Jessica Tomechak\t(jtomechak)"),(0,r.kt)("li",{parentName:"ul"},"Jessica Wang\t(jessicawang)"),(0,r.kt)("li",{parentName:"ul"},"Jim Jagielski\t(jim)"),(0,r.kt)("li",{parentName:"ul"},"Joe Brockmeier\t(jzb)"),(0,r.kt)("li",{parentName:"ul"},"John Bampton\t(johnbam)"),(0,r.kt)("li",{parentName:"ul"},"John Burwell\t(jburwell)"),(0,r.kt)("li",{parentName:"ul"},"John Kinsella\t(jlk)"),(0,r.kt)("li",{parentName:"ul"},"Jo\xe3o Jandre Paraquetti\t(joao)"),(0,r.kt)("li",{parentName:"ul"},"Karen Vuong\t(karenv)"),(0,r.kt)("li",{parentName:"ul"},"Kelcey Damage\t(kdamage)"),(0,r.kt)("li",{parentName:"ul"},"Kelven Yang\t(kelveny)"),(0,r.kt)("li",{parentName:"ul"},"Kevin Kluge\t(kluge)"),(0,r.kt)("li",{parentName:"ul"},"Kirk Kosinski\t(kirk)"),(0,r.kt)("li",{parentName:"ul"},"Kishan\t(kishan)"),(0,r.kt)("li",{parentName:"ul"},"Koushik Das\t(koushik)"),(0,r.kt)("li",{parentName:"ul"},"Laszlo Hornyak\t(kocka)"),(0,r.kt)("li",{parentName:"ul"},"Likitha Shetty\t(likithas)"),(0,r.kt)("li",{parentName:"ul"},"Marc-Aur\xe8le Brothier\t(marcaurele)"),(0,r.kt)("li",{parentName:"ul"},"Marco Sinhoreli\t(msinhore)"),(0,r.kt)("li",{parentName:"ul"},"Marcus Sorensen\t(mlsorensen)"),(0,r.kt)("li",{parentName:"ul"},"Mark R. Hinkle\t(mrhinkle)"),(0,r.kt)("li",{parentName:"ul"},"Matt Richard Hogstrom\t(hogstrom)"),(0,r.kt)("li",{parentName:"ul"},"Mice Xia\t(mice)"),(0,r.kt)("li",{parentName:"ul"},"Mike Tutkowski\t(mtutkowski)"),(0,r.kt)("li",{parentName:"ul"},"Min Chen\t(mchen)"),(0,r.kt)("li",{parentName:"ul"},"Mohammad Nour El-Din\t(mnour)"),(0,r.kt)("li",{parentName:"ul"},"Murali Mohan Reddy\t(muralireddy)"),(0,r.kt)("li",{parentName:"ul"},"Nathan Johnson\t(nathanejohnson)"),(0,r.kt)("li",{parentName:"ul"},"Nguyen Mai Hoang\t(hoangnm)"),(0,r.kt)("li",{parentName:"ul"},"Nicol\xe1s V\xe1zquez\t(nvazquez)"),(0,r.kt)("li",{parentName:"ul"},"Nitin\t(nitin)"),(0,r.kt)("li",{parentName:"ul"},"Noa Resare\t(noa)"),(0,r.kt)("li",{parentName:"ul"},"Nux\t(nux)"),(0,r.kt)("li",{parentName:"ul"},"Olga Smola\t(olgasmola)"),(0,r.kt)("li",{parentName:"ul"},"Olivier Lamy\t(olamy)"),(0,r.kt)("li",{parentName:"ul"},"Paul Angus\t(paul_a)"),(0,r.kt)("li",{parentName:"ul"},"Pearl Dsilva\t(pearl11594)"),(0,r.kt)("li",{parentName:"ul"},"Phong Nguyen\t(pnguyen)"),(0,r.kt)("li",{parentName:"ul"},"Pierre-Luc Dion\t(pdion891)"),(0,r.kt)("li",{parentName:"ul"},"Pierre-Yves Ritschard\t(pyr)"),(0,r.kt)("li",{parentName:"ul"},"Prachi Damle\t(prachidamle)"),(0,r.kt)("li",{parentName:"ul"},"Pranav Saxena\t(pranavs)"),(0,r.kt)("li",{parentName:"ul"},"Prasanna\t(tsp)"),(0,r.kt)("li",{parentName:"ul"},"Radhika Nair\t(radhika)"),(0,r.kt)("li",{parentName:"ul"},"Rafael Weing\xe4rtner\t(rafael)"),(0,r.kt)("li",{parentName:"ul"},"Rajani Karuturi\t(rajani)"),(0,r.kt)("li",{parentName:"ul"},"Rajesh Battala\t(rajeshbattala)"),(0,r.kt)("li",{parentName:"ul"},"Rakesh Venkatesh\t(rakeshv)"),(0,r.kt)("li",{parentName:"ul"},"Remi Bergsma\t(remi)"),(0,r.kt)("li",{parentName:"ul"},"Rene Moser\t(resmo)"),(0,r.kt)("li",{parentName:"ul"},"Rohit Yadav\t(rohit)"),(0,r.kt)("li",{parentName:"ul"},"Sailaja Mada\t(sailajamada)"),(0,r.kt)("li",{parentName:"ul"},"Saksham Srivastava\t(saksham)"),(0,r.kt)("li",{parentName:"ul"},"Sam Robertson\t(slriv)"),(0,r.kt)("li",{parentName:"ul"},"Sangeetha Hariharan\t(sangeethah)"),(0,r.kt)("li",{parentName:"ul"},"Sanjay Tripathi\t(sanjaytripathi)"),(0,r.kt)("li",{parentName:"ul"},"Sanjeev Neelarapu\t(sanjeev)"),(0,r.kt)("li",{parentName:"ul"},"Santhosh\t(santhoshedukulla)"),(0,r.kt)("li",{parentName:"ul"},"Sateesh Chodapuneedi\t(sateesh)"),(0,r.kt)("li",{parentName:"ul"},"Sebastien Goasguen\t(sebgoa)"),(0,r.kt)("li",{parentName:"ul"},"Sergey Levitskiy\t(serg38)"),(0,r.kt)("li",{parentName:"ul"},"Sheng Yang\t(yasker)"),(0,r.kt)("li",{parentName:"ul"},"Simon Weller\t(sweller)"),(0,r.kt)("li",{parentName:"ul"},"Sina Kashipazha\t(soreana)"),(0,r.kt)("li",{parentName:"ul"},"Slavka Peleva\t(slavkap)"),(0,r.kt)("li",{parentName:"ul"},"Sonny Heng Chhen\t(schhen)"),(0,r.kt)("li",{parentName:"ul"},"Sowmya Krishnan\t(sowmya)"),(0,r.kt)("li",{parentName:"ul"},"Srikanteswararao Talluri\t(talluri)"),(0,r.kt)("li",{parentName:"ul"},"Sudhap\t(sudhap)"),(0,r.kt)("li",{parentName:"ul"},"Suresh Anaparti\t(sureshanaparti)"),(0,r.kt)("li",{parentName:"ul"},"Sven Vogel\t(svogel)"),(0,r.kt)("li",{parentName:"ul"},"Syed Ahmed\t(syed)"),(0,r.kt)("li",{parentName:"ul"},"Toshiaki Hatano\t(haeena)"),(0,r.kt)("li",{parentName:"ul"},"Venkata Swamy\t(swamy)"),(0,r.kt)("li",{parentName:"ul"},"Vijayendra Bhamidipati\t(vijayendrabvs)"),(0,r.kt)("li",{parentName:"ul"},"Vladimir Petrov\t(vladi)"),(0,r.kt)("li",{parentName:"ul"},"Wei Zhou\t(weizhou)"),(0,r.kt)("li",{parentName:"ul"},"Wido den Hollander\t(widodh)"),(0,r.kt)("li",{parentName:"ul"},"Wilder Rodrigues\t(ekho)"),(0,r.kt)("li",{parentName:"ul"},"Will Stevens\t(swill)"),(0,r.kt)("li",{parentName:"ul"},"William Chan\t(willchan)"),(0,r.kt)("li",{parentName:"ul"},"Xin Zhang\t(frankzhang)"),(0,r.kt)("li",{parentName:"ul"},"Yoshikazu Nojima\t(ynojima)")))}k.isMDXComponent=!0}}]);