Consider a scenario with three products. X, A and B:

  • X belongs to my company and is not open source.

  • A is also not open source, but they have free version and paid version with different licenses.

  • B is under CC BY 3.0 US.

A uses B, and thus, it has to attribute B, which they do on their website.

Now X buys the paid version of A, so it gets a commercial redistribution license, which as per our understanding, does not require attribution to A given the product A is unchanged while being used in product X.

Product X is a paid, non a distributive product, but its services are used for others, but still not by others.

The question here is that do production X have to attribute to B, publicly? They clearly don't have to attribute to A publicly.

I asked this question on TNB and some discussion happened there.

For my specific case, product A is MaxMind GeoIP2 (scroll down for attribution to product B) and product B is Geonames and the commercial license of paid version of A, MaxMind GeoIP2, is here. But this question can be useful for anyone facing similar situation.

3 Answers 3


If you use A, which includes B, you need to follow the license of B insofar as you redistribute B as part of A. The authors of A can't legally give you the authority not to attribute B when you distribute A (unless A's authors worked out a separate licensing arrangement with the authors of B).

As for X, no attribution is necessary as long as no distribution occurs. Attribution requirements only apply when some copyrighted part of B is distributed to another party. If the company that owns X never distributes any part of B or any work that is a derivative of B under copyright law, then B's attribution requirements do not apply.

From the Creative Commonas FAQ (emphasis mine):

All of our licenses require that users provide attribution (BY) to the creator when the material is used and shared.

And from CC-BY 3.0 U.S., the attribution requirement in 4(b) states (emphasis mine):

If You distribute, publicly display, publicly perform, or publicly digitally perform the Work [...] or any Derivative Works [...] or Collective Works [...], You must [...] keep intact all copyright notices for the Work and provide, reasonable to the medium or means You are utilizing: (i) the name of the Original Author (or pseudonym, if applicable) if supplied, and/or (ii) if the Original Author and/or Licensor designate another party or parties [...] for attribution

The attribution requirement only applies to distribution or public display of the work, or of a derivative.

  • Ok. I think I followed this one. So if no distribution of code/product X (which directly uses A and thus indirectly uses B) happens, then no attribution is needed. Follow up - X is never distributed, X is an API server. Product Y owned by same author as X is distributed and it hits the X API server. Any attribution in product Y for A or B ?
    – Optimizer
    Sep 28, 2016 at 18:52
  • @Optimizer The only way Y could be subject to the attribution requirement of B is if Y is derivative of B. However, B is not part of Y; B is part of X. Everything you've said here indicates that Y is a different copyright work from X (despite their ability to programmatically interact). The requirements B imposes extend only to itself and its derivative/collective works, which does not appear to include Y.
    – apsillers
    Sep 28, 2016 at 19:01
  • Also just a note that it is true that if you distribute A, you must attribute B, but it's not clear to me that the non-free license of A would allow you to redistribute A in any case.
    – apsillers
    Sep 28, 2016 at 19:10
  • true, its confusing to me too, but that's what I understood from reading the commercial license of maxmind linked in the question now too.
    – Optimizer
    Sep 28, 2016 at 19:26

Just my opinion: Because "You ... publicly digitally perform the Work" of B, you must attribute B.

You can do that either by

  1. explicitly atributing B in your documentation, or
  2. by attributing A, even though that's not required, thereby implicitly attributing B.

I'd do (2) but it's your call. IANAL/TINLA (I am not a lawyer and this is not legal advice).

You should keep the copyright and original licensing intact in your source code, even though you are not distributing it, just in case you sell it or your company some time in the future. Since you are not distributing source, you will have to provide the attribution to your clients in any reasonable manner (such as your web site as your example A provided the code to you, documentation that accompanies your product, etc.).

  • But we are closed sourced. So both options 1 and 2 have to be done outside of code/documentation (somewhere publicly accessible), right?
    – Optimizer
    Sep 28, 2016 at 16:21
  • Yes, in "any reasonable manner" according to the cc-by-3.0-US license. Sep 28, 2016 at 17:40
  • ...but not necessarily "publicly", so long as you notify those to whom you distribute your product in some reasonable manner. Sep 28, 2016 at 19:39

A attributes B publicly because A is openly available and thus distributed publicly. A is available to everyone so the attribution to B must also be available to everyone.

You need to attribute B from X to everyone you distribute X to. If you only distribute X to a limited number of customers and not openly, you do not need to attribute B from X openly.

  • What if we attribute A from X to only customer to whom X is distributed to?
    – Optimizer
    Sep 28, 2016 at 18:47
  • Well, you actually don't attribute A. You attribute the copyright holders of A. And some of the copyright in A belongs to authors of B. So you need to give attribution to those authors somehow, that's the important thing. Sep 29, 2016 at 7:03
  • Lets say there is a hypothetical open source project which uses 10 other open source projects. These 10 other open source projects in turn use 25 in total products with CC by 3.0 US license. Now according to your comment, I would need to give attribution to all of these 25 projects?
    – Optimizer
    Sep 29, 2016 at 9:07
  • By I would need to give attribution.. I meant the first open source project that is using the other 10 open source projects.
    – Optimizer
    Sep 29, 2016 at 9:13
  • If you use a piece of software that has originally been released as open source you need to give attribution to the copyright holder of that software regardless of what happens inbetween the original release and you. Again, you don't attribute a project, you attribute a copyright holder. A big motivator of releasing your work as open source is that you should always get attribution when your work is being used (and distributed). There is no getting around this. Sep 29, 2016 at 9:53

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.