Context and Details:
While working on new releases at my startup, Ne.app, I figured about several architectural choices I decided to pursue for Ant and NeAnt.
NeAnt and Ant shares a common set of architectural principles and design conventions called CommonCore. For instance their ABI are made similar to enable porting. The file structure in the installations are similar, and it is gone as far as to make some parts of NeAnt and Ant commonly understood by both. (via the /private/common/ directory)
The rationale behind this is to avoid the cost of maintenance, and of course reduce the amount of bugs we could be shipping and not catch.
So; I also shared some slides on the blog, and on my LinkedIn profile. Which I invite you to follow (alongside my X profile @ne_app_ant).
Slides:
The following are slides of the CommonCore architecture, explained simply:
/CommonCore_NeApp_Architecture.pdf
What's More?
I really want to expand the CommonCore architecture with a set of protocol and concepts for expansion. For instance, if you wish to standardize how you'd share printer information and file information over a network of nodes. You could in your company, draft a set of expansions and discuss with your colleagues in a process of peer-review.
Who should overseer my company's CommonCore?
A great question, because I think it's a trap. No one should be governing all the decisions regarding your CommonCore, as this may be outside their SME (e.g. LAN/Printers/Driver Model/Enterprise Web App...)
Instead, this system should run as a vote.