Friday, March 10, 2006

Imagining an Open-Source World

Imagine I've got my very own company. Let's say it's a paint manufacturer. Call it "Doug's Discount Paints" or DDP for short. DDP makes the finest paints available anywhere... at far lower costs than better-known brands. How have we done it?

From the outset at DDP, we've used open-source software.

For basic accounting tasks, we use GNUcash. Our supply-chain management software is Compiere ERP and our wholesaler relationship management package is Compiere CRM. We started off with Oracle licenses but eventually retrofitted our packages to use MySQL Community Edition.

All of our servers, of course, run on Linux. The web servers -- it goes without saying -- use Apache version 2 and PHP for application serving. In fact, our batch jobs are all driven use PHP's command-line mode because the scripts are easier to maintain than their Perl equivalents (though we have plenty of those, too).

Our directory server is OpenLDAP's slapd, with replication between our boxes provided by slurpd. The email system used to be Sendmail, but we're now piloting OpenXChange.

While we started off with Windows desktops, we've since transitioned to all Linux desktops. We use GNOME as our desktop user interface, but some of the developers use KDE. Our email client is the very capable Evolution and web browsing is provided by (what else?) Firefox.

Our basic office suite is OpenOffice, which we use for word processing, spreadsheet work, and presentations.

So those are the basics of our environment.

The other day, a major software vendor came in trying to pitch a revamp of our architecture. Here was their proposition:

  >  We've got to pay a hefty fee for the initial software license

  >  Each year, we need to re-up and pay a maintenance fee

  >  From time to time, we need to re-license the software when the old version is no longer supported

  >  When we re-license new versions of the software, we may be forced to simultaneously upgrade our hardware

  >  There's no access to source code permitted by the vendor, so we're quite reliant on the vendor to add the features we need

  >  There's also no official support community, so we're dependent upon the vendor for any low-level help

  >  Product innovation hinges upon the vendor's ability to staff a project, not based upon the product's merits and its ability to attract a community to further its goals

  >  Security is based upon a promise from the vendor to adequately protect its code from internal and exteranl attacks... it's not something independent parties can verify on an ongoing basis by reviewing source code

After hearing the vendor's pitch, we politely showed them the door.

No comments: