It's presidential campaigning season, which makes it high time for discussing what the next crop of politicians should fix about the federal government. Here's my suggestion: Make government technology more friendly toward open source and open standards.
This recommendation emerges from recent personal experience. This week, I had to submit a grant application to a U.S. federal funding agency. The application package is based on a PDF file, which comes with built-in buttons for uploading the finished application to the government.
In theory, this makes completing the application a simple affair. There's only one file to contend with.
In reality, the form and submission process are rife with problems that stem from lack of support for open standards. First, you have to use Adobe Acrobat to open the file. If you try to use any other PDF reader, the document appears as an otherwise blank page with an error message telling you to use Acrobat.
That was a little annoying for me because I didn't have Acrobat -- which Adobe no longer offers for Linux -- on my Ubuntu Linux computer. Fortunately, I was able to download an older version of Acrobat and install it on Ubuntu easily enough. With that in place, I could fill out the document.
But then I had to submit it using the embedded button. According to the government, pressing the button prompts a dialog to appear, which one can use to log in to a federal website and upload the completed application. What actually happened when I clicked the button, however, was nothing. It failed silently -- which is the worst way to fail.
I figured there was something the application didn't like about Linux and/or the fact that I was using an outdated version of Acrobat. Fair enough. So I tried a few other options, in this order:
- Installing the most recent Windows version of Acrobat in Wine. This worked and the application opened, but it refused to load my PDF file. Probably some Wine bugginess.
- Using Adobe's Acrobat Android app to submit the file. This failed because the app also wouldn't open the file. I got the same message about needing to use a supported program as I did when attempting to open the PDF in a non-Adobe reader on my laptop. Adobe's official Android app doesn't offer official Adobe compatibility, or so it would seem.
- Booting my Windows XP virtual machine in VirtualBox, installing the most recent version of Acrobat and trying to submit the file. I got one step further here than I did on Ubuntu -- a dialog box appeared after I pressed the button to submit the file -- but upon entering my credentials and clicking enter the process also failed silently. Probably the issue was that I was running Windows XP; I didn't try very hard to figure out what was going wrong since I assume there would be no easy fix. (I know -- I need to find time to build a new virtual machine with a supported version of Windows. Unfortunately, the XP one is all I have on hand right now.)
- Rebooting my laptop to the Windows 7 partition and submitting from there. This worked as promised. Hooray!
Open Standards and Government
You may be thinking, "If you just wanted things to work you should have used a supported version of Windows. No one forces you to use Linux."
True, using Linux is my choice. I know that lack of compatibility is one of the prices I pay to run a free operating system.
But that response misses the point. The issue is not that I couldn't submit the file using Linux. It's that the government requires applicants to use Adobe's proprietary software and extensions to submit files, when it could instead adhere to open standards.
The whole point of PDF -- or portable document format -- files is that they are supposed to look and behave the same on any platform that supports the PDF standard, which has been an open standard since 2008. Making PDF files work only with a specific PDF reader gives you the opposite of portability.
If the government wants to have people submit applications using PDF files (instead of using Web forms, which would be the much more obvious way to do this, but I digress), those files should be compatible with any application and environment that implements the current PDF standards. They shouldn't require proprietary extensions that are available only from Adobe's PDF software.
By requiring Acrobat the government gives preference to a particular software vendor, assuring that thousands of people who otherwise would not choose to use Adobe software are forced to install it. Worse, endorsing a proprietary, narrowly supported technology for government data poses the risk that public information could become inaccessible if the vendor decides to stop supporting the software.
Last but not least, there are privacy and fairness issues at stake. Acrobat is a totally closed-source program, which means we have to take Adobe's word for it that nothing sketchy is going on in its code. I very much doubt it is, but in theory, if Adobe wanted to do something like privilege one applicant's file over someone else's for a federal grant program, it could probably insert malicious functions into the application to do that. It would seem to be in the interest of the public for the government to prefer an open source solution, since it is much harder to hide nefarious features inside code that can be publicly inspected.
Governments around the world have been slow to adopt open source and open standards -- and the United States federal government has been among the worst of all in clinging to highly proprietary technologies, in contrast to countries like Italy and France.
I'm certainly not the first to complain about these things, I know. But it seems like a timely topic to raise. Will the United States see any presidential candidates mention open software standards this time around? I hope so.