Several years ago, I was working with a company that needed to change a program that was written by an outside contractor. Unfortunately, they weren’t able to do that. They ended up needing to pay to have the program completely rewritten.
The problem was that they only had the executable program, and not the source code.
If you don’t know what the difference is, think of the source code for a program as a recipe for a cake. The executable code is the actual cake.
The company had the program they could run (the cake), but they didn’t have the recipe for making the cake (the source code). If you want to change the executable code, you need to first change the source code and use the updated source code to build the new executable code. Just like if you want a different cake, you need to change the recipe and make a new cake from the recipe.
When the company wanted to modify the program, they discovered they didn’t have the source code. Soon after that, they discovered the contractor who wrote the program had since died of a heart attack and no one has the password to his computer. So, they couldn’t get the source code to the program they paid for.
Here is a simple way for you to setup a “source code repository” – like a vault for your programs’ source code. Your contract programmers can put their changes in it, so you can always rebuild the executable program.
You’ll also be able to share the source code with other programmers in case you ever want a different programmer to modify your program. So, you won’t be locked into using the original programmer, who may not be available or who may decide to increase their rates.
Here’s a video demonstrating how to create a private source code repository in GitHub, a free source code repository manager.
Please leave a comment if you have any questions about setting up your own GitHub repository.