Many attempts have been made to unite comping systems. Networks are employed to connect machines, both local and remote. Operating systems, both those that run computers and those that operate other machineray, know how to talk over networks, and are built to be able to share a certain amount of data. Formats of disks and data, program code, system request methods, etc may look the same across versions of systems. This is done to allow systems to communicate effectively with each other. Were there not these standards, no one system could communicate with any other system in any stable manner, which would greatly defeat the purpose of connecting any systems together.
Despite these standards, there are still noticeable bounderies. When UNIX was still young, such bounderies were observed, and in response to this features were added. Features like rlogin, rsh and rcp were created to allow remote logins (not telnet sessions) and remote process invokation. While this provided more access across systems, it didn't really remove any bounderies, as the remote processes still didn't know about the local machine, and as with telnet, these remote sessions did little more than let you watch events on other systems. The two systems were never connected.
As file access became increasing important, networked file systems were built to allow for remote systems to access files from one central location. Again, this was done mainly in the UNIX world. And again, while systems were built that worked well on local systems, extending these features to work remotely raised prblems, especially about security.
Finally, as comping systems have become less expenisve and far more previlent, more work is being done to supply distributed computing facilities. That is, we'd like to able to run computationally intensive jobs on multiple machines, or distribute work. This inherently requires some sort of system that can communicate with other similar sistems, and can communicate in some manner with remote pieces of the distributed work load.
What does all this say about open systems? These are all features that we'd like to see in an open system, and they are all taks that would benifit from being coordinated by an open architecture. Instead of trying to build each of these components, and then trying to connect them in some coherent way, we could build a single open system that supports all these different feature sets. Basically, by doing this, not only can these sub-systems effectively play off one another, we are able much more easily to include very different systems in our new open system.
The end goal of an open system is remove all barriers in a computational environment. By allowing any one piece of a larger system to act in exactly the same manner as any else and by giving that piece the ability to obtain data from, send data to or start actions on other pieces, we start to visualize a system where there are no limitations. Once each piece in a system can talk the same language, and knows how to perform the same tasks, you can use this as a starting block to build up to flexable, completely inter-operable pieces.