COTS stands for “commercial, off-the-shelf” and our nation moved away from custom development to COTS back in the early 1990s, as I recall. Of course my own perspective is quite biased (as is yours). If someone researches the true facts, they can gain more accurate insights into what I suggest here (and please do).
Prior to the COTS initiative, our government and military paid very high costs to develop just about everything custom, for their use. Commercial software was not a common thing, and certainly not at current incredibly low prices. Government systems ran on software developed for the government. There were many reasons, and many of those reasons persist today.
Yet here we are, suffering the consequences of COTS, while not yet recognizing the value of custom development (again). Our systems and solutions are not great, and not getting much better, fast enough. Our competitors around the world are advancing without us, often using the products of our development efforts to out-implement us on the product and systems/solutions fronts. And in many cases, as they innovate to advance from the status-quo, they don’t share those innovations back to us or the rest of the world.
By stopping proprietary development, which as I said we did for good reasons, we have painted ourselves into a corner, where we must compete on implementation, not innovation. Yet, unlike many of our competitors, we simultaneously desire (and therefore require) stewardship of our ecological environment. How can we compete on implementation, if we are constrained by rules and regulations, while our competitors are not?
Here in Seattle we are discovering that China’s independent decision to pollute its air while it advances its economy has very real impact on us : increasingly, Seattle is breathing polluted air from China. Just one of many, many very real examples of how nation decisions impact us globally, while our own enlightenment seems to be holding us back (relatively).
I am suggesting here that a revival of commitment to open source firmware is likely to be THE THING that enables us to put our people to work, on projects that push society forward, while simultaneously supporting a leadership position in the world, including world economies and technological development.
COTS was Essential, Then
Back when Microsoft Windows started, the idea of switching from expensive custom software (and hardware) development to commercially-available products was a solution to a big problem. As tech advanced rapidly, we could not afford to “keep up” with custom everything. A switch to “COTS when prudent” made sense. In fact, it was probably essential for survival and success.
Soon government and military were re-engineering systems around commercially available parts and solutions. Hell, even our tanks were running a version of Windows at one point. There were arguments about whether or not Microsoft should reveal its source code to the military, or not. Hint : they didn’t…. and we used Windows to operate tanks, including weapons systems that included nuclear materials.
There are many, many people more qualified than I to discuss COTS and the history… but I simply want to make a point here. Switching to custom firmware, using open source, may be our future as an advancing technological and humanist society.
Firmware is the Key to Progress Now
Firmware is the software that runs on systems and hardware, through which we (and application software) interface to the system or hardware. Firmware is unique to a device or configuration. If a feature or service is possible, it is possible because the firmware supports or enables it.
If you conceptually consider the advances of the “space age” as firmware, our (United States) technological advances have enabled much of the world to advance. Certainly the Internet, integrated circuits, and Engineering associated with technological deployment have enabled the entire world to advance, while providing a basis for further innovation.
Of course it’s not just the United States… when I was in graduate school I researched math techniques back to the sources, which were primarily out of the USSR at that time. Much of the digital math that enabled the tech revolution was a product of Russian advances which we learned and advanced on the practical fronts, closely connected to hardware.
Firmware is Needed
Today, if the US focused on firmware instead of social networks and advertising, we might advance the stage for implementation on platforms we developed and initiated. The Internet of Things, the communications networks, the data storage and retrieval… all of it essential for applications and implementations… could be based on standards we initiate, define, and refine.
Instead of learning to code web apps (the application layer), our youth could be learning to code at the firmware level. The hardware abstractions are already there… why can’t we encourage innovation at the next level up, where hardware meets application layer?
APIs are cool but they are not innovative beyond the degree to which they are enabled by firmware and the lower level interface code… shouldn’t we be encouraging serious innovation there, such that new methods and standards evolve, for innovating at the application layers?
Shouldn’t we be working to “own” that interface layer, as a means of advancing technology while retaining a strategic degree of “control” that would be best exploited commercially by our startups, engineers, and innovators?
Why not let the whole world choose to innovate at whatever layer they choose? The easiest and most immediately rewarding will be the application layers, which results in reduced competition for us, while we achieve a firm foundational basis in the parts that enable every one else to innovate and advance?
It just seems to me that COTS is a mistake, and we have so much talent and interest in innovation, that a focus on the lower levels and firmware would be a strong move for America’s future.