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.
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.
- 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.
- 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.
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.