26 April 2001
Reject the politics of proprietary solutions
InTech interviews Curt Wuollet, founder of the LinuxPLC project.
In November 1999, Minnesota controls engineer Curt Wuollet said he was launching the LinuxPLC project, a worldwide, nonprofit community effort to create a set of public domain, open software tools and programs. It would be the functional equivalent of a state-of-the-art programmable logic controller (PLC) running on commodity PC hardware with the Linux operating system (OS).
The work that ensued follows the same philosophy and development model that has driven Linux itself from the beginning. Anyone is free to download, improve and perfect the software, and use it as they wish, as long as they contribute their improvements back to the community.
Passion drives Linux more than business pragmatism. However, the OS is now far too successful to consider it a mere curiosity. Linux servers host 30% of all Web sites, and some Linux vendors claim it to be 100 times as stable as Windows 2000.
In this interview, Curt Wuollet describes why Linux is a rock-solid foundation for a control system and why our industry desperately needs to reject the politics of proprietary solutions and embrace the philosophy of open architecture cooperation.
"By the time you really know a product line, you've made a huge investment, and you still have questions."
InTech: What control industry problems does the LinuxPLC project address?
Wuollet: Control engineers spend one hell of a lot of time just getting things to work as advertised. We spend a lot of time working around problems. We spend a lot of time finding out if the things will do what we need to do.
These are the investments that are so costly that once you pay for them, you almost never see anyone switch PLC vendors. It's not brand loyalty; it's that you lose your shirt going through another learning curve!
Why? It's a lack of information. To get the information you need, you have to discover it by trial and error. Some you can get by palm greasing. Some is just secret, and you won't get it. By the time you really know a product line, you've made a huge investment, and you still have questions.
LinuxPLC provides the information. You can know more about it than you ever will about any proprietary product. And that knowledge is the difference between executing a project smoothly vs. the more usual dead ends, kludges, and workarounds.
Above all, we are going to try to operate with just as many other products as we can. That is unique in this industry, with its deliberate balkanization.
People who use existing products do not share at all. Each company develops the same stuff all over again. They run into the same limits, find the same bugs, yada, yada, yada. This is dumb and extremely wasteful of very limited resources. You are all alone.
With a publicly owned, user-supported project, you belong to a community. If you hit the list with a problem, you get an answer. If it's a bug, it gets fixed. The next guy doesn't have to deal with that. This is a far bigger thing than the machine itself.
The majority of the problems with the status quo are because you are not in control of what you need to execute the project in the minimum time. With LinuxPLC, you have that power. That's what makes it a better way to provide solutions.
Think of all the attributes that are making Linux successful against all odds. These are the big differences between LinuxPLC and just another PLC software package. It's not just code; it's ideals and principles and cooperation and sharing and doing what is best for the customer. That's a powerful new concept in this industry. It's a win/win strategy. And no commercial company can do it.
InTech: What personal programming/ application experiences convinced you that Linux is a superior OS for mission-critical applications?
Wuollet: I worked for about 10 years as a professional Unix administrator. I have a background in systems that can't go down. Hospital systems, manufacturing systems, mainframes, and the like.
By comparison, the whole Windows takeover is a joke. People went from systems that were down for scheduled maintenance once a month to systems that crash daily, and they love it. Go figure.
I started using Linux as soon as it became generally available. Before that I used SCO Unix. I simply have never had the luxury of permissible downtime. I build test equipment for plants that have no computer-literate staff available. That would be financially unfeasible with Windows.
When people began to experiment with using Windows for automation, I laughed. When it became apparent that they were going to do it regardless of the legal liability and reliability problems, it occurred to me that if people would seriously consider Windows, a free high-reliability alternative would also be viable.
Once PCs are accepted and become indispensable, reliability should be the next order of business.
InTech: What is the vision you have for the LinuxPLC project? What will people be able to do with it once it has matured?
Wuollet: Everything they do with any other PC automation systems, but cheaper, faster, and more reliably. We seek to bring the benefits of open-source software to an industry hopelessly mired in the enormous waste of hundreds of proprietary solutions that accomplish the same tasks.
Breaking the gridlock and roadblocks that the current model perpetuates will get the industry moving forward instead of sideways.
Simply imagine if industry had used its resources to create two or three really good fieldbuses instead of 250 solutions. The automation business would certainly be farther along than it is.
There is currently no possible way to accomplish this acceleration except to abandon the fragmented proprietary model and get more people working with a truly open, non-proprietary, publicly owned, open-source model.
This is not Linux zealotry or open-source idealism. This is Business 101 for growing an industry. Ethernet and the Internet are examples of what happens when you concentrate rather than dissipate.
What Linux has done for the Unix industry is what we see for the automation industry. Linux is taking the embedded systems industry by storm. The implications for automation are obvious.
InTech: The goal of the LinuxPLC project-everything other PC control systems do but better-might include C, ladder and flow chart programming, HMI, visualization of process data, Web server, communications to I/O and popular fieldbuses, network configuration, and common open database access. Anything else?
Wuollet: To that I would only add the ease of distributing systems and encroachment on the dedicated PLC market by running on small footprint-embedded class platforms. Linux already runs on more platforms than any other OS, from the low-power Dragonball to huge IBM mainframes to a dedicated Linux system on a chip (SoC), from a [single in-line memory module]-sized machine to the enormous 1024 processor supercomputer that IBM just sold to Shell Oil. Most system needs in automation will fit in that range.
InTech: How close is the project to delivering these capabilities now?
Wuollet: We are approaching a first development release that will be at once very significant and very modest. It will include the core functionality of automating tasks with Linux, the memory mapping of some demo I/O and utility code. It's not ready for prime time, but it is a foundation upon which to build.
It's modest. We have many followers on the mailing list but very few who know enough about Linux and automation to jump in and code. The ones we have are superb.
Where the horsepower will come from is people who see the potential and want their company to lead and contribute to the cause as well as those who contribute their own time. This is the stone for the stone soup.
I am confident that the support will come because it already has in different contexts. How long it will take depends on [users]. This is your project. It is free and owned by you. The general public license [GPL] status ensures that it will stay that way.
InTech: Can you give a modestly technical comparison between Linux and Windows? In what ways is Linux clearly superior? And in what ways is Windows still more advanced?
Wuollet: Linux is more reliable and modular, which better suits industrial work. The same application can run on a tiny SoC, a PC, or a huge Beowolf cluster. The graphical user interface is optional. Real time is available in several flavors. You can customize and optimize Linux. Everything you need is there and free, which means you write less code. You have the full source code for reference and the community for support.
And thousands of open-source applications means far, far less reinventing of the wheel. There are no royalties or license hassle. Linux runs on a dozen or so different processors. You can be a Linux developer for free.
Windows is popular—take it or leave it. You can only do what Microsoft lets you do. It runs on x86 only and requires graphics and mice or the equivalent. Programming tools and applications cost extra and require a license. And there are forced upgrades, version churn, dynamic link library hell, and other undesirable features. You can be a Windows developer, but only for big bucks.
InTech: Are there any fundamental limitations Linux has that Windows doesn't and vice versa?
Wuollet: There will be many barriers we can't cross, and the big boys have shown no sign of willingly cooperating or interoperating. This can only change by public demand for truly open standards.
InTech: When the LinuxPLC vision is accomplished, the implication is that all the profit would be driven out of the controls business, and all users would be on their own. Based on what you see in other industries, where will the new business opportunities present themselves? What business models will prevail in that kind of world?
Wuollet: What I see happening is that automation businesses will focus on their core competencies. Systems will still need programming, and companies will focus on consulting and the services that they now provide. They will lose the distractions and customer relationship management problems of pitching overpriced software and hardware.
With the exception of a few niches like conveyors and packaged systems, this is a full custom business. How could we possibly do without the folks who are solving problems and providing solutions now?
Only a small part of the profit on most systems is from sales of hardware and vendor software. The great majority is services and consulting—in other words, billable time. After all, how much can you mark up an $80 connector or, my favorite, a $110 serial card that I can buy for $3.89?
It's obvious where the hardware and systems software profit goes, and it ain't the guys selling the system. You're looking at a big upside, little downside.
I don't think we are gonna squash GE or Rockwell. Their IP is highly leveraged to sell their hard goods anyway. They would simply have to demonstrate value add over the commodity goods.
Frankly, I am not expecting the vendors to climb on board. This project is about the people who solve the problems and build the solutions and their customers. Sort of redistributing the pie a little more fairly.
InTech: Are Linux solutions more geared to skilled OEM product developers and sophisticated machine builders than to users such as General Motors and Procter & Gamble? Compared with the proprietary solutions, can a person who is not a very skilled C programmer actually implement this?
Wuollet: I just don't see what difference it makes what the system is running if the user interfaces are the same, except for reliability and cost. There's absolutely no reason that one could not build identical products. We wouldn't do that, of course-we intend to listen to the users.
But really, if the guys who are doing it now were to GPL their code and publish it (don't hold your breath), would their products suddenly change and become harder to use? For someone who wants to use the product as is, the source wouldn't make any difference.
If you do have programming talent, it becomes much easier and less frustrating to use than commercial offerings because you can answer questions and fix bugs in house. Find a problem, fix a problem. No more elaborate workarounds or kludges because it doesn't quite do what you want. And with a few hundred users doing this and contributing bug fixes and improvements, the product would mature and stabilize much more quickly.
Those big users like GM and P&G could tailor the product to get exactly what they want and improve it for the rest of us at the same time. That's the power of this new model of sharing rather than duplicating. And it's not at all like building your own because you are starting out with a product that has 99.99% of what you need already done.
How many times have you had to change plans or jump through hoops over something you know you could fix in a minute if you only had the power? In our business, this is a tremendous time-saver. Huge amounts of time were previously spent figuring things out that would not pass. Just making things work would be much, much simpler.
In our model you have the whole community to draw upon. Between the developers and other users, you get answers fast with no BS, and you can leave your credit card in your wallet. People here have no reason to deny there's a problem or run you through hoops. Contrast that with what you get elsewhere. And you get this no matter who you are: Joe User or GM.
Again, it's the power of sharing. Knowledge is not a jealously guarded secret exploited for maximum profit.
InTech: Can you describe some high-profile, big business applications that demonstrate Linux is not just a "fringe" technology for renegades and hackers?
Wuollet: You can pick up a Linux phone and order a Linux supercomputer with support or many other machines with Linux support from IBM. Almost all the leading database software vendors support Linux. And there are widely deployed open-source software products also, like PostgreSQL and MySQL.
IBM's Lou Gerstner has committed $1 billion to Linux products and services. They have ported Web Sphere stuff to Linux as well as DB2. Oracle has several offerings that are regular line items, and SAP is selling fairly well on Linux.
More Web sites host on Linux than NT. Dutch/Shell Oil has just purchased a 1024 processor Linux supercomputer from IBM. Cray is now developing their cluster technology for deployment on Linux.
Compaq and Sandia National Laboratories are planning a huge cluster with 10,000 Alpha processors. That is a very, very fast machine. The goal is in the teraflops!
On the small embedded end, TiVo runs on Linux, as does the Cobalt Cube Web appliance. Scores of other embedded products are in development.
While the nature of the product makes revenue a poor measure, Linux is No. 2 by any other. Infrastructure doesn't pop up on the radar, but Linux runs a lot of it—more than Novell. That is hardly fringe material, although we still welcome renegades as well as suits.
So, I invite all readers to join the LinuxPLC mail list and jump in. IT
Figures and Graphics
Perry Sink of Synergetic conducted this interview on behalf of InTech late last year.
Curt Wuollet is a Linux systems engineer. He works on vision systems, robotics, systems integration, and test equipment. He has been a Unix systems administrator and researcher and has taught electronics.