Client Licensing & Ownership of Software Created and Sold

I’m wondering what others here are doing as far as licensing software you create with Xojo.

For example, I have some applications I’ve developed that I would do minor customizations to sell to different businesses. I typically like to add my copyright message to anything that I write. Whether or not I display my message, I’d still want to retain the copyright on it. Unless of course someone is paying well enough to create and turnover the app, unlikely in my target market.

What do you do with your apps if you have situations like I just described?

  1. I never deliver the source code.
  2. I register my code with the government copyright office with my name or company name.
  3. If a client wants this system, I deliver contract rights and their limitations. I must have the signed acceptance document.
1 Like

Oh, I’d never deliver the source code for anything I’m selling. Since I’m in business for myself, I don’t answer to or have to turn over anything to an employer.

Good tips!

I think he means never deliver the source code to the customer.

I have a module that is included in every project. It includes a variety of utility functions, as well as an About method that can be displayed from the appropriate menu and contains my copyright info.


My clients technically own the code they pay me to develop, and I would turn over the source if asked (they rarely if ever do), but actually they don’t care about ownership, they only care about what the applications do for them. Much low-level code is shared, and costs would be much higher if I was somehow required to somehow make the source different for each client. It’s a win-win-win situation - clients get what they want, and costs are minimized. I couldn’t care less about putting my own copyright on any of it, I get paid for the work.


When I had my business, we asked a lawyer this question and he described it like this:

When a customer contracts you to write a piece of software for them, they are either buying a bunch of sticks or a bundle of sticks.

The bundle of sticks is a built app binary with no source code. Typically this is simply a cost of labor charge. If any changes need to be made, they come back to you for those changes at an additional fee.

The bunch of sticks is the entire sourcecode with licenses and/or license agreements to use any pre-made components freely in conjunction with this particular sourcecode (and distribution rights thereof). Because the customer technically doesn’t have to come back to you for changes, this way carries a significant upcharge, 3 to 5 times the cost of the bundle of sticks.


My thoughts exactly Greg! For what I have in mind however, and the target market I’m focused on, it’s probably best to think of it more like on off the shelf with minor customizations for each client. I don’t want to go into details on the customizations. I’ll just say that the meat of the code is done and stays the same. This keeps the cost down for the client and simplifies things for me since the hard work is only done once for each such app.

1 Like

FWIW, don’t sell the base product too cheaply. You did put a lot of work into that part too and should reap the benefits of having made it possible to make minor tweaks and just resell it. The customer doesn’t necessarily need to know that.

We made the mistake of not taking advantage of that model and it led to many lean times for my company. We did figure this out once we got involved in contracts for the government. It meant that we could crank some things out at breakneck speed and it was made clear to us that the speed (because it was templated) was also worth paying for. We made good money on those and it sustained us for many years.


Great point!

Most of my client work is bespoke web app builds in PHP, so the majority is very specialised to a specific client’s needs.

However, even with that I still have a clause in my contracts that says “rights to photos, graphics, source code, work-up files, and computer programs are specifically not transferred to the client, and remain the property of their respective owners”.

So this covers my source code, any licensed images or open source modules etc. All those remain the property of whoever holds the copyright and the source code remains mine. The client owns the copyright to the ‘assembled work’, which is the unique combination of my source code and their customisations, graphic design and text content taken as a whole (i.e. the web app / website). So I can’t just resell a project that uses their look and feel etc.

I’ve only had one client who kicked up a fuss about this and insisted they wanted complete ownership of every element within the project, including the source code. I explained to them that I use some open source frameworks, which obviously cannot be transferred to them and also I have several utility modules that are used in all my client projects, so I can also not give them exclusive ownership of those.

I pointed out that if they wanted me to complete the project using no open source elements and reimplement all the modules I’d built up over the years, from scratch, just for them, they’d need to multiply the budget by at least six. Eventually they saw sense.

1 Like

Thanks, this is really good info!