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?
This reminds me of a survey that I once took regarding household appliances (supposedly 3rd party research): would you be willing to buy product-X which improves your life in so many ways and only costs $19.95 or are you so short-sighted and cheap that you won't even spend 2 hours wages on something this great? I mean, really, was that a question when he (Michael) answered it himself? Most of the time the /. editors try to be at least a *little* fair wrt closed-source software (note the mainly positive stuff said about BeOS). But this is over the top and arrogant. I for one sure as *hell* don't want open-source air traffic control software. How are you going to test it? Not at *my* airport!!! Custom written software like that is one instance where you *can* sue the people who wrote it if it fails, and you can be daggon sure that the people who do the grunt work are quite aware of that, and do a better job than most of the commercial crap that's out there. gah, next thing you know I'll be joining the ranks of people who claim /. is going downhill. I will admit that I remember with fondness the old Multia that used to run everything. That sucker got hot!! Well, I'm off to take my medicine.
proudly ignoring the preview button,
Um. I certainly never want to read in slashdot
"RHS releases patch for ATC crash bug in only 3 weeks!"
Guys, lets get "down to earth" if you will excuse the pun. Non life-critical sofwtare development is a very different beast from life-critical software development. There HAS to be a clear chain of responsability and a tightly controlled development process.
For the record, and to pre-empt comments, no one would DREAM of building an ATC system on a flaky OS like Win32 so that's a straw-man argument.
So Germany and France are both very close to either strongly preferring or requiring open source software for certain kinds of government implementations (or so we've heard). OTOH, i've read that most US federal agencies are strongly perferring COTS (Commercial Off The Shelf) software solutions with a minimum amount of integration and custom code written.
This is the challenge that open source actually solves fairly well and fairly directly: COTS products are preferred because government agencies (and most private organizations as well) have a proven inability to develop software (they just write crappy code, manage their projects poorly and usually never finish). Given this environment, they'd like to 'just buy' everything (My slogan is that although you can do almost anything, you can't "just" do anything--integration is tough and no amount of management ignoring it will change that).
On the other hand, we read stories like this (and this one if funny, but hardly unique) about governments getting srewed by the commercial software vendors they use.
Open source splits this right down the middle--you get competent people to develop your products but you get access to the source to make changes if you want. cool, eh? government agencies who are nervous about this kind of thing can take a middle ground of establishing reliance on open protocols and requiring commercial vendors to support them.
Should the government go open-source? In terms of software, yes. Maintenance costs are cheaper when you go in-house (most of the time) and these sorts of positions are somewhat immunized against graft. Hardware is another story: They should use straight standards, but this IS government we're talking about.
In reality, it won't happen. Closed software yields great fiscal rewards for corporate America. They can survive hell freezing over as long as they have that government contract.
I support the Gallic and Deutch moves towards an open source friendly government.
I used to be someone else. Now I'm someone better.
Real life is underrated.
Working as I do at Teledyne Brown Engineering, I see some of the NASA software-development process second-hand. I know they outsource a lot of it--such as the Payload Data Library, which TBE runs for Marshall Space Flight Center. [I wonder if that link is visible by the bulk of /.ers...] NASA is progressing more to industry standards for things--maybe if open-source becomes industry standard, the Feds might follow suit.
There are, believe it or not, some things that won't benefit from being open source. Besides, the Feds will probably decide that some things will create more trouble than they're worth...
--
-- Geof F. Morris
Now, that being said, wherever possible we do get involved in Open Source computing whenever its realistic to do so from an overall perspective. Bruce Perens even came to our site to lecture on the topic (and it was great! Thanks Bruce!!) We recently migrated an important database application from HP/UX to NT, and we seriously considered hosting it on linux. In fact, our tests showed that the db (Sybase) was clearly faster on linux than NT, yet we chose NT. Why? Simple...there are about 25 people in our group capable of learning how to administer an NT box in a reasonable amount of time, there are about 4 or 5 available who have a reasonable background in *nix. It was purely a business tradeoff. As another example, we have many people looking into Beowulf clusters running linux, because that is the appropriate tool for the job.
SuperID
Hardly the oracle to discern the truth. They don't have a NYC bias or anything, ya think???
I bet Cubic has a few interesting tales about the folks in New York, as well.
I liked the part about NYC wanting "one modification" after the project has been planned -- and NYC is p-oed that Cubic has to cut shipment by 400 machines to stay under budget.
Modifications to fixed price contracts have to be paid for somehow. Should the company pay? Why?
Most contracts are written such that the buyer gets all specs, software, spares, etc. when the contract terminates.
So terminate it, NYC, get yourself another whipping boy. Force them to lowball you to get the contract, then ask for mods when they're tooling up for production.
Sheesh. This article is just typical NYC whining about their own frickin' mistakes. It would be comical if it wasn't so sad.
Treatment, not tyranny. End the drug war and free our American POWs.
See my user info for links.
Open source does not mean that any code submitted gets added. I, for one, would be pleased to know that thousands of talented programmers around the world could review code responsible for the safety of so many travelers. Isn't this exactly what we're all demanding for Carnivore?
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