Advances in software technology have the potential to revolutionize control system design. Component-based architectures encourage flexible "plug-and-play" extensibility and evolution of systems. Distributed object computing allows interoperation. Advances are being made to enable dynamic reconfiguration and evolution of systems while they are still running. Technologies are being developed to allow networked, embedded devices to connect to each other and self-organize. This article describes a software infrastructure that gives an open control platform (OCP) for complex systems that coordinates distributed interaction among diverse components and supports dynamic reconfiguration and customization of the components in real time. Its primary goals are to accommodate rapidly changing application requirements, incorporate new technology (such as hardware platforms or sensors), interoperate in heterogeneous environments, and maintain viability in unpredictable and changing environments. The next section describes the current practice in control system implementation and discusses features of a complex control system architecture. It is followed by a description of the desired features a software infrastructure must have to promote new advances in control system design. We then describe an open-control software infrastructure to support these desired features, followed by a brief overview of a first-generation prototype of this infrastructure that has been developed for an autonomous aerial vehicle control.