Where is all the open-source EDA software?

Open source logoThere is a big cultural difference between tools for IC design and tools for software design. A difference in the way they are developed, the way they are sold, the way they are deployed. I think there are two reasons.

Firstly, IC designers are not software designers (duh!) and so are not generally capable of writing or extensively modifying their own tools, so it doesn’t cross their mind that it might be a good use of their time to do so. After all, it wouldn’t be.

Secondly, the culture has arisen that the studliest IC designer (or whatever the equivalent is for a woman) has the most money spent on their tools. Companies capitalize IC designers with large amounts of software to increase their productivity. But it is not really productivity, it is the ability to get the job done at all. Only in the most technical sense is improving the time taken to design a chip from a millennium to six months merely a productivity increase. The EDA industry has improved engineering productivity by a factor of maybe 100,000 in the last thirty years.

Neither of these are true in the world of tools for software engineers. Firstly, they are software engineers and so can develop software fast by either just going and developing it on whatever is available (without requiring centuries) or they can write themselves some productivity tools and then use those tools to produce their product with higher efficiency. They are their own customers in that sense.

Open source development has also been shown pretty conclusively to be more efficient the closed source. Eric Raymond’s1 book “The Cathedral and the Bazaar” is a little dated but still the best survey of this. But there is a problem. Open source software is also known as “free software”. Originally this meant “free as in freedom not free as in beer” but has come to mean “free as in beer” too. Or at least very cheap.

Open source means that if you buy the product, and perhaps even if you don’t, you also get the source code and can do what you want with it. Of course, since you can do what you want, it becomes really hard to sell a second copy since you can always build that yourself from the source, so the second copy had better be really cheap or that’s what you’ll do. For example, Wind River used to have a proprietary royalty-bearing operating system called VxWorks but the world is going to Linux and so Wind River supplies their own version of Linux. But it is hard to charge much and impossible to charge a royalty on this since a customer can get Linux from many places and even hire a few engineers and build their own version. Or a competitive company can take the same source and customize their own product. It is hard to see what Sun has got from Java to justify its investment, and even harder to see why it recently bought MySQL for about a billion dollars when the price for a copy of MySQL is exactly zero.

In that way, open source is a bit like Craigslist. Craigslist didn’t steal all the money from newspaper classified advertising. It took a billion dollar business and made it into a million dollar business, making it impossible for anybody, even Craigslist themselves, to make real money in classified advertising.

So the result of all of this in the world of tools for software development is that all the best tools are open source, but nobody can make any money selling them. This works fine as long as enough people like Sun and IBM pay their developers to do open source development on the basis they make money on the hardware, or enough programmers do this in their spare time for fun (and because if you want a job at somewhere like Google, one of the things they’ll take a look at is what open source projects you work on after hours). But there are no Microsofts of open source, no Oracles nor Adobes. Not even Intuits or Mathworks.

IC design tools are all closed source, apart from a few bits of infrastructure like openAccess. Synopsys isn’t about to give you the source code for Design Compiler just because you bought a license, and they certainly aren’t going to put it up on the web so Cadence can grab themselves a copy too. It is arguable whether the quality would even improve that much if they did so since most of the users are not itching to get into the millions of lines of source code and add a few enhancements.

Now that electronic systems contain large amounts of software content, these two worlds are starting to collide a bit. The investment for a system design team in tools for the IC part is maybe in the millions of dollars, and for the software part it is essentially zero. And not because they are forgoing the best tools because they are too cheap; those free tools are the best tools.

The number of chip designers is fairly small, perhaps 20,000 engineers. There are ten million software engineers. The price of EDA tools has to be high to recover the development cost over a small base; software tools have a much larger base. After all, Bill Gates got rich selling copies of MS-DOS and Windows for less than $100 each. But he sold a lot.

1 Interestingly, since open source sounds like some sort of socialist commune, everyone tends to assume that Eric Raymond and other open source luminaries are pinko lefties. Actually he is hard-core libertarian with interesting views on other issues than programming. His blog is Armed and Dangerous.

This entry was posted in eda industry, engineering. Bookmark the permalink.

Comments are closed.