I have a new project that will be open source, but want a fork to override some implementations just for me. (a package inside a Go project)

  • I am the copyright holder of the project (upstream)
  • I have chosen 3-Clause BSD, but I can change it to w/e, it's a new project
  • I am looking at forking the project into a private repo (downstream) and making the changes I need

Should I dual license the upstream work with BSD + Closed Source so the downstream gets both those licenses? Or can I just change the license in the derived work from BSD to Closed Source, applying to only the changed features? Would I have to explicitly state the license in every file at that point?

This isn't my forte and I appreciate any help in getting this right, thanks.

  • 2
    Does this answer your question? So the GPL doesn't restrict the creator of the software in any way? - exactly the same applies to BSD. Jan 19, 2023 at 14:47
  • If I understand this, it clarifies that copyright and license are two distinct concepts. With that in mind the 3-Clause BSD license mentions only copyright attribution, whereas Apache v2 specifically calls out giving other recipients of the work the license. Also interestingly in Apache 2.0 says, "...may provide additional or different license terms". So derived works from BSD and Apache can be closed source by anyone, not just the copyright holder. Am I understanding this correctly?
    – blu
    Jan 19, 2023 at 15:06
  • 1
    Correct; that is the major difference between a permissive license like BSD/MIT/Apache and a copyleft license like the GPL family. Jan 19, 2023 at 15:12
  • 1
    Great, thank you a bunch for talking me through this and providing the link
    – blu
    Jan 19, 2023 at 15:19


Browse other questions tagged or ask your own question.