Publication Date: 12/8/2009 6:33:17 AM
Ask the programmer is a feature designed to answer questions from non-geeks about hiring and working with programmers. If you have a question, please email me at firstname.lastname@example.org.
Question: Why doesn’t your custom software contract grant my company ownership rights for the code. I’m paying for the software, shouldn’t I be the owner?
Answer: To start out, we need to have a common understanding of what is included in custom software. Most custom software is made up of several different things:
While all projects won’t include items from every group in the above list, most will include items from more than just the last group.
There are many benefits to using code provided by third parties. For example, last year I built an application that provides reports to users. If I had to build my own reporting engine, it would have substantially increased the time and effort required for me to create that software. Instead, I could take advantage of an existing component. That meant savings I was able to pass along to the customer.
I can’t grant “ownership” to something that isn’t mine. Any third party component or control (even an open source one) isn’t owned by me, so I don’t have any rights to do anything with that code other than what is spelled out in the license agreement.
And even for code developed just for this project, granting ownership to you would mean I could never use a snippet of that code in a future project. The idea of me using the same code in a project for another customer may seem scary, but it actually shouldn’t be. We’re not talking about re-using an entire application. Instead, we’re talking about small snippets of code.
For example, I might have a little code that calculates the distance between two cities. This code isn’t providing your company some kind of competitive advantage, and there is only a limited number of ways of writing code to do that. So I’m likely to use it in multiple projects. Giving you “ownership” would mean I could never provide that feature in another application.
This is why my custom software agreement provides me and my customer with a non-exclusive use license. They can use the software however they like (including taking the source code to another vendor for changes), and I can do the same. There are exceptions in how the software may be used, mainly involving competition. I can’t take the code and resell it to your competition without your permission, and you can’t use the code to compete with my services unless I’ve said it is okay.
Note: I’m not a lawyer. This isn’t legal advice. (How can you tell? I’m not charging you by the hour.)
Ask the Programmer
Mark W. Schumann
Your URL (optional):
Type the code shown
Top 5 Programmers to Avoid
What everyone should know about bugs
How to tell if an estimate sucks
The Secret to Building a Crappy User Interface
The Problem with Selecting the Lowest Bidder
5 Ways to Control Software Development Costs
As someone with over 20 years of software development experience
and currently a small business owner, it has been a pleasure working
with Avonelle. In addition to being a talented developer, Avonelle also
has database expertise and system design skills. Avonelle is open
minded and willing to discuss various methodologies for achieving a
project goal. She is also not afraid to ask questions which is vital in
a software development project. Her up-front project cost (not
estimate) is very helpful in budgeting for a project.
--Dwayne Wolterstorff, Owner @ Fair
Copyright © 2013 Avonelle Lovhaug. All Rights Reserved.
Sitefinity ASP.NET CMS