The Open Source Gospel
The Open Source GospelPublished By: LinuxWorld Magazine
Original story appeared on LinuxWorld.com and in LinuxWorld Magazine.
One of the major attractions of the whole Open Source movement has always been the feeling of being outside of the mainstream. If you're into OSS, you're a little smarter, a little hipper, and a little edgier than the drone army of the Wintel crowd. No big corporation tells you how to build your applications - you dig into the code and make it work just the way you want.
That's a wonderful thing. I know, because I'm one of those guys, too. But when it comes to getting OSS accepted throughout the enterprise, the trouble is we're a relatively rare breed. If we want users and even super users to believe in our magic, then they can't see us pulling switches and levers behind the curtain. It has to take a form that is familiar to them so they accept it without giving it another thought.
What we have to remember is at the enterprise level it isn't so much about flexibility (at least in the sense we think of it) as it is functionality, simplicity, and productivity. They're not looking for choices so much as a clear path to accomplish what they want. While OSS true believers bring an almost religious fervor to their confidence in open source, that view isn't necessarily shared by everyone. Many of those who oppose it are just as fanatical in their own beliefs.
What all of this means in terms of getting OSS accepted in the enterprise is that we as advocates have to change the way we think. Instead of approaching OSS as an exclusive club with more insider secrets than the FreeMasons, we need to learn from the opposition and make it more usable by the masses. Here are three things we can do today to make that happen.
Make OSS GUI-based
If your goal is to get OSS accepted in the enterprise, a GUI is a necessity. Remember that computers themselves didn't become ubiquitous until the GUI was added, making it "easy enough for my grandmother to use." Network administrators and other IT personnel like GUIs, want GUIs, and need GUIs both for installation and day-to-day administration. Their electronic "to do" list is measured in megabytes, and everyone wants everything from the right now.
In other words, they don't have time to learn complicated systems through trial and error, or to spend writing lines of code when pointing and clicking will suffice. GUIs make applications easier to learn quickly and more intuitive. Remember that they don't want to experiment. They simply want to check the task off the list and move on. Adding a GUI to OSS applications helps make that happen.
Include Everything Needed to Install and Run
That's not the world enterprise users live in. They expect the software will already include everything they need from the beginning, such as DLLs for Windows or Shared Objects for UNIX. They usually have neither the time nor the interest to hunt down various components to install along with the main software. Again, remember that big "to do" list.
In order to drive acceptance of OSS in the enterprise, we have to meet the expectations of those who will use it. They have to be confident in knowing that the software they spend time downloading will work "as is" rather than after a lot of additional hand wringing. This is particularly important since many of those we're trying to convert may not know what they need or where to look for it. This doesn't mean you have to think of every contingency and include every possible add-on. But it does mean the basic (and intermediate) functionality needs to be there from day one.
Turn Applications Into Suites
It starts by bringing together all the utilities developers use on a daily basis and incorporating them into a more robust and complete tool. For instance, there are a lot of really good XML manipulation libraries, parsers, and utilities out there, and there are also some great IDE's, but I have yet to see a really great XML IDE like XML Spy. OpenLDAP, Samba, NFS, CUPS, proftpd, Apache, and Kerberos are all great applications on their own, but wouldn't it be great if someone created a project that merged them into the ultimate file/print server? Some of these things may seem a bit pedantic to the OSS true believer, but the original projects are still available if you don't want to use them in this way.
Additionally when creating these suites, we need to provide great user/administrator interfaces to them. We need to allow for user interface levels to "dumb down" the applications for less experienced users. If you find it tedious to work in the dumbed down version, then create an on/off switch for yourself so you can have all the power user functionality. This option allows OSS experts to work at the higher level they're used to without excluding the enterprise developer. For example, hardcore users can edit a config file directly if they so choose, but your normal user needs a tabbed properties window with check boxes and drop-downs instead..
The thing to remember is that adding the niceties enterprise users need doesn't mean all the good stuff has to go away. It is both possible and desirable to walk in both worlds without losing the essence of what makes OSS great.
Simplicity is the Key