Big Fish is an app development company in Florida. We sometimes receive calls from companies that are not happy with the person or agency that developed their software, and they want us to take over.
We believe that when you purchase custom app development, you should be free to change providers if you are not satisfied. But, switching providers or moving development in house requires a full and complete copy of the source code.
Unfortunately, companies sometimes find out their source code is held hostage by the app developer they hired to create it. Switching to another provider will result in losing all, or part of the custom development they paid for; or comes with a high buy-out fee.
This is one part highway robbery, one part misunderstanding contract terms.
Here’s how you can prevent being held hostage by your app developer, and why it happened in the first place.
What You Need to Know Before Hiring an App Developer
App development is not everyday knowledge. The sad truth is, if you don’t understand it, you’re more likely to make the mistake of signing a contract that creates your own hostage situation.
Fortunately if you know a few technical details now, before you invest in custom app development, you’ll have the red flag sensors needed to sniff out a hostage situation before it happens.
Your mobile app has four components:
- The compiled app that is submitted to the app store and that users install on their smartphone
- The source code used to create that compiled app (this is where the money is)
- Any custom-developed APIs, or web services that the app depends on to function (also where the money is)
- The database(s) where all of the data used by the app is stored (ex. user account info, your product/service information, work orders, etc.)
- The compiled app is created by your developer from the source code. It is a single file and cannot (or cannot easily) be deconstructed back into source code.
- Some app developers give you a copy of the compiled app, but not the source code. This is where trouble can show up. If you don’t have a copy of the source code you can be held hostage.
How to Avoid Being Held Hostage by your App Developer
To avoid being held hostage by your app developer, you need:
- A copy of the full source code, including any custom-developed server-side applications, third-party software libraries and so on.
- All of the data used by your app (ex. user accounts, user-submitted information, photos, completed work orders, product/service information, etc.)
Before hiring a company to develop your app, ask them if you will receive those two things listed above. Also ask them to show you where it states this in the contract.
Red Alert: If they assure you that “you own the app”, ask them if they are referring to the full source code, or just the compiled app file.
5 More Ways to Prevent Being Held Hostage by Your Developer
1. Create your Apple Developer and Google Play Developer accounts
Ensure that your company creates your own Apple Developer and Google Play Developer accounts. The accounts are necessary to create app store listings for your app, and you’ll want them in your name so you have the lock and key.
You’ll invite your developers as users of these accounts so they can upload builds, and set up and manage your store listings.
It also makes sense to own your accounts from a branding and communications standpoint. You want the public to see your company name as the owner of the app, not your developer’s name.
Do not take shortcuts to avoid the trouble of creating your own account! At Big Fish we walk our clients through setting up the account so it’s easy.
The same “create your own” recommendation applies to any domain names you need for your business or app.
2. Ask your developer this question
“If we decide, in the future, to maintain this app in house, or hire another developer, will they have everything they need to recompile the app?”
But make sure the contract is also clear about this. See the next point.
3. Have your lawyer review the contract
If you’re hiring a company to develop custom software you should be paying for their services, not a product. The contract should include wording that specifies a “work for hire” agreement.
Also ensure that the contract assigns copyright of any custom-developed software to your company. If the contract talks about licensing the work to your company this is a red flag that they own it, not you.
A good contract lawyer is an invaluable resource at this stage.
4. Read this additional article we wrote about source code
I recommend also reading “Who Owns Your Source Code“.
It’s a quick read and does a great job explaining what source code is, and why “who owns it” matters.
5. Own your hosting account
Your developer may offer to host your server-side applications and databases on their own infrastructure. This is convenient because it gives them full access to everything they need to set up and manage your software and servers. Plus, they will be very familiar with the hosting environment they use, saving time and potential roadblocks in the future.
Using your developer’s hosting also saves you the hassle of some of the admin work and back and forth needed up set it up yourself and give them access.
If you’ve made it this far you’re probably talking to a company that has no interest in holding you hostage, and has safe guards in place to ensure you’re protected.
But, using your own hosting account also makes it a little easier to part ways should things sour with your developer.
How Your App Wound Up Held Hostage by Your Developer
a. You bought a platform-based app
The legit, but unfortunate reality is that you might not have actually purchased fully custom software. Some app and software companies create their own proprietary “platform” in house and run all the apps they sell off this platform.
They own the platform and your app requires it to function.
On that unfortunate day when you ask to cancel your services and receive the source code, you find out that won’t be possible.
A well-known example of such a platform is Salesforce. You can pay a lot to use it and have custom code written to run on it. But all that custom work is still created to run on the Salesforce platform. You can’t stop paying them and still use your Salesforce app.
It’s not just the big guys that sell platform-based software. Smaller local companies do as well. Simply ask the app development agency you plan to hire if they have their own proprietary platform that your app will run on. If they do, find out what happens if you want to move to another app developer .
b. You purchased a license, not ownership
Check your contract terms. Are you buying a license to their prewritten software suite, or are you buying custom-developed software? This is comparable to leasing a car versus buying a car.
Ask , up front, what you’re buying. Then explore the pros and cons of each for your company.
c. Your contract did not give you IP or ownership of the source code
This one was the focus of much of this article, so I won’t rehash it here. This is why it is so important to understand the difference between an app and the source code, and who owns what.
Consider this a precautionary article about something that does happen in our industry.
It happens in other industries as well…the web development agency that designs and develops your website but owns the code behind it, the graphic designer who gives you the final print-ready event poster, but not the source files needed to edit it next year. The bakery that sells you the cupcake, but not the recipe to make it.
It’s easy to see why a company would choose to have this policy. Some feel they have legitimate cause to hold back the source code and would say their clients are paying for the final file only. They consider the source their creation, to which they then own the copyright as the creator.
This is why it’s so important to get clear on whether you are
- buying a product that has been created for you (ex. a cupcake), or
- paying for a service and ownership of the output of that service (ex. a custom cupcake recipe)
Especially in the custom software development world, where you’re investing tens or hundreds of thousands of dollars. I believe it’s imperative that your investment is protected by contract terms that ensure you own the source code.