Legality of building a software application to access and write to a database which is created and distributed by a third party?
January 31, 2012 11:06 AM   Subscribe

Let me explain. Let's says company A sells to company B a system that includes an Microsoft Access database in order to run. Is it legal for company C to make a system that connects and writes to to company A's database without asking for company A's permission? I assume that since it's just a regular Access database, that anyone can read, it shouldn't be a problem right?
posted by exolstice to Computers & Internet (12 answers total) 1 user marked this as a favorite
 
This is what you have lawyers and contract for. No one can answer this without reviewing the contracts and licensing agreements.
posted by iamabot at 11:09 AM on January 31, 2012


I think you need to know what the licensing terms were for the system company A sold to company B. This question is not answerable.
posted by saeculorum at 11:09 AM on January 31, 2012


In a reasonable world company B would own the software they purchased and they would be able to hire company C to do whatever they want to it. Unfortunately, we live in a world of license agreements, so you need to go with saeculorum's answer.
posted by alms at 11:20 AM on January 31, 2012 [1 favorite]


So it is possible to have a license agreement for that sort of database (Access)? In other words, I could give a client an Excel spreadsheet and protect it via a contract and/or licensing agreement?
posted by exolstice at 11:23 AM on January 31, 2012


I could give a client an Excel spreadsheet and protect it via a contract and/or licensing agreement?

You can do whatever you want; whether the contract or licensing agreement is enforceable is another question entirely.
posted by dfriedman at 11:35 AM on January 31, 2012


(This is why the standard answer to these types of questions is: take the agreement in question to a lawyer and ask him what it allows you to do.)
posted by dfriedman at 11:35 AM on January 31, 2012


One way I've had to deal with this is by company A telling us (company B) that the database schema was proprietary (not to be shared) and any modifications or unapproved ways of interacting with it would torpedo any support we might need.
posted by idb at 12:15 PM on January 31, 2012


I assume that since it's just a regular Access database, that anyone can read, it shouldn't be a problem right?

Wrong. The contract could specify that the data must not be modified, or that it can only be modified by Company B's actual employees, or...any of the things being imagined above. You might have to stand on your head while reciting the national anthem for all we know.
posted by rhizome at 12:15 PM on January 31, 2012


I assume that since it's just a regular Access database, that anyone can read, it shouldn't be a problem right?

Legalities aside, one reason nobody wants to do this is support and data integrity - what if Clueless Monkey from company C trashes the data in a subtle way, and company A is stuck dealing with the aftermath a couple of years later when the mess is discovered?

If company A is in a continuing (i.e. support) relationship with company B, they have every right to refuse. A decent way to do this would be for company A to provide a safe, blessed API through which company C can access the data, but if you are using Access you probably are not at the level of technical complexity where such considerations are realistic.
posted by Dr Dracator at 1:05 PM on January 31, 2012 [1 favorite]


I suppose to a degree it depends on what sort of system you're building.

If you're building some internal-only utility that reads this database to do something or other, and no one outside of Company C will ever see it, you might be in the clear.

If you're creating a product for sale that is intended to incorporate Database A, you're almost surely not going to be able to distribute the database without permission [unless, of course, it's some sort of public domain database that Company A downloaded from the government or something].

If you're creating some sort of utility that will act on a customer's own copy of Database A, should they happen to have one, without distributing it yourself, you also might be in the clear. There are many commercial iTunes/iPhone utilities that use various Apple-supplied DLLs and databases without distributing those DLLs and databases. There are many training products for Microsoft development tools that work with this "Northwind" Access database, but none of them distribute it.

You should have a lawyer define those "might be"s, however.
posted by chazlarson at 1:08 PM on January 31, 2012


Is it legal? Sure. No law against it. Doesn't sound like you've described what even might plausibly be considered a violation of copyright or any other form of IP.

Is it permissible? No way of telling. As others have said, it all depends on the contracts involved. It might not even be the license agreement for the software as such. There could be some other contract between the parties that addresses the issue.
posted by valkyryn at 2:10 PM on January 31, 2012


Lots of end user license agreements include language prohibiting "reverse engineering". It's arguable that using perfectly ordinary database manipulation tools to investigate the database schema of a licensed database-based application constitutes reverse engineering of that application.

If I ran Company C, I would be contacting Company A, telling them that Company B has a use case that their existing software doesn't cover, and negotiating a licensing arrangement to let Company C provide software that meets those requirements. Best case scenario: Company A refuses permission and does it themselves, which means Company C doesn't need to waste its time fartarsing about with Microsoft Access.
posted by flabdablet at 4:35 PM on January 31, 2012


« Older Do I need these custom orthoti...   |  What is the best way to prepar... Newer »
This thread is closed to new comments.