I had an interesting situation come up recently and I think it could benefit you to hear about it. It’s sort of like a geeky, software developer version of the movie Weekend at Bernie’s.
A while back I was looking for some consulting work to fill some time between projects and get a little extra cash. I put together a list of local firms and began calling each one to see if they needed some help. About a dozen calls in I had some interest, so I interviewed with the CEO. We seemed to be a good match and I was told I would be working with their current software developer, who was in India. Let’s call him John to avoid specifics.
John was a US citizen and had been working with the firm for over 10 years. He went back to India because of his father’s declining health. He continued working remotely and the projects had been piling up – because in universal irony he had also gotten seriously ill.
So an email was sent to John… then another email… then a phone call with voice mail. Finally enough time passed that a client needed their project done immediately. We were in a bind though because only John had access to the software’s source code. In desperation I decompiled the existing libraries and made the changes to wrap up the project. It wasn’t ideal, but at least that project was done and the client was happy.
Then it was on to the next project which needed to be done… again, no word from John and no source code. So I decompiled the libraries and again made changes. This pattern continued as months passed by. Finally a project came along that was hosted on John’s development server, which no one had access to.
As you can imagine, the client was not happy, and began threatening legal action. We realized that actually quite a few clients had software hosted on this same server. Still no word from John… every contact email and phone number had been tried and many months had passed.
So I began to investigate the hosting situation for that server and realized that the billing would eventually lapse if John was dead. So we reached out to the hosting company several times, asking how we could gain access to that server. The only thing they could do, was tell us all the methods of password recovery that were supported for the account. Finally, by cobbling together various records we were able to perform a password recovery and gain access to the server.
“Don’t believe in miracles – depend on them.” – Laurence J. Peter
The story has a bittersweet ending. I was able to grab all the compiled libraries, decompile them, and save the day. As far as we can tell, John is dead. I’ve been doing consulting work for over 14 years and this is the first time I’ve encountered a situation this dire. I don’t want to point fingers or lecture about a general lack of responsibility. It’s true that many things could have been done to prevent this situation from happening to begin with – hindsight is 20/20 as they say!
If you’re going to hire, or have hired a software developer directly or indirectly, then you need to think ahead. This probably applies to more than software developers – all kinds of assets have source files.
You can hire a large firm for your projects, but even then it’s not impossible that an employee takes their work home, the company goes bankrupt, or is acquired and in the chaos you’re a low priority. Ask about getting the source code and/or periodic backups of files or database. Ask about your ownership: Can you take their work to a competing firm? Can you hire a consultant to help out on projects? Can your employees take over the project or contribute?
Things to Consider
Are you a business owner? Let’s get real for a moment about contingencies. What happens when you’re out of the picture? Get your will in order and specify what happens to your company. If you have customers, provide them with persistent access to the assets they paid for. If your services or situation are more complicated, here are some ideas I came up with while thinking about this topic:
- What if you were to form strategic partnerships with other firms who can provide business continuity or migration for your customers and services?
- If that isn’t a good fit, what if you hold your intellectual property in Escrow to be provided to customers or partners under certain conditions? Check out: http://www.ironmountain.com/Services/Technology-Escrow-Services.aspx
I hope you found this story interesting and learned a few things along the way. If you have something to add, or have encountered some similar situations, let us know in the comments!