2

I want to use the dual-licensed git-filter-repo as a library in my proprietary and commercial application, by this I mean:

  1. I want to sell the application as a binary, executable or package but not disclose its source code.
  2. I want to make money from this application.
  3. I want to provide warranty and support for this application on various support plans that the users opt-in to.

git-filter-repo is dual licensed as such:

  1. Main license file stating that most of the files under the repo are provided under the MIT Licence. I am interested in the git-filter-repo file, which I think is provided under the MIT License.
  2. The MIT License file.
  3. The GPL License file.

The project is still in planning phase hence I am experimenting before actual implementation and I do not want to break any license compliances.

There are two main ways in which I plan to use the git-filter-repo software:

  1. Call as a subprocess from my application:

    subprocess.run(['git-filter-repo', *args], check=True)
    
  2. As a library:

    import git_filter_repo as gfr
    

I need clarification on:

  1. Do I need to open source my application if I used any of the above mentioned usages, i.e. subprocess or library?
  2. If I am required to open souce my project then which license should I use so that it allows me and only me to sell my application as commercial and proprietary so that I can earn from it?
  3. Can I still keep my source closed if there is some other way to use git-filter-repo apart from the subprocess or library call?
  4. Can I obtain patent on my application design and/or code if I used git-filter-repo internally as mentioned above?

I have already been through:

  1. Using an MIT licensed library in my project. This question only talks about MIT License and not dual-license and I am not able to understand whether I need to open-source/link the source-code of git-filter-repo alongwith my code's documentation or user manual.

  2. Is it legal to use GPL code in a proprietary, closed-source program by putting it in a separate, standalone program?.

    2.a) Do I need to open-source my own application if I used the git-filter-repo as a library or a python import?

    2.b) What are my obligations?

  3. How to manage multi-licensed components in a project. As git-filter-repo is dual-licensed, according to the answer to the question above, can I assume the MIT-license since it looks more permissive towards closed-source proprietary commercial software than GPL?

Any help is appreciated.

6
  • These are all great questions for your lawyer. Commented Dec 19, 2024 at 18:13
  • For clarification question 2, it depends on the license. If the code is coming from GPL or similar copyleft licenses, you can't change the license to do what you want. For your linked questions, the answer for #2 seems quite clear. As @bdb484 suggested, talk to your lawyer. Commented Dec 19, 2024 at 18:47
  • For patent issue see here: google.github.io/opencasebook/patents/#mit-license But really obtaining a patent means $$$ and patent lawyer, so you can probably leave it up to the lawyer. Commented Dec 19, 2024 at 18:58
  • @doneal24 this one is under a close vote for being a request for personal legal advice. Commented Dec 19, 2024 at 19:37
  • 1
    The library seems to be licensed under MIT license, as stated in the very first sentence here. Only the testing parts, which are likely not delivered with your code, might be under other licenses. It is not dual-licensed. Therefore, only the requirements/limitations of the MIT license are relevant for you. You might want to revise your question. Commented Dec 20, 2024 at 8:51

1 Answer 1

2

git-filter-repo is not actually dual-licensed, but it contains different parts that are provided under different licenses. If software is dual-licensed, then you get to choose which license to follow, but that is not the case here.

  1. Do I need to open source my application if I used any of the above mentioned usages, i.e. subprocess or library?

The part of git-filter-repo that you intend to use is under the MIT license. That is a permissive license that allows reuse in closed source commercial projects.

  1. If I am required to open souce my project then which license should I use so that it allows me and only me to sell my application as commercial and proprietary so that I can earn from it?

Such restrictions are not compatible with open-source. If you had been required to make your project open-source, then it would not be possible to restrict others from making money with the code.

  1. Can I obtain patent on my application design and/or code if I used git-filter-repo internally as mentioned above?

Patents are granted for innovative ideas. You can use open-source code in patents, but they are not easy to obtain in any case.

3
  • Thanks for your answer. I gather that the file I am interested in (the git-filter-repo file), is provided under the MIT License. What are my obligations as a user of this file if I wanted to use it as a subprocess/library/source? Commented Dec 23, 2024 at 4:56
  • 1
    @SuhasSrivastava The MIT License is fairly easy to read and understand. If there is anything specific in the MIT License where you need explanations, then please ask a new question. Commented Dec 23, 2024 at 9:09
  • I was a bit surprised to read "different parts that are provided under different licenses" where one of licenses is the GPL. Having looked at the COPYING file for git-filter-repo, it seems the only GPL code is in tests, which the MIT code is likely not derived from. Just posting here in case anyone else has a double take on that sentence. Commented Jan 16 at 17:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.