I have a project that is currently licensed under the BSD 3-clause license, and I would prefer, going forward, to switch to the Apache 2.0 license. I plan on contacting the original contributors to see if they are willing to relicense their old code, but I am not counting on the majority of users doing so. However, this is not a major problem, since BSD and Apache 2.0 are compatible, so long as I retain the original copyright notice.
My question is, what's the best way to include the original copyright notice? Currently I have a single LICENSE
file that includes the BSD 3-clause license. I'm planning on adding an AUTHORS
file that will list all the contributors and which license their contributions are under (though this can also be inferred from the git history, if they haven't relicensed). The three obvious options are:
- Two
LICENSE
files -LICENSE
andLICENSE_OLD
(or something like this) - A single
LICENSE
file containing both the Apache 2.0 and BSD license with a notice about which applies to which parts. - A
LICENSE
file containing the Apache 2.0 license, plus anincluded_licenses/
folder (or equivalent) that contains the BSD license (plus any other copyright notices necessary if I include code from other permissively licensed projects).
My preference would be #2, but my main worry there is that when you use standard boilerplate, it's easier for githubGitHub or other programs to automatically categorize your project, and I fear that combining two licenses may cause problems down the line. #3 is fine but it does add a bit of clutter to the repo.
Are any of these approaches more standard than others? Are there any known tricky legal issues with any of them?