Should The Government Go Open Source?
The Village Voice is running a story about New York City's troubles with the vendor who built the subway Metrocard system - magnetic swipe cards that work so well, I almost got arrested once because the system was... deficient. Though the story is about a specific situation, the general problem (municipalities becoming captive to corporations with specialized expertise) is extremely common. (And governments spend a fortune on such contracts.) The author-recommended solution is that the municipalities develop communal, reusable systems. I can imagine plenty of systems that would benefit - start with the air traffic control system. Is this the future of government-developed code? Or will it continue to be one-off, hideously expensive, closed code?
Develop a standard school administration file format (XML...) and some free applications that can run on top of it, for teacher's gradebooks, district records, management, & reporting, etc. Make it open source... heck, get [insert government entity] to pay for it's development.
Think of how much the school systems could save, if each district didn't have to pay millions for crappy on-off, outdated applications from houghton-mifflin or macmillan or whatever...
My wife used to teach highschool here in Texas. The systems they had for teacher's gradbooks (required, mind you) were horrendous. DOS-based, for starters, always breaking down ("submit 2 floppies, and 3 printouts, just in case"). A huge waste of time and money...
I'd love to see open source make headway in this area. I'd love to see some gov't money going to fund it...
---
... is to do what the DoD does on most of it's coding contracts: require that the contractor make its source code available to the DoD. That is, the contract requires that the DoD has clear rights to use the code and have others work with it, but the contractor retains copyright control.
Honestly, for political as well as institutional reasons, I think this is the best way to go for quite awhile. All coding work (and all systems that have any sort of code, from EPROMs to Java) should have the stipulation that the gov't has a clear right to use and modify the source code with no additional compensation. Now, that doesn't mean that the gov't can sell the code or give it away under a OpenSource-style license, or even that they can reuse the code for another project (that should be negotiated in the contract, with appropriate compensation for the contractor). It simply means that the gov't can get others to fix problems with the code if need arises (big holes, the contractor refuses to finish the job, the contractor won't maintain the code, contractor goes out of business, etc....)
This strategy is kind of the minimum resistance path - it still protects closed-source vendors from having their code released to the public (and let's face it, you wouldn't ever see mass-market software (and its low price) make it into gov't use if the companies were required to give away the code to anyone). And it saves the security debate for another time (that is, the debate over Open vs. Closed software won't impact the decision to require source).
Personally, I'd like to see the government start requiring perpetual license for all code to be used internally in any way. They'll be a lot of resistance for this, but I think there's a much better chance of this happening than if the gov't tries to require a GPL/BSD/whatever code license for all work. If you do that, then the gov't loses all access to mass-market software, and it becomes a completely custom job.
On second thought, if it all requires custom programming, well, hey, Welfare For Programmers! <grin>
-Erik
There are always four sides to every story: your side, their side, the truth, and what really happened.
Asking Slashdot if the government or anything else should be open source is a lot like asking a cow if we should be vegetarians.
Thats right. In cubic's infinite wisdom, they made metrocards as unforgable as possible by making the card themseves analog. This turns out to be really stupid, because the machines then have to expect slightly mangled data (after all, the cards stay in my wallet next to all my other credit cards.) So, if you scratch the right portion of the card, than you can stay under the machine's error threshhold while destroying the part of the card that holds the current price (Apperantly the original amount and the current amount are stored in different locations on the card).
Stupid MTA.
Well, that will show them for putting cops in every station to arrest me for truency after 3:00 and during the summer.
--Alex the very bitter Fishman