you're a little smarter, a little hipper, and a little edgier than a Wintel army drone. No big corporation tells you how to build your
applications -- you dig into the code and make it work just the way you want. When it comes to getting OSS accepted throughout the enterprise, however, we have a problem. If we want users to
believe in our magic, we can't let them see the 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.
At the enterprise level success isn't as much about flexibility as it is functionality, simplicity, and productivity. Organizations are not looking for choices so much as a clear path to accomplish what they want. Therefore, 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 gasps all over. 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 and Young Frankenstein. He said 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 want 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 time to spend writing lines of code when pointing and
clicking will suffice. GUIs make applications easier to learn quickly.
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. When we
do development we expect that whoever is downloading our applications 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 software
that includes everything they need, such as DLLs
for Windows or Shared Objects for Unix. They have neither the time
nor the interest to hunt down various components to install along with the
main software. Many of those we're trying to convert may not know what they need or where to look for it.
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 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
We need to 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. We can start 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 IDEs, 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?
When creating these suites, we need to provide great
user/administrator interfaces to them. We need to provide 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. Hardcore users can edit a config file directly if they so choose, but a normal user needs a tabbed properties window with check boxes and drop-downs instead.
Adding the niceties enterprise users need doesn't mean all the good stuff has to go away. It is 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 tough sell. Ultimately, we need to recognize that 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.
JT Smith is the director of technology for Web Den Interactive, the makers of the Business Integration Engine and other Open Source enterprise