The cloud is all the rage these days, for good reason. And yet we keep having incidents that remind us there are big problems with putting everything in the cloud. Such as the recent celebrity nude photo scandals, ongoing privacy breach revelations, big companies getting hacked, mass credit card number thefts, and more.
As an open source advocate and user, I keep finding myself wondering why so many people trust software services so blindly, rarely stopping to look for alternatives. If it starts with "free service" people can't wait to start putting all sorts of crazy things there.
That's been a fantastically successful strategy for a bunch of online software as a service companies: get people hooked on a free service, and either upsell them to a paid account or sell them to advertisers. But is this good for you, as a technology dependent business or an individual who cares at all about privacy? Not necessarily.
What are the alternatives?
If you dig deeper, past the advertising and the hype of Software-as-a-Service (SAAS) companies, you'll find a really amazing array of completely free, open source alternatives you can run and own yourself. At Freelock, we support our business almost entirely on open source -- not only is our key offering, Drupal, an open source platform, but most of the tools we use for business are as well.
Business Software - File sharing
Today, business software means far more than just Microsoft Office. Most businesses need ways of sharing files, web conferencing, phone systems, calendaring, editing video, and more.
Let's start with Dropbox alternatives. Dropbox has become must-have software for sharing files with external partners. And yet Dropbox has come under fire for inadequate protection of the privacy of data stored on it, along with being one of the many targets of the NSA trying to snoop on users.
There are two fantastic alternatives I know of to Dropbox: OwnCloud and Seafile. We've been using OwnCloud here for the past 9 months, and while we've hit some bugs here and there, we've found it to be a great system, fully under our control, and it has become an integral part of our operations.
OwnCloud syncs files on our desktops with our own, private cloud. We can access files through the web interface, or just edit them locally. We can easily share files or directories with customers, sending them a link that automatically expires, protected with a password, or create an account for 2 way sharing.
OwnCloud also provides calendaring and address book functionality very similar to Google. There are also mobile apps for accessing files, calendars, and contacts right in your Android phone.
Business Software - Web conferencing
As Linux users, we've been left out of the many hot online conference solutions. GoToMeeting, Join.me, GoToWebinar all work far better on my Android tablet than on my Linux desktop (never mind that Android is Linux under the hood -- the commercial vendors just plain don't care to support Linux).
But we have one of our own: BigBlueButton. BigBlueButton is a web conferencing system built for education, but it makes a great platform for online meetings, trainings, and more. It supports web cams, microphones on your computer, hooking up to a PBX for dial-in numbers, screen sharing, presentations, online private and group chat, and recording the session. It's really a great piece of software, completely amazing in what it is capable of. It's definitely better suited to meetings of a handful to ~50 people, not so much webcasting to hundreds or thousands simultaneously -- it's a great fit for our needs.
Business Software - Phone systems
It still surprises me how much people spend on regular phone systems and PBXs. If you haven't moved your business to entirely mobile, there are a couple of great phone systems that have every imaginable feature available, practically for free. It's still good to have some actual phones, and decent office VoIP phones run $150 - $400 each, but you can run them from a regular PC using Asterisk or FreeSwitch at an extremely low cost. Our new provider charges us $0.99 per month for the phone number, and a penny a minute for usage. It's hard to beat having 5000 minutes cost less than $60. (Well, you can get better deals if you use a lot more minutes!)
We use a web application called FreePBX to set up extensions, create voice menu trees, call forwarding, conference rooms, find-me/follow-me, and more. We can have as many simultaneous calls as we have phones to talk on. We have built-in call recording available, call parking, a digital switchboard, and more. And the sip account on my Android phone turns it into an extension that works when I'm in the building.
... and many more
At every level of our business, we use open source software:
- Web site: Drupal
- CRM: Drupal
- Financial System: LedgerSMB
- Project management: OpenAtrium (Drupal)
- Web Analytics: Piwik
- System Monitoring: Icinga
- Backups: BackupPC
- Configuration Management: Salt
- Continuous Deployment: Jenkins
- Testing: Selenium WebDriver, PHPUnit
- Video Editing: OpenShot
- Desktops: Linux
- Development environment: NetBeans
- Office Router: DD-WRT
- Office server virtualization: KVM
- Mail server: Postfix, Dspam, Dovecot, RoundCube, Mailman
- Source Code repositories: gitolite
- Chat server: ejabberd
Where is the cloud?
We actually use a lot of cloud services. Many of the applications described here, we have running on servers in the cloud, rather than in our office. But ultimately, we use cloud services like we use commodity hardware, as a simple-to-replace container for our stuff. We generally avoid proprietary SaaS systems, though we have found ourselves using a handful:
- Google Docs, mainly for things like launch checklists where multiple people are editing at the same time
- Dropbox, mainly to get things from our clients (but our Dropbox is full so we can't share things back!)
- Evernote, for keeping notes in sync across devices (it mostly works fine in Linux using wine)
- Mailchimp, the headaches associated with managing newsletter delivery is well worth going to a commercial service
- Hootsuite, quite useful for aggregating and managing social feeds
- Trello, a Kanban board can be extremely useful for capturing the current state of various tasks
- SmartSheet, useful for having a somewhat smarter Google spreadsheet that can have several people involved at once, though we're finding we're moving back to our home-grown solutions as we figure out what exactly we need exposed in our dashboard.
- Google Hangouts/Skype -- while there are open source communication apps out there, they're useless if the people you want to talk to aren't on the other end. These both work great for video calls, and sometimes ok for screen sharing.
The problem with these systems is we don't own them -- which means they can be taken away from us at any point. We do pay for a few of them, but we don't put things on them we can't afford to move elsewhere -- for the time being, these just turn out to be the most convenient ways of solving some specific needs.
How can you "own" software? Haven't you read a licensing agreement recently?
This is the main point -- when you buy software, or a service, you don't own it. We've been trained by Microsoft and others to rent it for a while, but it's entirely at these companies' mercy. The tech landscape is littered with software that's been abandoned, and bitter users with little recourse -- so moving to SaaS means more exposure to these risks. At least when you installed software on your desktop it would mostly continue to work until you did an upgrade. When you're dealing with SaaS, the company upgrades whenever they feel like it and can choose to kill it entirely without YOU having any say in the matter.
Anybody remember Google Reader? Google Wave? Any of the hundreds of SaaS companies that went out of business?
But... with open source you can! Open Source software is software that YOU can control and YOU "own". You don't necessarily own the copyright to it, but you do have the ability to do anything you want with it, the same way you own other assets. With some similar responsibilities.
With open source software, you control when and how you update it. You can give away to others, sell it if you can get someone to pay for it, remodel, change, hire a contractor to work on it -- anything. You don't have to ask anyone for permission. You do have to take responsibility for maintenance, security, and keeping it running, but you can choose how and when to do that as well.
The risks of renting
With SaaS, you run the risk of your service provider closing, changing the service in a way you don't like, getting acquired, or any number of other changes completely outside your control.
You're also pooling your data with those of all the other users of the system, making it a much bigger target for hackers, spy agencies, advertisers, and other people who don't have your interests at heart.
When you purchase commercial software and run it locally, you're still mostly renting -- you can't necessarily change the software to meet your needs, or share it across your organization (or other organizations) without incurring licensing costs. The software isn't really yours the same way a house or a car can be yours -- you're limited by the terms of the license.
With open source software, nobody can take it away from you and you have no obligation to pay anyone anything to continue using it.
The costs of ownership
Microsoft used to whine about open source, trying to persuade people that it isn't really free. Well, it is free in a way that Microsoft software never has been -- it's free to distribute, use in any way you see fit, for as long as you want, without paying a license. But you also become an owner of your systems, and owning is generally much more expensive, at least in the short term.
Not because of the purchase cost, but because of the responsibilities you take on. Heartbleed? Shellshock? You now need to pay attention to the security of your systems and take responsibility for properly securing them. This often means paying a highly skilled IT professional to handle it for you.
There's also a cost in convenience. Open Source software has a different motivation than commercial software -- it's created to solve a specific problem. That's actually very different from the goal of commercial software -- to sell you something (or to sell you to somebody). Commercial software is usually far more concerned with making software that is attractive, and often easier to use, at least at the outset. Open Source software, on the other hand, often lacks the final polish -- developers get it "good enough" for their needs, and then move on to other problems, because they aren't necessarily getting paid to make it really nice.
But the real strength is that open source is often software done right. With less motivation to polish, open source projects thrive on creating the best overall solution for a problem.
Ownership is a long term value. Renting may be necessary in the short term, but you shouldn't mistake it for being something to build your business on.