Relying on Startups

Today GoInstant announced that they are discontinuing service on August 31. We're sad to see them go, it was a great service. We are in the midst of an unprecedented boom in small startups offering developer-focused services. In the wake of a major closure, it's a good time to take a step back and examine some of the implications of this trend.

Developers are tasked with bringing the future to the present as quickly and cheaply as possible. As it turns out, developer time has become the most expensive cost of doing business for software companies. To that end anything we can find to save time, whether that's an open source library or a SaaS product, we use. This is not only natural, it's beneficial. It gets work done faster with less repetition. It lets us focus on our core competencies. It can also make our entire business hostage to external forces.

Control vs. Convenience

Any time you rely on an external vendor, you are giving up some amount of control. Think of it as a spectrum. On one end you run servers in your own data center with code written only by your team. On the other end, you outsource your development and operations to a consulting shop. Where you land on the spectrum depends on your comfort level but also often resource constraints. If you don't have a developer, you have to outsource. If you don't have ops expertise, you have to trust an infrastructure provider. And so it goes.

The changes we see today are analogous to the introduction of grocery stores to agrarian communities. We trade total self-reliance (the independent farmer) for beneficial interdependence. You don't have to grow carrots or milk cows, you just go to the store.

Grocery stores, unlike developer services, are fungible: if one goes out of business I can go to another and get the same thing. Proprietary developer services are not. You might think that today is a big win for Firebase, the closest direct competitor to GoInstant. You'd be wrong. The closure of a major service sows doubt in the entire idea of external reliance.

Restoring Confidence

GoInstant's closure is particularly problematic because of the nature of their service. More than an ancillary piece of customers' applications, GoInstant was the entire back-end. The closer to the core a service is, the more responsibility it has to reassure users of reliability.

There are several ways for companies to give users confidence in their offerings:

  1. Be obviously, insanely, publicly profitable in such a way that no one can doubt their longevity.
  2. Collaborate on interoperable standards of implementation of their services, such as OpenStack or web browsers.
  3. Rely on communities to create "meta-tools" that can swap one service for another, such as fog or
  4. Promise to open source their service should you ever go out of business.
  5. Build their platform on a foundation of open source from the start.

Of these options, the last is unquestionably the best for customers.

Open Source Software-as-a-Service

When we built the Divshot hosting platform, we knew that we wanted to offer more than just file serving. We wanted to support clean URLs, HTML5 pushState routing, and more. So we built superstatic. Superstatic is an open-source static file server that powers our platform but is in no way dependent upon it.

There are two reasons companies build proprietary platforms. One is to protect trade secret technology. The others is to force customer lock-in. Neither have the customer's best interests at heart. While I don't harshly judge all platforms that choose to go the proprietary route, I do look favorably on those who choose not to do so.

Remember that developers are largely buying for convenience, not capability. Open source libraries already exist for doing almost everything imaginable in software. Hosted services provide simplicity and external expertise on an a la carte basis. Loyalty trumps lock-in, and if the only thing keeping my customers on my platform is the headache of stripping out proprietary integrations, I'm doing it wrong.

To Our Customers: We are in it for the long haul, but sleep easy knowing that if things don't work out for us, you'll be ok. We aren't afraid to say that you could run Superstatic on any number of other platforms. We just run it better (and cheaper).

To Other Dev Services: More and more companies are relying on us to make their business work. We owe it to them to plan not just for the happy path but for the fearsome things that keep us up at night. Take this opportunity to reassure your customers that their business is safe in your hands. If you can do that by putting more open source into the world, all the better.