"Customisation is always required to achieve interoperability
and meet the user's needs.
"It is, or should be blindingly obvious that the above is much
easier to do when you can read the code, change it and that the
software adheres to agreed standards.
"It is much harder to do when your task is to convince a few
proprietary vendors to modify their secret code to inter-operate
with you code or another package, especially if that package is a
rival to one of their products!"