(comments inline)
On Dec 18, 2012, at 10:43 AM, Alex Huang <alex.hu...@citrix.com>
 wrote:

> Hi All,

Hi, Alex!

> I've talked to various developers on the challenges they face in 
> participating in the community and these are issues that I've gathered.  I 
> hope this adds to the recent discussions about project bylaws and  concerns 
> about community health and collaboration procedure.  
> 
>> 
>> The biggest issue I believe is CloudStack is too big a project.  When you 
>> look
>> at CloudStack, it can really be broken down to five or six different parts 
>> that
>> can be projects within its own right.  I don't want this discussion to turn 
>> into
>> what those projects are as that should happen on the -dev list, but, just to
>> give a reference, cloudstack can be broken into orchestration, VR,
>> automation, template management, acl, UI, and console proxy.  Each of
>> these parts can require special set of knowledge.  And to some it can be
>> broken into even finer parts.

The first thing that comes to mind when I read this was the other open source 
cloud automation platform, and not in a good way.

We need (IMHO) to ship CloudStack as an atomic unit without worrying about 
which versions of which components work together. By breaking the components 
out, QA workload and release management workload both increase - significantly, 
I suspect.

>> This leads to the following problems that I often hear when I talk to other
>> developers.
>> 
>> - The mailing list is too verbose and is often not about the subject they can
>> respond to.  The problem is they get into a habit of not looking at the 
>> mailing
>> list because it's often not about what they can respond to but then misses
>> things that they can respond to.
>> 
>> - The same problem with the review boards.  Most of them don't feel they
>> understand CloudStack sufficiently to be trolling the review board.
>> 
>> - Many of them feel insecure about posting designs because the project is
>> overwhelming.  Many of them want to get their designs just right before
>> posting to the list.

Valid issues…I think the answer, whether we break apart or not, is for 
individuals to dig into the areas they're interested in, and as they learn, to 
the contribute back on reviewBoard/etc. Maybe if we had intro wiki pages for 
the major components of ACS?

>> The second issue is we have not developed a good set of processes for
>> people to follow.  What does it mean to post a design?  What does it mean to
>> fix a bug?  How does one participate in a release? Etc.  Every bit of 
>> ambiguity
>> leads to insecurity which leads to inactivity.

I think we're making progress in this area over the last month - as more 
[DISCUSS] threads appear, there's more examples for folks to learn from.

>> The third issue is lack of confidence in the code they write.  For example,
>> today anything someone writes must be tested with the entire cloudstack
>> system which means they must know quite a bit of the system to get started.
>> They can't just say I wrote a plugin and which test driver I should test it 
>> with
>> to know it will work inside CloudStack.  This is different from unit tests.
>> These are tests that CloudStack community provides to test contracts
>> between projects but because there's no separate projects today, there's no
>> such tests being developed.


So here's how I'd like to address this - for the new folks (or those thinking 
of contributing) - tell us, how can we make it easier for you to dip your toes 
into the water? Better dev docs? Better QA instructions? More examples on how 
to modify the code? Docs on things like DB schemas, functional diagrams, data 
flow diagrams, what?  Please make suggestions on how we can help you. 

This one goes beyond code, but even to posting ideas/thoughts on mailing lists. 
Always plenty of lurkers.  Folks - we don't bite, promise.


Reply via email to