xy - Fotolia
Open Networking User Group debate: The pro-hardware transcript
Check out the pro-hardware side of the Open Networking User Group debate at its Fall 2015 conference where hardware squared off against software.
At the Open Networking User Group Fall 2015 conference in New York, ONUG co-founder Ernest Lefner posed the following question as moderator of the "Great Debate": What will solve the networking industry's biggest problems -- hardware or software innovation? In this transcript of the pro-hardware side of the debate, Douglas Comer, distinguished professor of computer science at Purdue University, argued that hardware is more reliable than software, saying the latter will ultimately cause more problems than it solves. (Arguments have been lightly edited for clarity and concision.)
Douglas Comer: How has software been working for us? Do you remember the headlines last summer? They all said, 'Are we under a cyberterrorist attack? Is the world going to fall apart?' And a couple of days later -- guess what -- they ran the true story: 'Oh, no, it's not a cyberterrorist attack. Don't worry, it's just regular old software bugs.' Remember that?
Software is dangerous. We all know it can be annoying, inconvenient and time-consuming. But software can also take human lives.
When I was out in Silicon Valley, [Calif.], I was working for Cisco, and they sent me to a meeting with a whole bunch of other companies. We got to this meeting and the guy on stage said, 'One outstanding hardware engineer can do the work of two mediocre hardware engineers. One outstanding software engineer can do the work of 20 mediocre software engineers.' The guy standing next to me looked at me and said, 'That's not true! It should be 12.'
ONUG debate: Software versus hardware
Open Networking Group's debate transcript: In defense of software
Software or hardware? See who won the Open
So, I asked myself, 'What's going on here? Is software really more intellectually challenging than hardware? Is that really what's going on?' Or maybe universities aren't preparing software engineers the way they're preparing hardware engineers.
Let's look at the legalities of hardware versus software. If you build a product in this country, you have product liability, which is why we have all those recalls for cars, because they have to work the way the manufacturer claims they work. But guess what -- when it comes to software, the whole legal system says, 'Oh, we know that's not going to work. So, all you have to do is put this little label on -- 'as is' -- and you have no liability. We admit it.' The legal system admits that software is so hard that they can't enforce liability. You've got to think about that.
Douglas Comerdistinguished professor, Purdue University
Software always degrades. You know what happens. It starts out good; you get version one, and it seems to work. We get all of this demand, and then success attracts a whole bunch of wannabes who come along and work on an already-bloated version for the second generation, and it's terrible. Each subsequent generation is worse. You know it's true -- everybody admits it. You remember Fred Brooks' warning: He warned us about the 'second system syndrome.' But it's not just [Brooks]: I was talking to a guy in Silicon Valley who manages software engineers. He said, 'I've managed hardware engineers and I've managed software engineers, and hardware engineers have an advantage. They can tell you when something is done.' Software engineers are never done! They always want to add one more feature or one more modification or one more parameter. You may have seen Douglas Adams' statement: Normal people believe, 'If it ain't broke, don't fix it.' Software engineers believe, 'If it ain't broke, it doesn't have enough features.' It's always easy to add features to software, and that's the problem.
And now after all of that, after all we know about software, they have told us that if we put more software in the network, it's going to make things better. Haven't they been paying attention? We know what's going to happen. Put more software in the network, and you'll see more headlines [about outages]. 'The network is broken; what are we going to do?' So, I ask you, why would anyone rush to put software in the network? Does this make any sense at all? Haven't you been paying attention? Are we crazy?
In summary:
- Software is fraught with peril.
- We'll have problems, problems, problems.
- How can you think software will help?
- Everyone's gone crazy.
Software. I know that a lot of you are addicted, but help me out here -- repeat after me, 'Just say no.'