I have forked an open source project after the original maintainer has not responded for almost a year. The original developer left things in a bit of a mess however, and while there is a LICENCE file with BSD-3 inside, there's an MIT licence in comments at the top of 2 files in the repository.

I'm planning on refactoring, and perhaps removing, these 2 files, but I'm not sure what happens to the licences within?

Should I just put both licences in the LICENCE file, or are they similar enough that I can put one or the other?

If putting one licence in, it seems BSD-3 is more restrictive, and hence that would need to be the one I put in the licence file, but the MIT licence explicitly says not to remove it. (Does that apply if I remove/refactor the files it is in?)

1 Answer 1


If the original author is not available to clarify the situation, the best thing you can do is assume that those two files were under the MIT license when they got added to the project and have been sub-licensed under the BSD-3 license when they became part of the project.

This means that for those two files, you must comply with the requirements of both licenses, which effectively means that you can't remove the MIT license from those files.

To keep the licensing situation manageable, I would recommend that you do not copy code from those two files into other files of the project, as you would have to copy the MIT license along with it. Otherwise, you can refactor as you like and if in the process one of those MIT-licensed files becomes obsolete, you can just delete it.

Besides that, it might be worthwhile to mention in the LICENSE file that those two files have been sub-licensed from the MIT license and that that license also applies to those two files, but not to the rest of the project.

  • The two files are really the majority of the project and there's a lot of specific data parsing code that I'm pulling out, which I can't really rewrite in a meaningful way. So I guess I'll just live with copying the MIT licence to each new file. It's a little ugly, but I'm sure my IDE can hide it. Many thanks!
    – dr-spangle
    Commented Feb 28, 2020 at 12:09
  • 1
    I was under the impression that you only needed to indicate that the files are under MIT somewhere in your project, but not produce the license in each file.
    – Max Xiong
    Commented May 22, 2020 at 15:00
  • @MaxXiong, it is recommended to hace copyright and license information in each file to ensure that the information doesn't get lost should the file get separated from the rest of the project. As the MIT license is not that long, there is no harm in replicating it in each file. Commented May 22, 2020 at 15:43
  • Yes I know about that. I'm just saying it's probably impractical to append the whole license if only several lines are used.
    – Max Xiong
    Commented May 22, 2020 at 15:47
  • @MaxXiong, what are you proposing then? Infringing on the license by not sticking to the rules the licensor has set for reuse of the code? At how many lines do you set the limit? Commented May 22, 2020 at 15:52

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.