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?