We have purchased a fairly light-weight application that uses a database on SQL Server for its back-end.  This application has no API.  There is a small web-based feature we need to add, that can easily be added by connecting to the database directly.Generally speaking, and all issues relating to future schema changes aside, is this typically allowed by the software license?A co-worker made the argument that in the spirit of the software license, we are reverse-engineering their code.I hold the belief that it is our data in the database that we would be accessing and potentially modifying, no license is required for the actual data.  In addition, since we still pay for a license to use the software, that means we also have a license to use its schema, as the schema is part of the software.  It is also my understanding that it is common practice (at least, everywhere I have worked) to access an application's database directly for reporting purposes.Which is considered correct?  I am interested in input from both a legal standpoint, and an industry commonly understood standpoint.I also understand that this will vary from license to license.  I am looking for a general answer that will apply to most software.  Thank you.Edit: Perhaps another way to look at it...  What is generally considered acceptable?  Throw out the license agreement, since the legal question cannot be properly answered without the license.  As a developer, would you be unhappy with your users accessing the database directly?
Does directly accessing an applications database break the license agreement?
licensing
I also understand that this will vary from license to license. I am  looking for a general answer that will apply to most software.That's a contradiction. What you're allowed or not allowed to do with a piece of software depends specifically on the license. You really can't generalize something like that. You can say that in general you're allowed to make a backup copy for archival purposes, but that's because that right is written into copyright law. I don't believe that there's a similar provision governing an unintended use of a piece of software.If the license prohibits such use, you're in violation of the license if you do it. If it doesn't, then you're probably fine. Nothing else matters.And btw, I am not a lawyer. Talk to your lawyer if you need legal advice.