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

Update legal.md #3086

Merged
merged 3 commits into from
Oct 16, 2023
Merged

Update legal.md #3086

merged 3 commits into from
Oct 16, 2023

Conversation

thehale
Copy link
Contributor

@thehale thehale commented Sep 2, 2023

On July 31, 2023 @abbycabs asked me to review the legal article on Open Source Guides for tweaks and improvements.

This PR...

  • Simplifies the legalese in a few places.
  • Adds more links to licenses and data behind various claims.
  • Adds more descriptions for different classes of licenses.
  • Improves internal linking within the article.

For now, I'm keeping this in draft status to (1) allow for more discussion about the changes and (2) give time to flesh out the new litigation section (if we decide to pursue it).

Checklist

  • Have you followed the contributing guidelines?
  • Have you explained what your changes do, and why they add value to the Guides?

Please note: we will close your PR without comment if you do not check the boxes above and provide ALL requested information.


- Simplify the legalese in a few places
- Add more links to licenses and data behind various claims
- Add more descriptions for different classes of licenses.
- Improve internal linking within the article.
@thehale thehale temporarily deployed to Pages Preview September 2, 2023 23:24 — with GitHub Actions Inactive
On the other hand, if any of your dependencies' licenses are "strong copyleft" (also gives public same permissions, subject to condition of using the same license downstream), then your project will have to use the same license. Common strong copyleft licenses include GPLv2, GPLv3, and AGPLv3.
* **"Permissive" licenses** give you permission to use, modify, and share the library without any conditions on how you license your project. Common permissive licenses include [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), and [BSD](https://choosealicense.com/licenses/bsd-3-clause).
* **"Limited copyleft" licenses** (sometimes called "weak copyleft") are similar to permissive licenses -- generally your project can use whatever license you want -- but modifications to the library itself must be shared under an identical/compatible license. Common limited copyleft licenses include the [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) and the [LGPL](https://choosealicense.com/licenses/lgpl-3.0/).
* **"Strong copyleft" licenses** also give you permission to use, modify, and share the library, but only if your project uses an identical or [compatible license](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses). Common strong copyleft licenses include [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), and [AGPLv3](https://choosealicense.com/licenses/agpl-3.0).

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The long parentheticals defining each class of license break the reader's concentration. By re-writing in bullet point form, there's more space to explain without creating a wall of text, and it matches the layout of the following communities section.

I also added details about "limited copyleft" licenses to bring greater awareness to their unique properties. I deliberately chose the term "limited copyleft" to emphasize the limited reach of their copyleft provisions (the distinguishing characteristic of these licenses). The more common term is "weak copyleft", but I have seen that term prompt faulty impressions that such licenses somehow only provide "weak/less-enforceable" copyright protections.

Copy link
Contributor

Choose a reason for hiding this comment

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

Get the parens aren't ideal but feel like the bullets make it less obvious what the connection between dependencies' licenses and your project are. And I don't think it's really necessary to introduce the concept of limited or weak copyleft at this point.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Good feedback. My edits shift the focus back towards the ramifications of a dependency's license on the larger project.

I still think it's helpful to briefly distinguish between strong/limited copyleft licenses since their requirements for downstream project licensing differ so widely. That was a big point of confusion for me when I started out in open source. Additionally, including the distinction here prepares the reader to understand the discussion a few paragraphs later of why some companies want a "strong" copyleft license.

The linked article about the "additional rules" of limited copyleft licenses is from FOSSA, a blog about open-source licensing. I am not affiliated with them, just a fan of their detail and approachability.

_articles/legal.md Outdated Show resolved Hide resolved
_articles/legal.md Outdated Show resolved Hide resolved
@thehale thehale temporarily deployed to Pages Preview September 2, 2023 23:49 — with GitHub Actions Inactive
@abbycabs
Copy link
Member

abbycabs commented Sep 3, 2023

Tagging @karasowles while I'm on leave! I believe she scheduled a followup call with all the writers.

Cc @leereilly

_articles/legal.md Outdated Show resolved Hide resolved
Copy link
Contributor

@ahpook ahpook left a comment

Choose a reason for hiding this comment

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

Hi @thehale, sorry this PR has languished - It didn't register on our automation. This all looks great and I appreciate your commentary on why you made the edits you did. You mentioned adding a reference to a copyright/attribution project, do you want to add that inline before merge? If so, go ahead and do so - if not, I'll merge this as-is. Thank you!

@thehale
Copy link
Contributor Author

thehale commented Sep 28, 2023

Thanks! I'll add the link by this weekend, then move the PR out of draft status.

Git Authorship is a project that helps maintainers identify the
individuals who have committed code present in the current version
of the project.

Added with the permission of @ahpook to avoid "self-promotion"
concerns since this is one of my own projects.

The commented section at the end of the article discusses ideas
for future additions to this article.
@thehale thehale marked this pull request as ready for review September 30, 2023 17:43
@thehale thehale requested a review from a team as a code owner September 30, 2023 17:43
@thehale thehale temporarily deployed to Pages Preview September 30, 2023 17:44 — with GitHub Actions Inactive
@thehale thehale requested a review from ahpook September 30, 2023 17:58
Copy link
Contributor

@mlinksva mlinksva left a comment

Choose a reason for hiding this comment

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

Thanks for the tweaks (I wrote most of the original text and yeah do overuse parentheticals)! Misc tweak-tweaks.

_articles/legal.md Outdated Show resolved Hide resolved
_articles/legal.md Outdated Show resolved Hide resolved
_articles/legal.md Outdated Show resolved Hide resolved
On the other hand, if any of your dependencies' licenses are "strong copyleft" (also gives public same permissions, subject to condition of using the same license downstream), then your project will have to use the same license. Common strong copyleft licenses include GPLv2, GPLv3, and AGPLv3.
* **"Permissive" licenses** give you permission to use, modify, and share the library without any conditions on how you license your project. Common permissive licenses include [MIT](https://choosealicense.com/licenses/mit/), [Apache 2.0](https://choosealicense.com/licenses/apache-2.0/), [ISC](https://choosealicense.com/licenses/isc), and [BSD](https://choosealicense.com/licenses/bsd-3-clause).
* **"Limited copyleft" licenses** (sometimes called "weak copyleft") are similar to permissive licenses -- generally your project can use whatever license you want -- but modifications to the library itself must be shared under an identical/compatible license. Common limited copyleft licenses include the [MPL 2.0](https://choosealicense.com/licenses/mpl-2.0/) and the [LGPL](https://choosealicense.com/licenses/lgpl-3.0/).
* **"Strong copyleft" licenses** also give you permission to use, modify, and share the library, but only if your project uses an identical or [compatible license](https://www.gnu.org/licenses/license-list.en.html#GPLCompatibleLicenses). Common strong copyleft licenses include [GPLv2](https://choosealicense.com/licenses/gpl-2.0), [GPLv3](https://choosealicense.com/licenses/gpl-3.0), and [AGPLv3](https://choosealicense.com/licenses/agpl-3.0).

Copy link
Contributor

Choose a reason for hiding this comment

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

Get the parens aren't ideal but feel like the bullets make it less obvious what the connection between dependencies' licenses and your project are. And I don't think it's really necessary to introduce the concept of limited or weak copyleft at this point.

_articles/legal.md Outdated Show resolved Hide resolved
@github github deleted a comment Oct 2, 2023
@github github deleted a comment Oct 2, 2023
@ahpook
Copy link
Contributor

ahpook commented Oct 2, 2023

Thanks for the update @thehale. Looks like you got a few helpful improvements from @mlinksva code review - care to address those, and we'll merge this in?

@thehale
Copy link
Contributor Author

thehale commented Oct 2, 2023

@ahpook, Yep I saw the great feedback from @mlinksva, but it will be a least few days before I can incorporate his recommendations. Hoping to have it done by this weekend.


Alternatively, you can have contributors agree in advance (via an additional contributor agreement -- see below) to certain license changes under certain conditions, beyond those allowed by your existing open source license. This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
Alternatively, you can have contributors agree in advance (via an additional contributor agreement -- [see below](#does-my-project-need-an-additional-contributor-agreement)) to certain license changes under certain conditions, beyond those allowed by your existing open source license. This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
Copy link
Contributor

Choose a reason for hiding this comment

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

I suggest putting "see below" in brackets here too as you did below.

Suggested change
Alternatively, you can have contributors agree in advance (via an additional contributor agreement -- [see below](#does-my-project-need-an-additional-contributor-agreement)) to certain license changes under certain conditions, beyond those allowed by your existing open source license. This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.
Alternatively, you can have contributors agree in advance via an additional contributor agreement ([see below](#does-my-project-need-an-additional-contributor-agreement)) to certain license changes under certain conditions, beyond those allowed by your existing open source license. This shifts the complexity of changing licenses a bit. You'll need more help from your lawyers up front, and you'll still want to clearly communicate with your project's stakeholders when executing a license change.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Originally, I only linked up the existing text. In the latest edits, I took your re-write a few steps further to remove redundant clauses.

e.g. "under certain conditions" and "beyond those allowed ..." are already implied by the need for a separate contract.

@ahpook
Copy link
Contributor

ahpook commented Oct 13, 2023

@thehale it's a friendly Open Source Friday ping on this PR! Looks like all the comments have suggestions that would be straightforward to batch-commit - could you click through them and update your branch? We can iterate further in the future but I'd love to get this merged and closed out. 🚀 ❤️

@thehale thehale temporarily deployed to Pages Preview October 14, 2023 04:32 — with GitHub Actions Inactive
@thehale thehale requested a review from mlinksva October 14, 2023 04:43
@thehale thehale temporarily deployed to Pages Preview October 14, 2023 04:51 — with GitHub Actions Inactive
@thehale
Copy link
Contributor Author

thehale commented Oct 14, 2023

@thehale it's a friendly Open Source Friday ping on this PR!

Thanks for the follow up @ahpook. Typically, my open-source work is limited to irregular weekends, so tonight was the first opportunity to dig back into the feedback. Hopefully this latest set of edits covers the great notes made!

Copy link
Contributor

@ahpook ahpook left a comment

Choose a reason for hiding this comment

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

This looks great! Thank you @thehale and everyone who commented and gave feedback.

@ahpook
Copy link
Contributor

ahpook commented Oct 16, 2023

I'm going to go ahead and merge this, if there are future iterations we want to make on this doc let's do so in a fresh PR. Cheers all 🚀

@ahpook ahpook merged commit 97bda28 into github:main Oct 16, 2023
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.

5 participants