Parse Server: A Viable Open Source Platform?

Today, April 28th, 2016, Facebook announced that 9,500+ apps migrated off of Parse’s infrastructure onto their own private DBs. WoW! 500K claimed Parse apps => 9.5K apps with enough business to pay for DB storage.

No wonder they’re shutting it down.

My app, Spot marks the taX™ Residency App, is a proud member of the 9.5K Parse survivors. (By the way, as I have both a production and test server, I count as two of the above apps. What if those 9,500 Parse apps actually represent only 4,750 mobile apps?)

As a developer, you have to ask yourself about the viability of maintaining your app on the Open Parse Server. Open source software depends upon the kindness of strangers; people like me. (I have made extremely modest contributions to the Parse iOS SDK.) How many people are working on the platform? Github lists 66 people lead by non-Facebook employee, Florent Vilmart. The Facebook employed contributors are winding their contributions down. This is to be expected — Facebook is abandoning the platform.

The normal dynamic around open source platforms is that there is some strategic or tactical reason for companies to pay for engineers to modify and improve the code base. Do such reasons exist for the Open Parse Server? There were several startup announcements shortly after Facebook announced the demise of their service. But lets run the numbers. 9,500 apps have been moved into a self-managed situation. The vast majority of those are almost certainly running the DB themselves or on mLab.com or similar. In other words, these 9,500 developers are largely self sufficient. Will they fund contributions to the Open Parse Server?

I’m doubtful.

As a developer, you have to balance the costs you incur maintaining abandonware versus the costs of moving off of the platform. To my mind, the key determinant of whether to stay is the quality and quantity of folks maintaining your platform. On July 28, 2016 Facebook wants all of us to be running everything on our infrastructure. What happens if Mr. Vilmart is the only person contributing to the Open Parse Server? I think that means you pull the trigger to get off of Open Parse Server.

As a modest user of Parse functionality, I intend to continue to run my apps on Open Parse Server and mLab.com through the balance of 2017. I am building test apps that use different platforms — Amazon Web Services, Google Cloud Platform, or Microsoft Azure. In other words, I am moving to a large scale platform whose business is to support third party apps. Currently, the most complete of these serverless cloud platforms is from Amazon Web Services. Depending upon when I feel I need to pull the platform migration trigger, then the other two platforms should be quite a bit more mature. AWS is the serverless cloud architecture leader. If I had to move right now, I would move my apps to them.

What about all of the app server companies? Kinvey? Backendless? Others? If the least expensive, large scale MBaaS vendor, Parse, only had 9,500 commercially sustainable apps, then how stable can these other players be? What is their cash flow and profitability like? If it wasn’t viable for Facebook, why is it viable for these guys/gals? The big three above are just adding mobile device support to their existing stable of services; the marginal cost to them to support mobile apps is quite modest. They can stay in the game a long time. Can the small guys survive while the big guys encroach into their space? Are you going to bet your business on it?

As my app is stable, I am loathe to incur platform migration challenges. But I am planning to do so. I chose Parse so I could avoid running a platform. While Heroku and mLab are going to make running on their infrastructure painless, bit rot will set in. Node.js will improve. Apple WWDC is right around the corner; Apple will be introducing changes into iOS. Google I/O is also happening in May; Android will change. Will the Parse client SDKs survive the underlying platform mutation?

Platform maintenance is a real expense. Do you, as a Parse developer, want to incur it?