2005 Zimbra Inc. All Rights Reserved.
Zimbra Architecture, Page 20 of 33
users (via forums), as well as to open their development, build and test
regimen. By inviting users into the sausage factory , open source is at least
welcoming greater participation and feedback on quality.
Developers and administrators that are interested in participating in the
Zimbra Community can join via www.zimbra.com/community/
, which includes
access to the Zimbra bug and enhancement database, forums, collaborative
Wiki (for documentation, localization to other languages, etc.), Zimlet and
skins gallery, and so on.
" Continuous quality assurance (QA) Most open source software is developed
in public in that new code for the project is typically posted to the Internet
daily or weekly. The fact that community members (as well as anyone else with
an Internet connection) can download and use this forward-development code
demands a higher-level of automated QA on the nightly and weekly builds. In
this way, quality assurance is built into the development process rather than
left to the end of the new feature coding cycle.
The Zimbra QA regimen is founded upon comprehensive automated testing of
both the ZCS client and server applied to each ZCS build. The client-side QA
regimen uses scripting in Mercury QTP to simulate and validate most every
human interaction with the Zimbra Ajax client across browsers. For the server-
side, Zimbra has developed a test fixture called Soapgen that can simulate
tens-of-thousands of concurrent users performing virtually every operation on
their mailbox. Soapgen is a Java-based client application that relies on the
mapping from user actions to the XML/SOAP calls that would be made by the
ZCS Ajax client (as well as the synchronization calls from, for example, the ZCS
MAPI provider for Outlook) to the server. Some of these tests focus on
individual operation correctness, while others focus on aggregate performance,
scalability, and fault tolerance.
" Intellectual property (IP) hygiene Most software (both open source and
proprietary) is now built from existing components. There is arguably now less
risk of IP contamination (that is, does your vendor own the IP rights to the
software they are giving you?) with open source than with closed source
alternatives, because all such open source dependencies are transparent.
We at Zimbra are zealots about protecting the IP cleanliness of the Zimbra
code base. We are very careful about incorporating third-party contributions
and technologies (generally using only state-of-the-art open source projects
with compatible licensing). Moreover, we require IP assignment before we
incorporate any potential contributions from the community within the ZCS
code base. (This is increasingly common practice for open source organizations
like Apache and the Free Software Foundation, as well as companies like
Zimbra.) Together these policies protect the Zimbra community and end-users
from any hidden dependency on encumbered IP.
" Community QA Last and most importantly, successful open source projects
are able to draw large developer and testing communities for more
economically than proprietary vendors can. (It is after all a trade open source