I'm getting tired of illogical choices when implementing open-source projects.
Project developers providing packages that deploy packaged components whether you already have them already or not.
I can think of many projects that include common components (e.g. MySQL, TomCat, Apache). That's a good thing, no point re-inventing the wheel. However, each time I install a new application, I end up with yet another installation of the common component. Sometimes this causes conflicts preventing me concurrently running two or more applications , as a minimum it causes me a headache in managing the different instances.
Let's set the record straight, there are packagers who provide the option for choosing how you want to install. It's generally the more mature, thought-out projects that have this ability. Immature projects, either in age of the project or in technical approach, often lack this ability.
I want the ability to configure my installation. I want to be able to install software, while making use of existing components. I want to be able to do this without having to compile executables from source.
Ideally, I'd like the installation to
That should ideally be it, possibly with a few minor tweaks. However, I don't feel we're anywhere near the ideal.
Considering the common components are largely abundant, it would make sense for the component project to provide this functionality. Build it once, deploy it many times.Predominantly I'm interested in enterprise level open-source software. For a Small-Medium Enterprise (SME), this may entail running several applications on one server (sometimes even a spare desktop, especially in the case of 3rd sector/charitable organisations or single office installations). In many of these cases, a better installation can be achieved by deploying to one server mirrored across additional servers for business continuity purposes and then separating out appropriate components to other physical servers as demand grows.
In many of these case, the applications are providing a relatively complex solution, e.g groupware, CRM, document management and so on by combining applications. It seems so obvious when you think about it: when aiming for enterprise-level deployments, ensure that the software can be deployed in an enterprise manner. Small enterprises grow into big enterprises, so let's cater for the better than we already do.