When you're copying open source from another project (not simply linking), how should you provide attribution in your source repo? I've copied some things into my code base that are probably not actually copyrightable (e.g., word lists), but I'd like to provide the appropriate attribution for the MIT/BSD licensed projects they were copied from. For example LICENSE
or LICENSE.txt
are common for your project's license, but what about attribution? Also, what's the minimal amount of text required?
3 Answers
[obvious disclaimer - I am not a lawyer]
A common practice I've seen is to add an additional file, e.g. NOTICE.txt with references to other projects being used.
For example, take a look at Apache Commons Lang (yes, I know it doesn't use the MIT license, it's just a really simple example for this practice, which holds for various licenses). It has a NOTICE.txt
file which states that it uses code from the Spring Foundation, the licensing terms it was used by, and a reference to the exact location in the code. If you look at that location in the code, you'll find the complete details.
I like to put it in README.md
. This file is displayed on the project page on GitHub, BitBucket, etc. Thus showing attribution to those interested in the project and source.
A single line should be enough:
This project is based on Project X. Thanks @developer for your hard work.
I researched this for a project I recently did as well. I unofficially forked a project, rewrote it and published it with some third-party stuff mixed in as well. In the end, I found a great answer on programmers.se that discusses adding in copyright notices in the right place. I followed this advice, and also added an AUTHORS file giving attribution to authors who had written code that wound up in the final source files. I put the information from their LICENSE files and a short blurb on their contribution there.
For third-party items, I added a "LICENSE.OTHER_PROJECT" in the same directory as the third party element. For example, I included a copy of a jQuery release for doing tests in my CSS selector engine and then testing the same data in jQuery. In that directory, I added a "LICENSE.JQUERY" file, copying the jQuery license into it. I personally believe this is more than sufficient.