Monday, November 17, 2008

Its A Series Of Tubes


This is an interesting article. It brings to mind the announcement that President-Elect Obama plans to distribute his weekly address as a YouTube video posted at Change.gov. Obama's candidacy was based in part on a platform of using technology to make government more transparent. Now that he's about to take office, debates are beginning to form over how best to utilize technology to engage the public and make government not only more transparent, but more accessible. These debates are distinct from the very serious technological issues of Net Neutrality, copyright and patent reform, and Internet security, and seek to bring our whole framework of governance into the twenty-first century.

First of all, lets look at our government from an technological point of view. Government - as we technologists see it - is a legacy system written some 230 years ago by developers who have long since moved on. The developers who came after them have generally been cautious of making any substantive changes, opting instead for minor revisions and, when new features became necessary, generally attempting to follow the techniques documented in the original framework.

The original design was very Unix-like: small, elegant, and decentralized. The platform was designed by a committee that opted to compromise efficiency for performance by limiting the scope and roles of the departmental subsystems. The ten original features were added at the last minute when some of the developers balked at adopting a platform considered not user-friendly enough.

Since the original deployment, the platform has been modified a number of times with features being added and removed. Other features have been extended or deprecated, often in creative ways by super users. There has been a growing tendency for the super user to have root access without sharing the password other power users, circumventing the original platform design of decentralized roles.

Now what we have is a maintenance nightmare. Over the last 8 years we've seen the talent pool of developers dwindle. Hence, we've relied on contractors who generally ignore the existing infrastructure and rewrite from scratch in languages they make up as they go along. The work is done for expediency and efficiency, without regard for stability, performance, or maintenance costs. What's worse, the contractors knew they'd be gone by 2009, and that another group of developers would have to solve the problems they leave behind. As a result, we have one of the most resource hungry systems in the world, and the poor performance to match. For example, one job has run for 6 years and still not completed. No one is really sure what the job is supposed to accomplish, but the one thing it has done is suck up a ton of resources to attack another system and try to install a copy of our system in its place. At least our new lead developer has indicated he'll kill that job, albeit without the '-9' flag, in the hope of freeing up some much needed resources.

We need to face the notion that we somehow downgraded to the Windows Vista of governments. We had the Windows XP of governments before the last administration got their hands on it. But instead of going back to our Unix-like roots, they placed a priority on DRM and the appearance of security, and delivered a system that requires more resources than we have to run. They made cosmetic changes to the interface to distract from the fact that the filesystem is bloated and mismanaged. It was made to look modern, but at its core it was rewritten for an entirely different time and for an entirely different audience. Not to mention that its unable to defend itself against viruses and worms.

Hopefully our new developers will be looking at ways to install the OS X of governments: very user-centric with the freedom of Unix. Less gets done but people are generally happier. Or how about the Linux of governments: almost nothing is done for you, but you get the basics. And if you're determined enough, you can make the interface suit you, and have lots of resources left over for the things you really need. Either of those platforms offer the user total responsibility, and hold more promise than Windows every will.

****************************************

Yeah, well, maybe we won't get a whole new OS for Christmas. How about some Web2.0 stuff? Like Wikis for pending legislation. Only members of congress (or their staff) can make changes, but anyone can add a comment. Use a moderation system to hide frivolous comments and ensure that relevant comments rise to the top. Where a moderation system would work really well is in the thousands of public comments that are submitted to, say, the FCC when they request public comment.

Unfortunately, I get the feeling we'll be more likely to see something like this than a more complex moderation system. Note that at the time of posting, "repeal the DMCA" is the third ranked suggestion. Of course we all know the problems with the DMCA (anti-circumvention provisions come to mind first), but repealing it would also get rid of safe-harbor provisions. How many people who clicked "vote for" thought of that?

In any case, it's not as if legislators are just going to look at the top five things on the list and implement them. At least, one hopes not.

No comments: