Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create THIRD_PARTY.md for external code handling #435

Merged
merged 1 commit into from
Jun 15, 2024

Conversation

winterheart
Copy link
Collaborator

Pull Request Type

  • GitHub Workflow changes
  • Documentation or Wiki changes
  • Build and Dependency changes
  • Runtime changes
    • Render changes
    • Audio changes
    • Input changes
    • Network changes
    • Other changes

Description

Added all external code and license notices. Install THIRD_PARTY.md on installation step.

Related Issues

Closes #429.

Screenshots (if applicable)

Checklist

  • I have tested my changes locally and verified that they work as intended.
  • I have documented any new or modified functionality.
  • I have reviewed the changes to ensure they do not introduce any unnecessary complexity or duplicate code.
  • I understand that by submitting this pull request, I am agreeing to license my contributions under the project's license.

Additional Comments

Copy link
Contributor

@Jayman2000 Jayman2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR would benefit from a more in depth commit message. At the moment, the commit message explains what the changes are, but it doesn’t explain why the changes were made. Here’s a list of things that I would include in the commit message:

  • I would include an explanation of what the problem in Fixed failing MSVC build #429 was and an explanation of what the commit does to fix it.
  • I would also include an explanation of why the third_party_licenses/ directory was replaced with THIRD_PARTY.md. (Personally, I would rather keep each license in its own file, but if there’s a good reason to put them all in one file, then I’m all ears).
  • I would also include an explanation of why the MIT License was chosen for stb. The upstream stb repo says “This software is available under 2 licenses -- choose whichever you prefer”, and this PR chooses one of the licenses over the other. I would add an explanation of why one of the two licenses was included in THIRD_PARTY.md but not the other.

THIRD_PARTY.md Outdated Show resolved Hide resolved
Added all external code and license notices. Install THIRD_PARTY.md on installation step.
@winterheart
Copy link
Collaborator Author

STB licensed under MIT because MIT is compatible with GPLv3, while public domain may require additional explanations for re-licensing. I prefer to use clear statement on license compatibility.

@Jayman2000
Copy link
Contributor

STB licensed under MIT because MIT is compatible with GPLv3, while public domain may require additional explanations for re-licensing. I prefer to use clear statement on license compatibility.

I agree that the MIT License is clearly compatible with the GPLv3. After all, the GNU Project has an official GPL compatibilty list, and the MIT License is on that list. That being said, I don’t see why a public domain dedication would require additional explanations. That same GPL compatibility list specifically says both public domain code in general and Unlicensed code in particular are GPL compatible.

What makes the MIT License’s GPL compatibility more clear than the Unlicense’s GPL compatibility?

@Lgt2x
Copy link
Collaborator

Lgt2x commented Jun 13, 2024

STB licensed under MIT because MIT is compatible with GPLv3, while public domain may require additional explanations for re-licensing. I prefer to use clear statement on license compatibility.

I agree that the MIT License is clearly compatible with the GPLv3. After all, the GNU Project has an official GPL compatibilty list, and the MIT License is on that list. That being said, I don’t see why a public domain dedication would require additional explanations. That same GPL compatibility list specifically says both public domain code in general and Unlicensed code in particular are GPL compatible.

What makes the MIT License’s GPL compatibility more clear than the Unlicense’s GPL compatibility?

GPL MIT is less problematic than the unlicense (not strictly equivalent to public domain) for a number of reasons [¹]

@Jayman2000
Copy link
Contributor

What makes the MIT License’s GPL compatibility more clear than the Unlicense’s GPL compatibility?

GPL is less problematic than the unlicense (not strictly equivalent to public domain) for a number of reasons [¹]

If that’s the reason why this PR only uses the MIT License for stb, then I would put that reason into the commit message. I think that that reason is stronger than the clarity thing, although I still don’t fully understand the clarity thing.

Copy link
Collaborator

@Lgt2x Lgt2x left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, files install correctly

@Lgt2x Lgt2x merged commit 05d70f6 into DescentDevelopers:main Jun 15, 2024
12 checks passed
@winterheart winterheart deleted the third-party branch August 12, 2024 20:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants