0

Suppose there is an open source project (a collection of open-source repositories) on GitHub. Can we include closed-source software in the same open-source repository?

(Specifically I'm referring to this issue: https://github.com/riscv/riscv-compliance/issues/125#issue-657900613)

If it is optional, can it be included?

6
  • 1
    Have you read the GNU GPL v3 as you were pointed to in the responses received on Github? In particular, you want to read the last paragraph of Section 5. – Philip Kendall Jul 16 '20 at 14:57
  • @PhilipKendall, actually GPL is not really relevant to the issue since GPL is not use in that repo. I have changed my question now, since it was understood differently before. I am aware that open-source code can be used in closed-source projects. – Shashank V M Jul 16 '20 at 15:12
  • 1
    This question now is as general as "if I walk over a street, is it dangerous?" – planetmaker Jul 16 '20 at 18:26
  • @planetmaker, even if the question is general it can still be answered. If not, please comment on how I can improve my question – Shashank V M Jul 17 '20 at 5:42
  • 3
    Having looked over the linked Github issue, this looks sort of like a modern Java Trap where the use of a proprietary program is needed to make use of an open source component. (I don't know the tool in question so I can't say for sure.) It isn't a legal misrpresentation to say all the code lexically included in the repo is 100% freely-licensed, but is a philosophically significant misrepresentation if the code can't be meaningfully run without the use of external proprietary components. – apsillers Jul 17 '20 at 14:56
4

A single repository can contain multiple, independent, copyrighted works. There is no requirement anywhere that the contents of one repository must be under a single license. And independent works have the property that their copyright licenses don't affect each other.

Based on that, there is very little against a repository that contains both open-source and closed-source software.

The main thing to look out for is if the two pieces of software are not independent works under copyright but one is a derived work of the other. For derived works, the licenses do affect each other and you need to ensure that the license on the base work allows the creation of derived works and that the licenses are compatible with each other.

With permissive licenses, there is little problem with license compatibility but it is definitely a problem with copyleft licenses.

4
  • But usually the license is for the whole repo. How does that work out? Can the repo still have an open-source license? – Shashank V M Jul 17 '20 at 10:05
  • 2
    Technically, you can't mark the repo as having license X, because there isn't a single license X that applies to the whole repo. In practice, you can make it clear in the README or LICENSE file that different parts of the repo have different licenses and how to identify each part. And if there is a single license that applies to a large majority of the stuff in the repo, indicate that as being the repo's license in GitHub. – Bart van Ingen Schenau Jul 17 '20 at 10:22
  • @ShashankVM, with the "you can't mark the repo under license X" I don't mean it is blocked by GitHub, but rather that doing so would be lying if your repo has files under different licenses. The About section on Github might not be capable of showing a more complicated licensing situation. – Bart van Ingen Schenau Jul 17 '20 at 12:08
  • It won't be lying if the licenses are different but compatible. This is quite common for open-source projects. And the About section with the license has sufficient space. – Shashank V M Jul 17 '20 at 12:15

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.