Unless you’ve had a bad experience that put it on your radar, or you’re a software developer, “source code” isn’t exactly a topic that makes the rounds at dinner parties.
But, if you’re planning to hire an app development team to develop a custom mobile app for your company, source code is a topic that you must discuss before you get started.
What You Need to Know About Source Code
1. What is source code?
Source code is software code written by your app developer, and consists of the commands and instructions behind your mobile app.
There are many programming languages that software code can be written in, such as Swift and Dart.
Here is a snippet of source code that prints the statement “Hello World!”.
class HelloWorld { public static void main (String[] args) { System.out.println ("Hello World!"); } }
2. How source code is different from an app.
Although a software developer can read and write software source code – a smartphone (or computer) can not.
In order to make the source code readable by a smartphone, your app developer will compile it.
This process of “compiling” converts the source code into machine-readable code.
The result is a single package (your app), which can be uploaded to the App Store and installed on a mobile device.
Think of it this way – source code is like a cupcake recipe. The compiled app is the cupcake.
3. Why source code matters.
Are you buying the cupcake recipe or just the cupcake?
When hiring an app development company to create your custom mobile app, it’s important to understand their policy on source code, and what the contract says about it.
The source code is the cupcake recipe, the compiled app is the cupcake. Are you buying the cupcake recipe, or just the cupcake? Share on X
Let’s play worst case scenario for a minute.
You hire a developer to create version one of your mobile app. You’ve paid all the invoices, and the app is available for download in the App Store or Google Play.
But, your experience working with this developer was poor, so you find another developer the next time you need new features added. In order to update your app, the new developer needs a full copy of the source code.
So you contact your original developer and ask for the source code. They won’t provide it. You find out the contract you signed only gives your company rights to the compiled app, not the source code.
How to Make Sure You Own Your App’s Source Code
Don’t let that worst case scenario happen to you. Here are some pointers, and questions to ask your app developer, before signing a contract.
1. Ensure you’ll receive a full copy of the source code for your app.
- Ask whether you will receive the source code, or just the compiled app.
- Will you receive the complete source code needed to recompile the app, or will parts be withheld (see the Software Libraries section below)?
- Don’t just take their word for it, review your contract to make sure that ownership is clearly defined.
Without a complete copy of the source code, you could be held hostage by your app developer. Have your attorney review the contract to be sure that ownership passes to your company after payment is made in full.
2. Ensure you receive exclusive ownership of the source code and app.
- Will you have exclusive ownership of your app, and any custom code written, or could the developer resell your app to another company in the future?
This is the difference between buying “off the shelf software” (developed once and sold to many), such as Microsoft Office, versus software that has been custom-developed for your organization.
Microsoft doesn’t sell you the source code behind Microsoft Office, you buy the cupcake. And, they sell those cupcakes to many other people. That’s why Microsoft Office costs so little, compared to custom software.
3. Ask your developer about their policy on software libraries.
A software library is a collection of functions and software code that a developer may use to avoid writing certain features, from scratch. This could be a feature you need that would otherwise take weeks or months to develop from scratch. It can be a desirable way to save you time and cost in the development process.
Examples of software libraries include those for providing barcode scanning functionality, DICOM viewers and libraries for displaying graphs and charts. Some software libraries are ubiquitous – for example, certain iOS libraries are required in every iOS app. Your app couldn’t exist without these.
- Ask your developer about their policies around using software libraries in client projects.
- Ask them if you’ll receive the source code for any software libraries used and the rights to it for the purposes of your app.
In the cupcake analogy, the software library would be a special mixture of flour created from rice flour and coconut flour. Will you receive a copy of this special flour recipe or just the instruction to use flour?
Our Source Code Policy at Big Fish
At Big Fish we believe our clients should own the source code they hire us to write. Our contract states that:
- All source code and documentation developed by Big Fish, for our client, is the sole and exclusive property of our client.
- Our clients will receive a copy of the source code for any software libraries used.
- You receive the compiled app , and ALL the source code.
Do you know who owns your source code?
Time to find out.