This should be “Choice is still important.” but it wouldn’t fit in the tweet.
The IT industry has spent the last ten to fifteen years moving off of closed, proprietary stacks of hardware and software towards relatively open, standardized, commodity gear. If I move away from single-vendor platforms, I’ll probably save money on the up-front cost, but I’m also saving by introducing competition. I can compete HP, Dell, and IBM against each other and I’ll probably get a better price than if I have to sole-source that hardware buy. Open platforms also give me a better chance of incorporating new innovations, since I don’t have to wait for my one-and-only vendor to catch up.
Over the last couple years, many of us involved with open source in government have had discussions about what it means for citizen coders to become involved in state, local and federal efforts. There are all kinds of legal, ethical, and logistics questions that haven’t been answered. Everyone seems to be solving them individually, but it’s not well-coordinated. This means that agencies who want to engage developers are wasting valuable time trying to figure out the “right way” to work with the public.
The domain is large and already bearing fruit; I think we’re all enthusiastic about CivicCommons, CrisisCommons, and a host of public service oriented application development contests in many major cities.
Michael Daconta at GCN has posted a brief call to arms for the software industry. Here’s the gist:
Although I am a believer in free markets and the benefits of competition, industry has a responsibility to work together on the foundational layers to build security, quality and reliability from the ground up to advance the professionalism of the field. In essence, the information technology industry must emulate other engineering disciplines, or technological disasters and cybersecurity holes will worsen.
Daconta is uneasy with the number of platforms and methods available to software developers, and sees ever-more options and disruptions in the near future; IPv6 and 64-bit computing seem to trouble him particularly. We’re already balkanized and disorganized, how can we possibly expect to produce reliable and useful software with all this messy innovation happening?
The answer, of course, is control. Lots of it. Specifically, three proposals:
Licenses for software developers
A new, reliable, layered software platform developed by the NSF and DARPA
Treat software like engineering, not art.
Gracious. I barely know where to start. Let’s try to imagine the software development world in five years, with these proposals in place.
Open standards are motherhood and apple pie – they ensure a level playing field in which many implementations can compete against each other, keep the barrier to participation low for newcomers, will outlive any given company, and ensure that systems can communicate with each other with a minimum of fuss. In other words, open standards create efficient and durable markets.
Open standards also keep costs low for buyers, who have many options and a minimum of friction when they want to switch from one implementation to another. Because the standard is open, there is no danger of being locked into a single vendor since anyone can create a new implementation against the standard. Since open standards will always exist, there’s no danger of the standard disappearing, becoming unsupported, or being later made proprietary. An open standard will encourage these efficient, durable markets for as long as the standard is useful.