One of my customers has a licensed software for business management and uses a SQL Server as database server (The database is open and I can run queries). They have a need that the current software does not satisfies and I would like to create a separate program to fill that need, using the same database that the program.

It is illegal or something similar if I do that and then reproduce the same "patch" to some of my clients?

Sorry about the question, I'm newbie on these topics.

  • 1
    You'd need to review the license agreement that the customer has signed for the vendor's solution, and assess options from there. It may be you can't write to it but instead write to a second db for your extension, that queries the licensed solution database. And ensure your reads are well-behaved (don't create locks and long-running queries etc)
    – sasfrog
    Jul 28 '16 at 3:16
  • 1
    Look into developing a relationship with the third-party app creator. Your clients are going to be stuck with version changes that may break your app. The company may refer you to other users who want customized features. Some companies like to bill for extra development and others avoid it like the plague.
    – JeffO
    Jul 28 '16 at 12:02

Correct me if I'm wrong:

  • Company A uses a third party software in their business

  • The third party software stores its data in mssql server

  • company A has contacted you to write some software which integrates with the third party software (via the database) lets call this the ' addon'

  • You want to sell this 'addon' both to your client and to other users of the third party software.

In my view there are two legal issues.

  1. Is your client allowed to make this add on at all by the terms of their licence of the third party software.

This is a relatively minor issue from your point of view in that its their problem not yours. IF you are simply doing a work for hire and not selling them a product. But even if you are selling them the product with suitable disclaimers about not working with upgrades, not being an official add-on etc. I wouldn't worry, as the third party is unlikely to care.

  1. Can you create the addon without it being a 'derivative work' of the third party software?

This is the major issue facing you. If you start selling this addon on the open market the third party will notice and may object. You may be causing them support issues or competing with one of their upgrades. Regardless of the legal technicalities its not a position you want to be in unless the business is worth a lot of money. ie. enough to pay for lawyers.

The best path for you I think would be to contact the third party and see if they have a framework for creating and selling plugins. Or will licence you to do this. Or will purchase the plugin from you as a one off.

But I would only do this if AFTER doing the first contract for company A. As the easiest thing for the third party to do is just say no. Which would put you in a difficult position re company A


If I understand your question (and I may not..) :

You need to clearly understand your relationship with your this "one of my customers".

If you sign over (or did sign over) exclusive copyrights to one customer for some software you write, you will not have the right to use that same copy with other clients. And if you are contracting for that one customer, it would be reasonable that the contract happens to specify exclusive (they own the copyrights for whatever you give them), unless you have pre-arranged something else.

You can, however, totally and from scratch rewrite the solution to use with other clients (I am not a lawyer, and, watch out for non-compete clauses).

On the upside, your second solution will probably be an improvement as you rewrite it from scratch. Once you do that you can make it clear to the other clients that you are licensing a program, and not source code in an exclusive manner.

  • "... your second solution will probably be an improvement as you rewrite it from scratch. " Your bank account will improve with all the billable hours until you discover you've underestimated the time needed and then hastily add a whole new bunch of buggy code that hasn't been field tested.
    – JeffO
    Jul 28 '16 at 11:59
  • @JeffO, If the programmer has done it once, they'll be much better at estimating a do over. And where does the "hastily add a whole new bunch of buggy code" come from? Have you never rewritten something with better understanding than the first time? Anyway, I only mention that as "upside" if the programmer is not in a legal copyright position. And, yes, of course, doing a deal to get copyright is another option.
    – Erik Eidt
    Jul 28 '16 at 15:12
  • 1
    Because the assumption is it will go faster and there is a tendency to add more features along with reliving all the pitfalls again is what can make rewriting an app worse. Yes, we've all learned from our mistakes and written something poorly, but for projects of any size that are working, a total rewrite rarely works.
    – JeffO
    Aug 8 '16 at 0:40

It depends entirely on the (legally-binding) agreement that you signed up to when you installed the software. These agreements typically contain clauses that preclude the "Reverse-Engineering" of the application or its Database, i.e. you finding out what's "in" either of them.

Just because you can read the database does not mean that you should.

Also, one of the [big] problems with packages is that the underlying data structures can change, without warning, from version to version, thereby breaking your "add-on" for both you and any "clients" to whom you've sold it. They would [rightly?] expect you to fix this in a [very] short time-frame, which could be difficult, to say the least.


If SQL is installed it is pretty fair to assume the customer has a license to access the SQL. It would be an odd license that only that vendor application can access the database. If that is the then even queries against the database would be violating the license.

Let assume it is OK to access SQL from a license perspective.

If you write a separate application then the vendor cannot do anything about that.

If you read data (which are are already doing with a query) that should not be a problem.

Write data, modify schema, or modify the database in any way is where the vendor could have a problem. That probably violates the maintenance agreement. They cannot be responsible for the application performing property if any data is modified outside the application.

If your software modifies the vendor software in any way then they are going to have a problem with that.

As far as "reproduce" license the software to the customer but retain ownership. You can then license to as many parties as you like. Talk to a lawyer.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.