Almost all popular open source licenses require derivative works to give attribution to the original author(s). The only exceptions I'm aware of are the nearly-public-domains ones (CC0, WTFPL, Unlicense). Even very permissive licenses like MIT and BSD require attribution.

Are there legal reasons why most licenses include attribution requirements? Or is it just a case of "most people want to be attributed"?


I think it is because it help enforcing the licenses.

Only the copyright holder can enforce the license, so you need to know who are the authors. Attribution help keeping the authorship clear and know.

The license you listed are "unlicenses", so there are no requirements, they just assure you that there will be no enforcement of copyright.

  • 2
    And to add to this, the source code is still copyrighted whether it's attributed or not. But if the copyright notice isn't included, it's very hard to know who owns that copyright. – Tim Malone Jun 11 '16 at 23:37
  • You're kind of right, but you're missing the biggest component: the legal part in this. – Zizouz212 Jun 12 '16 at 17:36

I consider that attribution is the essence of free and open source licensing.

It is also an important part of the FOSS bargain: I give you my free code and in exchange I get credited for this gift.

But there are other practical aspects to attribution. Let's assume first that my code contains third-party code.

At heart attribution is about communicating to my users the licensing terms of the third-party code that I redistribute. Therefore all bona fide FLOSS licenses require some type of attribution, if anything to ensure that I communicate the licensing terms of third-party code to the recipients of this code including the all important warranty disclaimers.

As stated above, attribution is also about giving due credit to the authors of the third-party code that I leverage (which may or may not be required by a license); this is:

  • part of the bargain for me receiving free code
  • the right thing to do
  • the thing I would appreciate others to do when they reuse my own code

Attribution can take several forms and some licenses are very prescriptive about attribution requirements stating which forms it should take, where and when it should be provided or displayed, whether it is required or optional, or applies to source code and/or binary code redistribution, should be present in the documentation, in the UI, etc.

In its minimal form it requires at least to communicate the original license terms as a notice and in many cases the whole text of the license.

To be correct, complete and do the right thing, I would also:

  • specify who this attribution is for: the simplest form would be a copyright statement.
  • specify which code this attribution applies to.

Without a proper copyright statement, an attribution would be moot and meaningless as the recipient would not know who I attributed.

Without a proper statement of which code the attribution is for, an attribution would have not much substance as the attributed code would be undetermined.

In general, the requirements are rather simple and easy to comply with and some licenses like the GPL are more prescriptive and explicit in their requirements.

Note: I copied and adapted part of my answer to this other question here as I felt it was relevant.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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