Imagine if all Open Source work was done to a standard that allowed integration to become easier. It is achievable in principle but needs an architecture model definition and adherence to it.
A personal dream of mine is that with the plethora of Open Source that exists, all the active projects that are in a silo and all the broken and dead end projects that are no longer needed can somehow be integrated and communicate with each other. If only there was a structure in which they could all be integrated.
Imagine being able to use several Open Source projects together because they followed standard interfaces. Usually to do these needs the services of a programmer to link the data from one project to another, by some conversion, or import/export process. Quite often this isn’t a hard thing to do functionally but the data may not easily fit together, they may look the same but in different application have different meanings.
One of the greatest strengths in the field of information technology is the conforming of interfaces to common structures, the reusing of common architectures. The World Wide Web relies on these structures at so many levels to deliver the content to your browser and make it look close to what was created by the author. If these common structures didn’t exist, if these common interfaces or standards were never used, the whole of the Internet just wouldn’t exist. Nothing would be able to talk to each other.
We need structure, and our structures need structure. The more structure that exists the more leverage we all have in the world, to reuse all the work that has been put into it to and create something new or evolve it.
The development and thinking of how structures or interface themselves are modelled is an area of absolute importance. By knowing what we need to achieve when we create a new function, of how it can talk to the millions of projects out there existing already, we are given the ability to always add value to the existing knowledge of the world.
It is sad, and something I have seen happen so many times, when so much effort is made by so many different people, in writing the same process, over, and over, and over again. Reinventing wheels is a job that is only useful if the person that does it, only does it because they enjoy it.
I have made no attempt in defining it, because the problem isn’t in defining it, it is in the kind of process that creates the definition of structure that itself needs defining. An architecture creation mode of thinking that itself needs formalising.