We are using an open sourced (Apache 2.0 License) OCR framework/library for a website. User uploads an image to our web portal, we send that image to the backend, which hands over that image to the library, the library scans the image for text and outputs the same, which our server sends to the frontend to be displayed to the user as text contained in the image he/she had uploaded.

We have made some custom changes to the library for our purpose. As far as we can see, there are two clauses we need to care about.

  1. License and copyright notice. Where do we show that here? On the frontend when the OCR text is displayed, like a footnote at the bottom of the textbox or something reading like "Made possible with {this library} under Apache 2.0 license"? If not so, how and where?

  2. State changes. Where do we state the changes? We are maintaining the modified library code in our own repo (not Github yet). Where do we state it? On the front end, like the above - "Made possible with a modified version of {this library} under Apache 2.0 license"? If not, how and where?

1 Answer 1


When you use this Apache-licensed library only in the back-end, and you don't distribute that library (no matter if changed or unchanged) to third parties (e.g. no public repository on GitHub), then you don't have to do anything. The Apache License only has obligations for you upon redistribution, but back-end use does not count as redistribution.

If you ever plan to redistribute the library, you must include all items that are listed in section 4 of the license. This is usually done by means of text files (.txt or .md) within the root folder of the repository or container used for distribution. There is no need to have any of that in the UI and also no need to include any of that in the output (the OCR-ed text) of your software.

  • Ah, great! No, we don't plan to redistribute any time soon. It is strictly for backend use in our own codebase, and the results will be served to the user. So you are saying we don't have to do anything for this? Even if we display ads on the frontend (website) and earn money? Mar 5, 2023 at 9:49
  • Yes, for the case you have described (pure back-end use of Apache 2.0-licensed code) you do not have to do anything at all w.r.t the license. Mar 5, 2023 at 11:13
  • Great, thanks, that was very helpful! Mar 5, 2023 at 12:06
  • Hey, one more thing, you mentioned public Github repo. Will a private one be okay? After all, all our code, including the modified library code (possibly with some or all of the resulting binaries), will be eventually source controlled via Git, albeit in a private paid GutHub repo. Will that be okay for our purpose, to not need to do anything extra to meet Apache license guidelines? Mar 5, 2023 at 12:13
  • 1
    The question is whether you make it available to 3rd parties (people outside your company) or not. Here you can see some details. When you create a private repository you are excluding the broad public. But still you could share access to that private repository with selected third parties, and the event of such a sharing would constitute 'distribution' and then you would need to provide the license, attribution and change information described in the Apache license. Mar 5, 2023 at 13:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.