Information about custom software services

1. We start with your needs. When you first contact me, you will give me a description of the program, feature, opcode, instrument, or interface that you need implemented. I will work with you to refine the description and come up with an itemized list of requirements for the project. This requirements list will be the "specification" that we will use to measure the completion status and success of the result.

2. We decide on a license for the final product. If the project is to be based on an existing piece of open-source software, then the modified program or add-on that I create for you will typically need to be licensed under the same license as the original. In some cases, it may be possible to use an even more protective license on the new software. If the final product of the project is a wholly new program, then you and I can choose together any appropriate free or open-source license that we can mutually agree upon.

3. I send you an estimate for time and cost. The estimate will be based on the requirements list and will include an approximate amount of time that I think each item will take to finish. A total time and cost for the project will be given and if you agree to this estimate, then we will proceed with implemention.

4. Then I build your custom solution. When I think it is ready, I will send it to you for testing. If there is a problem, I will work to resolve it until the original requirements list is satisfied and you can install and use the program successfully.

5. I deliver the final product to you and send you the bill. I will make the final executable form of the software and its source code available for you to download from my web site and I will send you an email invoice. You can pay by sending a personal check or money order to my postal address. Right now, I am not sure how to deal with checks from outside of North America, so please let me know if you cannot easily pay in U.S. funds before we begin – I am sure that we can find a solution.

6. Finally, the program may be released to the public. After you have received the final piece of software, I may take the time to make the entire program available for free distribution on some public web site. Whether I do this or not, the open-source license attached to the software will allow you to copy and redistribute the program as much as you like and to whomever you like. In all cases, I reserve the right to reuse all of the code that I have written for your project or any portion of it in future projects, public or private. In other words, I retain the copyright to all of my original work.

If you have questions about any part of this process, please email me. It is always possible that I will agree to some other set of terms if the circumstances warrant them.

Back to Services home