To sort of follow up on my journal entry on released based development.
We distribute our applications as large bundles of modules, collected under a common name space per application. This mean that they can easily be distributed as CPAN distributions, since the structure is somewhat similar and all we need to introduce is a build system (which I have done).
But we have another problem and that is that some of these applications start out using some particular back-end, which may at some point become interesting to another application. So when this usually happens I rip out the module, rename it and build a separate distribution, so the using module can now specify a dependency towards the new distribution and the two using modules can be installed on separate application servers, together with their dependencies.
Not everybody involved have done so or use my build system, so sometimes I am caught in a situation where I have to install a huge application in order to utilize something small like a single module.
I am all for that we should not introduce complexity like distributions and dependency hell until it is required, but what have proven to be necessary is perhaps some guidelines on when to separate out, seen it seems like it is always me who takes the step of doing so.
Another thing is our technical lead who want the name spaces to follow the Online presence. Which makes perfect sense, but it holds some cons like:
Re:Complexity? Bring it on!
jonasbn on 2007-12-09T10:43:14
Well you will win in the end, but it boils down to what a kind of victor are you? and what strategy do you use:) Re:Complexity? Bring it on!
mr_bean on 2007-12-10T07:54:45
I think the answer depends on whose carpet the
complexity is being swept under.
If the others are less good at handling it,
or the results of their failure are more
catastrophic, then the less they have to handle
the better.
I don't think there is any technical answer.
that can be given in terms of the build
system, other than that the standard,
traditional way, whatever that is, is less
complex.