Forgot your password?
United States Government Medicine Open Source Your Rights Online

How To FIx Go Open-Source! 307

Posted by timothy
from the intelligent-default dept.
McGruber writes "Over at Bloomberg Businessweek, Paul Ford explains that the debacle known as makes clear that it is time for the government to change the way it ships code: namely, by embracing the open source approach to software development that has revolutionized the technology industry." That seems like the only way to return maximum value to the taxpayers, too.
This discussion has been archived. No new comments can be posted.

How To FIx Go Open-Source!

Comments Filter:
  • by HornWumpus (783565) on Sunday October 20, 2013 @05:06PM (#45183013)

    When your system doesn't work and you are way behind schedule.

    Make a radical change and fire someone. That's sure to fix things.

  • by Anonymous Coward on Sunday October 20, 2013 @05:07PM (#45183023)

    Prototype and test. Go open source if you want to do so, but it isn't a silver bullet. If you don't test your software under simulated load conditions, you won't know if it will work. And for a work in progress, open source may have a delayed benefit time of several months before you get the feedback you need. People scratch their own itches in open source. They don't necessarily look at the entire system integrity. Only testing will do that.

  • by cold fjord (826450) on Sunday October 20, 2013 @05:13PM (#45183051)

    And add staff, lots more staff. That will make it better, and get the job done faster. (Wasn't that one of the conclusions of The Mythical Man Month []? ( download []))

  • by Pinhedd (1661735) on Sunday October 20, 2013 @05:17PM (#45183075) didn't fail because the designers didn't use open source software at every point in the chain - if the rumors are to be believed, an audit found open source code in there that had simply had its licence removed - it failed because it was designed by the lowest bidder and was not subject to the rigorous testing regime demanded by a national service.

    FOSS is great for reigning in costs, but it is not a patch for unskilled developers or a crutch for incompetent project managers who are unable to keep the project on track and within scope.

  • routine IT work (Score:5, Insightful)

    by globaljustin (574257) <justinglobal@gma i l .com> on Sunday October 20, 2013 @05:18PM (#45183079) Homepage Journal

    TFA, and virtually everything I've seen on 'Obamacare' are not helpful

    First, I've yet to see *one* legitamit (or even fringe) news organization film themselves without editing sit down at a computer and **attempt to enroll in ACA**...if this exits, please post a link

    2nd, a major problem of this article (and again virtually every news or analysis on ACA I've seen) is the lack of necessary information distinguishing **STATE EXCHANGES** and the **NATIONAL EXCHANGE**

    I hear it mentioned that the two exist, and are different, and I see a map that shows which states have their own ACA program and which do not, therefore defaulting to the Federal system....however I absolutely have not heard any distinction made when any blog/news report/etc mentions 'Obamacare's failures'

    3rd, The problems of "Obamacare" are myriad to be sure, but in the coverage of the "rollout of the website" no IT workers are one with any expertise actually explains what the problems are...

    We can easily understand (if you visit the website) & read a few news reports that the website's "failure" is a timeout when people try to sign up. Again, we don't know if this is the *state* or *federal* exchange, but the point is that the website breaks b/c of too many hits.

    Server over capacity.

    A few news articles to explain this much, but not any more.

    what does /. call 'server over capacity' type problems???


    I used to have my CCNA, it has lapsed. I'm not pretending rolling out a functional site like ACA is easy, but it's **well known** how to make a system like that, from a web coding perspective, work.

    It's routine IT work done daily all over the world.

    So, the real analysis is that the ACA needs more servers.

    It's that simple....note 'simple' does not in any way mean "easy"....but the concept is well understood by many IT engineers.

    "an open-source approach" is usually helpful in any system experiencing major problems...but this is routine IT work....not in any way a massive failure

    if you want to assign blame: blame the contractor that got the 1$billion to develop the ACA site

  • by rockmuelle (575982) on Sunday October 20, 2013 @05:34PM (#45183187)

    Look, I use open source all the time and have contributed to many projects and ran a few. I love open source just as much as the next slashdotter.

    BUT, broad statements like "open source will fix" don't add anything to the conversation. What if it was built on open source and it failed? Would we be making the same claims about commercial software? "If only they had used WebSphere and DB2!! Everything would have been wonderful!".

    No. No. And. No.

    As many people have already pointed out, the problems with are mostly the same ones that plague many large scale IT projects. Insufficient testing, complex interactions between many existing complex systems (which are hard to get right), consultants that get paid for code delivered, working or not, and so on.

    Now, TFA actually makes the argument that as an _open platform_ would be a good idea. It goes on to point out that that's one thing that makes some of the bigger web apps successful: they are platforms for building apps rather than apps themselves. How much of that is true is open for debate (is google really a beautiful platform or is it a bunch of hacks held together by duct tape? only google engineering knows for sure...) , but as a goal, as a platform isn't a bad idea.

    However, platforms don't just materialize from thin air. In fact, building a platform before you have apps is a recipe for failure. It's usually only after the third or fourth app that the patterns emerge that make a platform possible. It takes time for good platforms to evolve.

    Given that, designing from the beginning as a platform would probably have failed, too. The developers would have created a wonderful platform for some vague requirements that likely didn't actually meet the needs of an insurance exchange at all.

    From a pure software engineering perspective, what's happening right now isn't that bad. Version 1.0 launched, it had problems. Let's get working on Version 2.0 and maybe try out some new ideas. Then for Version 3.0 and 4.0, we can start thinking of a platform. The other important point here is that you have to plan for multiple versions and long term maintenance/evolution for software. The suggestion that should have been run as a startup in the government rather than outsourced is probably the best idea for fixing the problem.


  • Re:routine IT work (Score:5, Insightful)

    by Dcnjoe60 (682885) on Sunday October 20, 2013 @05:53PM (#45183349)

    Nice to keep beating the 'ACA' drum, but it's really Obamacare. You can't polish a turd.

    Turd or not, it is really called the Affordable Care Act (actually Patient Protection and Affordable Care Act) Nowhere in the congressional record will you see a bill called Obamacare or the GOP trying to amend Obamacare. However, you will find plenty of citations to the PPACA.

  • by Sir_Sri (199544) on Sunday October 20, 2013 @05:58PM (#45183393)

    And there's no data like real world data for load. At some point you sit down in a room and guess how people are going to use your software. You put it out there, and find out you were wrong.

    That is after all, why they did this with a couple of months to spare.

    Are there going to be 10 million people over christmas all trying to buy health insurance? Probably, and that's going to cause no end of grief, but there isn't some mystical open source fairy that can tell you how to correctly predict load for a system like this and make all the infrastructure work the way you want it to. Particularly with health care and open source you'd have to deal with thousands of tea party programmers trying to fuck it up too.

  • Re:I'm all for it (Score:2, Insightful)

    by Sarten-X (1102295) on Sunday October 20, 2013 @06:06PM (#45183441) Homepage

    Of course, let's do nothing unless it's perfect. If a few million people suffer or die in the meantime, at least we can look on and say we weren't flawed.

  • Re:I'm all for it (Score:2, Insightful)

    by sumdumass (711423) on Sunday October 20, 2013 @06:16PM (#45183517) Journal

    I would rather do nothing while people suffer and die then do something that causes people to suffer and die. You see, the difference is that on one, the results are the actions of fate and flaws, in the other, the results are the actions of me or you or whoever did whatever.

    But more specifically, in this case anyways, if nothing is done, all that will happen is the status quo remains with the added bonus of a tax penalty digging into the pockets of Americans. If the penalty is removed, the same is true without the penalty. If all is fixed, then people can actually use the tools provided to them to avoid the penalty and the status quo is removed.

  • Re:I'm all for it (Score:5, Insightful)

    by Anonymous Coward on Sunday October 20, 2013 @06:36PM (#45183651)

    That is a load of bull. There is a difference between insurance and healthcare. The main problem the ACA was supposedly trying to solve was a 15% uninsured rate. There were many reasons why that 15% didn't have coverage, including no small part of it that could afford insurance, but didn't want to pay for it. So the Democratic party grabbed hold of 100% of the market, not the 15% that was the problem, and started rearranging things with a hasty, thrown together plan that was scraped up from whatever they thought they could pass in short order with very unusual parliamentary maneuvering (remember "deemed to pass"?) and written in part by a "progressive" think tank []. The result still won't cover 100%, not even close, has raised rates for many people, has ended up costing many people both their insurance and income since their work hours were cut back, caused economic contraction due to businesses pulling headcounts under the limits, and plenty of other problems. And the best part is, they expect it to ultimately fail so that they can force single payer on everyone! How does that figure into your BS comment "let's do nothing unless it's perfect. If a few million people suffer or die in the meantime "? How about this - why don't we do something deliberately, in a planned fashion, that has wide support in society? How about we just don't throw crap to say we did something? Are you planning to take responsibility for the people that die without insurance now that this bad piece of law, this planned failure has passed? One of the principal precepts of medical ethics is, "first, do no harm". The idea should be to do something that is both useful and productive, not just "something" that is already expected to be destructive and fail. The cure is going to be worse than the disease in this case. But at least it will be hideously expensive. For some reason I doubt you read much in the way of criticism of the law, but your conscience will be clear because "something" was done.

  • Re:routine IT work (Score:5, Insightful)

    by adri (173121) on Sunday October 20, 2013 @06:53PM (#45183743) Homepage Journal

    Why do people keep saying that over and over again?

    It's easy. You write a test suite that pretends to be a real user. You script it so there's some actions that aren't just "do A do B do C." You make them make errors. You have them put in garbage details. You have them fill out the forms incorrectly or incompletely. You have them skip pages or press "back".

    Then you add a "pretend I'm the internet!" layer in between that simulates latency, so you make sure that your servers can handle the number of concurrent requests going on. A lot of not-so-seasoned web developers still fall for the "it worked on the LAN to 100,000 users, why not on the internet?" latency fallacy. Increased latency (due to RTT, packet drops, TCP retransmits, etc) leads to having more and more sessions going concurrently. That ties up resources at the server end.

    Then you add a "pretend shit breaks!" layer. Ie, the user internet connection breaks. They forget and come back after a while, and hit the restart page. The connection dies half way during the transaction.

    Then, once you've written that, you create 5 million instances of that. 100,000 per box sounds about right.

    This isn't 1995. Computers are really god damned fast.


  • by quantaman (517394) on Sunday October 20, 2013 @08:42PM (#45184527)

    Answer this... if we knew everything about Obamacare at the time of voting that we know now... would it have passed?


    Actually yes. Every poll done on the ACA has shown that people approve of all the individual components and are a lot more approving of the whole when it's explained to them.

    Which is why they don't tell us anything. They don't respect your vote. You don't get to decide. Your opinion is worthless. They will do what they want to do. And if you want something else they will lie to your face.

    So I assume you disapprove of the standoff by John Boehner and the congressional Republicans. Where a minority of congressmen (ie the majority of the majority) for a party who received less than 50% of the congressional vote used the threat of an economic collapse to try and overrule the President and the Senate.

    Was the IRS attacking political opponents of the president on purpose? Of course not. Until it was proven that they were.

    Until it was proven that they weren't and there was no political bias to the IRS audits []

  • by Bite The Pillow (3087109) on Sunday October 20, 2013 @08:52PM (#45184583)

    Which site isn't that complicated? The one that confirms eligibility based on data from multiple agencies which probably were not built to work together? The one that was supposed to magically work day 1 to support the kind of load that every other website grew to support organically?

    There are too many things going on here to say it isn't that complicated. Nothing innovative, that's true, but the work to integrate a goodly number of systems still needs done, and it isn't that simple.

    I have done post-merger integrations in the Fortune 100 space, and existing systems that only need to be tied together can be a convoluted mess. This is orders of magnitude more complicated, It isn't going to be a simple web service or database call to get some info, call another one, and display something on the page. It should be, but there's no way it "just works" like that.

  • by rtb61 (674572) on Sunday October 20, 2013 @10:07PM (#45184971) Homepage

    The problem here is it is corporate and the lobbyists have worked for decades to purposefully create a system that the government is forced to work to. So that various major corporations can regularly rip the treasury off. The US government is trapped in a cycle of lobbyist corruption that purposefully runs down government services in order to privatise work via contracts that deliver virtually nothing but cost a fortune and purposefully make the government look bad so they can privatise etc etc etc.

  • Re:routine IT work (Score:4, Insightful)

    by Sir_Sri (199544) on Sunday October 20, 2013 @10:47PM (#45185153)

    We keep saying it over and over because:

    It's easy.

    Isn't true, at all. Watch 1000 volunteers all try and test your system, and then try and simulate that behaviour to model however many you think you'll have - and you still get surprised.

    Yes, definitely you should have testing for all the cases of what a user can do. But you don't know how people are really going to use a system until they're using it for real. As it turns out real use is different than testing, and an early tester sample are not really a good sample.

    Let me give you an example of how synthetic tests will go badly. You get some fake numbers from your partners so they all have either completely random prices, or they all have exactly the same price. So when you're testing users click around, and no problem right, they can select the one they want etc.

    Then you get real data, in the real world - and one company posts a price 3% lower than the other guy but it's for a slightly different product. So before, where users clicked the same thing once, now a bunch of them are clicking back and forth loading the page multiple times doing so, they're sending them to their friends to compare etc.

    It then takes your assumption about 100 000 users per box to maybe 70, 80 or 90 or some number not quite enough when you scale up to 5 million.

  • by raftpeople (844215) on Sunday October 20, 2013 @11:10PM (#45185265)

    That site isn't that complicated and there's nothing new and innovative on it. If they brought in the right people and busted ass for a few weeks they could have an open source alternative built and tested.

    Oh, ok, a few weeks? My largest project was orders of magnitude smaller than this project and you couldn't even complete testing in a "few weeks". I don't think you have any clue the complexity of this project or time required for large/complex projects.

  • Re:I'm all for it (Score:4, Insightful)

    by Bananenrepublik (49759) on Monday October 21, 2013 @01:51AM (#45185825)

    There were many reasons why that 15% didn't have coverage, including no small part of it that could afford insurance, but didn't want to pay for it. So the Democratic party grabbed hold of 100% of the market, not the 15% that was the problem

    If you don't see the connection between the two than you have spent no time actually thinking about the law. People who could buy insurance but don't are usually healthy. Take them out of the risk pool, and insurance becomes more expensive for everyone, increasing the incentive not to get insurance for everyone who can do without. But even though they are healthy and don't want insurance, you know that at some point, maybe 10 years down the line, maybe 20, they will also need health care.

"Maintain an awareness for contribution -- to your schedule, your project, our company." -- A Group of Employees