Sunday, December 30, 2012

The Open Source Company

When setting up a company, one of the primary concerns we face is that our income must exceed our cost of doing business. For many businesses, that cost is difficult to calculate -- any single user touches a half dozen services per day at minimum -- probably more, especially for smaller companies where users wear so many hats.

Open-source software can be a great answer to that question. For those outside of the software/computer world, open-source software is software whose authors have donated their time and work for the better good. Anyone may use and improve the product as long as they attribute the previous authors. That allows great tools to be freely available to smaller companies with shallower pockets than larger companies.

So how far can open-source software take you? Paid software from full-time development companies must be superior, right? Well -- yes and no. Paid software generally has 5 times as many features, but the core features are typically available and solid on both.

Here's what I've built for my companies:

Open Source/Free:

Wiki - MediaWiki
The same source-code that Wikipedia uses, most people are familiar with the layout.

Instant Messaging - OpenFire XMPP server with Pidgin desktop client
Both OpenFire from Jive Software and Pidgin are open-source software which are freely available. They both support the open-source XMPP chat protocol which allows us to federate (link up to) other software and protocols. OpenFire in particular is just fantastic server software, and pidgin is an old favorite of mine.

Server virtualization platform - ESXi 
Though not open-source, their base-level server virtualization is available free of charge. This version allows up to 32gb of memory to be dynamically divvied up between any number of machines. This dynamic sharing of resources is both efficient for enterprises and green for the environment - fewer machines gobbling up power. Just fantastic software.

Voice conferencing: Asterisk software (AsteriskNow prepackaged)
Asterisk is an open-source framework for communication -- telephony, conferencing, and (I believe) video telephony. To ease set-up, we installed a pre-packaged kit which includes most features and involves little least in theory. Setting it up has been a beast, and its still not entirely working -- not a recommended product. If you know a great open-source conferencing platform, send it my way!

Application/Network monitoring: Nagios with a Monarch GUI front-end. 
Nagios is the monitoring framework which is fully SNMP compatible and includes many pre-packaged monitoring tools which makes it fantastic. That said -- it's just the framework. Unless you want to do all your configuration in CLI, you need a GUI. We selected Monarch because a partner highly recommended it, and it is extensive. Recommended, at least for a business of our size (small to medium).

IT Ticketing: GLPI
GLPI is an open-source ticketing system geared towards small to (small-)medium businesses. It can also do cataloging of computers and other data with an OCS module that fully integrates. We compared a few other products which were much more complex and harder for users to ... use. GLPI is a form -- category, urgency, title and summary. Submit. Users get it. And that's what we're looking for here. Highly recommended for smaller businesses.

Server OS: Fedora from Red Hat software
Red Hat has an interesting business model -- release great software, open-source, free of charge. Then charge for support. As a small-business, I'm interested. Great, stable, freely available software. As a medium business, my software is highly integrated with their platform and I need a support contract. I'm snared. And everybody wins. Highly stable, great platform -- Recommended. VM that and play today.

Paid Software:

There is always that paid software which cannot be avoided without significant risk or detriment to your company. Here are some of the examples and reasons why.

Desktop OS: Windows 7 x64
Almost always the most polarized software, the Windows OS has come a long way. I'm (obviously) a big proponent of open-source software, but Microsoft has done a great job of patching security holes and adding features to their desktop OS. We're still evaluating Win8, but it looks like something that could really take off if some usability tweaks are implemented.

Server OS: Windows Server 2008R2
With the stability issues of the past few releases behind it, 2008/2008R2 is pretty good. Very graphical, it's a great option for file-serving to the Windows OS. That's the primary reason we run it. When something goes wrong, it takes quite a bit of experience and digging to find the logs which reflect the problem, and even then troubleshooting is difficult. When the code is closed, you are forced to turn to the company which wrote it (Microsoft) for answers. And they're not too easy to reach, either. If we could effectively run file-serving from a *nix, we'd be planning a migration today.

Document Editing/Email Client: Microsoft Office 2010
I've spent hours and hours playing with Thunderbird and OpenOffice/LibreOffice and they simply do not stand up to Microsoft Office in terms of features (in a huge way) and compatibility with Microsoft Office (which, of course, is everywhere).
A wildcard here is Google Docs, but it simply isn't there yet in terms of features or compatibility either. That said, it's the most interesting product in the bunch here, and I sincerely hope they pick up their game. There's at least one interested party here.

Email Server: Microsoft Exchange 2010
The most graphical and user-friendly email server I've seen is also the most popular and therefore the most techs have experience with. Honestly haven't even looked at other services (all cloud-based services are out due to security concerns) because once it is configured, it simply runs.

Switching/ASA: Cisco
When a company practically (literally) invents the category, it's difficult to find great software which can compete. And especially in the security/backbone category, its important to use software which others are experienced with for quick troubleshooting if (when) problems arise. This puts us firmly in Cisco's (very costly) grasp.

Telephony: Cisco
Call-Manager Express (and at some point Call Manager Business Edition) is the platform that carries our voice traffic. The platform is stable and somewhat feature-rich, but difficult to configure, at least for us on CME. Entirely CLI, we're able to easily dig into difficult issues, but even the simplest of changes can cause serious problems, so there's a difficult trade-off here. If we can find a better product that can provide stable, feature-rich telephony in an open-source package, we'll consider migration.

I hope my thoughts and ramblings can help you select better tools for your projects.

No comments:

Post a Comment