Click here to register.
      

The Open Source Gospel

The Open Source Gospel

Published By: LinuxWorld Magazine
Viewed: 6734

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
I can hear the gasps all over the programming world. Just as real men allegedly don't eat quiche, real programmers don't need GUIs. Get over it. Mel Brooks was once asked why he quit making intellectual movies like The Twelve Chairs and started going for cheap laughs with Blazing Saddles, Young Frankenstein, etc. His answer was that he was tired of making great movies that were being watched by 12 people in a basement in Evanston.

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
OSS zealots are an interesting breed. When we download a new piece of software, we don't necessarily expect it to be complete. We think nothing of going onto the Internet to find additional libraries, plug-ins, or other prerequisites the original download depends on to install and run the application. Since a lot of OSS applications are created for Linux, when we do the development we expect that whoever is downloading them will either have what we have or go out on the Internet to find it.

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
This is really an extension of the idea above, because it involves a change in the way we think. We tend to preach to (and develop for) the choir. What we need to do is get into the heads of the general enterprise user and understand what functionality they're looking for - and what functionality is not of interest to them.

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
When all is said and done, bringing OSS to the enterprise means giving up a bit of our self-image as iconoclasts in order to achieve a greater good. OSS has a great deal to offer the enterprise, but in its present form it's a very tough sell. Ultimately, we need to recognize that degree of difficulty is the primary barrier to acceptance, and start making changes that provide the simplicity enterprise users require without giving up the power and flexibility that are the essence of OSS. Only then will we be able to convert the non-believers and spread the gospel of OSS to the enterprise at large.