Zimbra source review
Quick impressions on the 150 meg gzipped tarball of Zimbra’s source (Warning: I’m biased against JAVA !):
- FS, more stupid “Open source licenses” from Zimbra. I can’t be bothered to figure out what’s different from the GPL… :/
- Uses proprietary Java with Tomcat. Whoa. I’m surprised. I thought this is “Web 2.0” with REST and well… no ugly JAVA
- How does a project keep track of all those .JARs? And keep them updated.
- Build is nice and clean (less than a minute to compile the ZimbraServer’s 617 source files). Although reading an Ant build.xml is a nightmare.
- In the ZimbraServer/src directory there is Perl and a tiny bit of PHP. I’ve never seen that before. I’m very interested in migrating some functionality from a product at work to something like PHP. I even see C source code: ./ZimbraNative/src/native/IO.c
- find ./Ajax/WebRoot/js/ -name .js | xargs cat | wc -l is errr *28146 ! Subtract about 2500 lines of the license header blah…
- Javascript scares me.
- Quite a bit of Thirdparty stuff in the release: amavisd, clamav, cyrus-sasl, jakarta-tomcat, java, mrtg, mysql, openldap, Perl, PostFix, rrdtool, sleepycat, snmp. That makes 132M of the 150M package! Should depend on packages, Debian style. Oh well, the IT has a lot to learn still about software package administration.
- Developed in Eclipse, judging by the unwieldy .classpath files
- MailFiltering.doc ?? Urgh! No Word thanks. *.txt is nice though. Keep that up.
- Nice to see some Unit testing in ZimbraServer/src/java/com/zimbra/qa/unittest Though one has to wonder how they test all that Ajax javascript code.
- They’re using SOAP. Sigh.
- Anyway for a Java project the code looks very good. I’m learning from this.