Skip to content

Instantly share code, notes, and snippets.

@bbjubjub2494
Last active January 23, 2021 15:37
Show Gist options
  • Save bbjubjub2494/13bc725b95c0958393ecd76e69bc93fa to your computer and use it in GitHub Desktop.
Save bbjubjub2494/13bc725b95c0958393ecd76e69bc93fa to your computer and use it in GitHub Desktop.

MultiMC Licenses

Introduction

The purpose of this document is to argue what licenses should be advertised by the multimc derivation in Nixpkgs in its metadata field, in the interest of accuracy. I will read the copyright notices included by upstream to try and enumerate every license term that applies to the distributed package. (not necessarily the source code)

This was prompted by the following observation: at the time of writing, the metadata in Nixpkgs notes only the LGPL2.1+ license, but a cursory glance at the MultiMC source code seems to indicate that the Apache License is used, so the aforementioned metadata is likely incomplete.

SPDX short identifiers will be used as much as possible in this document.

Disclaimer

This document DOES NOT CONSTITUTE LEGAL ADVICE. Please retain a copyright attorney in your jurisdiction if you are looking for legal advice.

Please refer to section 5 of the license of this document for a full disclaimer.

Analysis

MultiMC per se

The first copyright notice refers to the Apache-2.0 license. If only one license is to be placed, it should be this one. Unambiguously, it covers all code written by self-identified "MultiMC Contributors" specifically for MultiMC. However, there are more notices covering other parts of the package.

MinGW runtime

This mention appears to be relevant only on Microsoft Windows given that upstream documentation recommends downloading it then. To my knowledge, Nixpkgs does not distribute the Windows version of MultiMC, hence it may be out-of-scope for this document. Nevertheless, I will note that this runtime's license is MIT.

QT 5

According to upstream, this is covered by LGPL-2.1-or-later.

libnbt++

The copyright notice matches LGPL-3.0-or-later.

rainbow (KGuiAddons)

The copyright notice matches LGPL-2.1-or-later.

hoedown

The copyright notice matches ISC.

Batch Icon Set

My assumption is that some of the icons in MultiMC come from or derive from this icon set. I cannot determine which ones do. I could not find the original set, only one reference to it.

This icon set is attributed to Adam Whitcroft and placed under a custom license that reads

You are free to use Batch (the "icon set") or any part thereof (the "icons")
in any personal, open-source or commercial work without obligation of payment
(monetary or otherwise) or attribution. Do not sell the icon set, host
the icon set or rent the icon set (either in existing or modified form).

While attribution is optional, it is always appreciated.

Intellectual property rights are not transferred with the download of the icons.

EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL ADAM WHITCROFT
BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, INCIDENTAL, CONSEQUENTIAL,
PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT OF THE USE OF THE ICONS,
EVEN IF LICENSOR HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

In my non-lawyerly reading, it allows derived works like MultiMC to be constructed and disseminated freely without attribution, but I cannot tell for sure. In particular, if a non-commercial clause is binding on MultiMC, this might be an issue.

Material Design Icons

the copyright notice matches OFL-1.1-RFN.

Quazip

The copyright notice matches LGPL-2.1-or-later.

xz-minidec

The copyright notice claims it is public domain.

ColumnResizer

The copyright notice matches BSD-3-Clause.

lionshead

The copyright notice matches MIT.

Conclusion

I collected the following licenses that I believe apply to the multimc derivation:

  • Apache-2.0
  • LGPL-2.1-or-later
  • LGPL-3.0-or-later
  • BSD-3-Clause
  • ISC
  • MIT
  • OFL-1.1-RFN

There is uncertainty in the Batch Icon Set section of this document.

Note that all GNU GPL licenses in this list have exception clauses that allow works to be combined into MultiMC without forcing it to adopt a GNU GPL license.

My final recommendation is to put either the first, the first three, the first six, or all seven of these licenses in the metadata field. In my opinion, this is much more accurate than status quo and probably more than accurate enough for our purposes.

Copyright

Copyright 2021 Louis Bettens

Creative Commons License

This work is licensed under the Creative Commons Attribution-NoDerivatives 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nd/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment