Perhaps this is not the right forum to ask this question but this situation has popped up recently and as the project manager, I am responsible for it.
More than a year ago, we developed an app which uses a library that was created by a third party developer. From the marketplace that it was released, it looked like the library was free. In fact, even looking at it now, it does look free.. except for only one page which says the Enterprise edition is not. This library was downloaded 2 years ago so my developer cannot remember whether those terms were added recently.
It is also not clear on that page what are the limits of the free edition which we are using now. At what point should we have upgraded to the Enterprise edition, I don't know. I cannot tell from the terms on that page. I have encountered other paid libraries that offer similar 'free' (or more accurately, trial) versions. After you reach the limits of free usage, those libraries show a message and no longer works. There is nothing like that for this library.
I've also looked at other libraries and it is pretty clear when a library is free and when it is not. In fact, it's also obvious when a library provides a trial version. However, for this library, the word 'Free' appears almost everywhere except for that one page. It seems almost deliberate.
So here we are more than a year in production with that library. Out of the blue, the developer contacts me and tells me I have to pay for the past usage. However, he tells me that if we sign up for a 2-year contract, out of goodwill the past charges will be dropped. Unfortunately the bill for that contract is a substantial amount.
What is surprising is when I asked him why is that for more than a year we weren't informed about this, he refuses to give me an answer. I am sure he wouldn't need a year to realise that we have exceeded the limits of the free edition of his library. Especially when he could tell me the precise usage of the library from the first month the app was launched, and that within that month we had already exceeded the limits.
What is best course of action to take? Our client is the actual user of this app and they will decide whether they will pay for this contract. I have a strong feeling they will rather do without the feature that the library provides than pay such a high fee. In that case, can the developer legally ask me to pay for the past usage?