Relicense VS Code extension and Visual Editor from AGPL-3.0 to MIT#1032
Draft
cderv wants to merge 8 commits into
Draft
Relicense VS Code extension and Visual Editor from AGPL-3.0 to MIT#1032cderv wants to merge 8 commits into
cderv wants to merge 8 commits into
Conversation
…bundled dependencies Auditing the third-party npm packages bundled across the three shipped extension bundles (esbuild extension host, Vite Visual Editor webview, Vite markdown-it renderer) turned up one non-permissive dependency, biblatex-csl-converter (LGPL-3.0), plus several Apache-2.0 and BSD-3-Clause packages whose licenses require reproducing copyright/license text in the distributed product rather than just in node_modules. LGPL-3.0 does not require dependents to be LGPL, so this doesn't block the MIT relicensing itself, but LGPL-3.0 SS4 requires that users be able to modify and rebuild the library against our code. biblatex-csl-converter is statically bundled into the Vite webview (UMD, no Node.js module resolution available in that context), so SS4(d0) applies: satisfied because Quarto is open source and users can modify and rebuild from source, and SS4(b) requires shipping the license text, which this file provides (GPL-3.0 text is included because LGPL-3.0 incorporates it by reference). Apache-2.0 (diff-match-patch, fuse.js, mathjax-full, prosemirror-utils, thenby) SS4(a)/(c) and BSD-3-Clause (highlight.js, flat, react-transition-group, typo-js) both require retaining copyright and license notices in redistributed copies, which this notices file also covers.
…3-Clause compliance)
…Clause compliance)
Per #1026, the VS Code extension and Visual Editor packages relicensed to MIT no longer carry the AGPL commercial-license clause. Strips the "Unless you have received this program directly from Posit Software/RStudio pursuant..." block from all 665 source files across the relicensed packages, leaving the Copyright line only (matching the header style already used by MIT-licensed packages elsewhere in the monorepo). apps/writer and apps/writer-server remain AGPL-3.0 and are untouched.
Bumps stale copyright year ranges to include 2026 in the same 665 source files touched by the AGPL-clause removal, and updates the 16 remaining "RStudio, PBC" attributions (pre-rename company name) to "Posit Software, PBC" to match current headers elsewhere. apps/writer and apps/writer-server remain untouched.
roborev review of 3ffa0b4 caught 40 CSS/SCSS files across apps/vscode-editor, packages/editor, packages/editor-ui, and packages/editor-codemirror that still carried the AGPL commercial-license clause -- the initial header-strip pass only targeted .ts/.tsx files. Applies the same three fixes as the prior commits (strip AGPL clause, bump copyright year to 2026, rename RStudio -> Posit Software) to these files.
Contributor
✅ Snyk checks have passed. No issues have been found so far.
💻 Catch issues earlier using the plugins for VS Code, JetBrains IDEs, Visual Studio, and Eclipse. |
roborev review of ffbfed3 caught that apps/panmirror/vite.config.ts was missed -- it also runs a production `vite build` shipping dist/panmirror.js, and bundles the same workspace `editor` package (and its third-party deps) as apps/vscode-editor and apps/vscode-markdownit, which already got this fix.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Important
Draft — do not merge until every contributor listed in #1026 has replied "I agree". Several contributors on that checklist haven't replied yet.
#430 flagged that AGPL-3.0 blocks adoption of the VS Code extension at companies that treat AGPL as a hard no. #1026 decided to relicense the extension and Visual Editor as MIT, matching the license already used by the rest of Quarto. Relicensing requires consent from every non-Posit copyright holder, tracked as a checklist on #1026.
The 19 packages/apps in scope are the VS Code extension, the LSP, the Visual Editor, and the shared packages they depend on.
apps/writerandapps/writer-serverare excluded (experimental, not yet shipped to production) and remain AGPL-3.0.License changes
license: MITand swaps in MIT LICENSE/README text for the packages in scope.ThirdPartyNotices.txt(Microsoft convention, matches VS Code itself and GitLens) covering the LGPL-3.0, Apache-2.0, and BSD-3-Clause dependencies bundled into the extension — Apache-2.0 §4(a) and BSD-3-Clause require license text in distributions.biblatex-csl-converter(LGPL-3.0, bundled in the Visual Editor webview) is the only non-permissive dependency. Compliance is viaThirdPartyNotices.txtshipping both the GPL-3.0 and LGPL-3.0 full texts per §4(b), no code changes needed. Dropping the LGPL dependency entirely would need either replacing it with an MIT alternative (@citation-js) or asking the maintainer about relicensing — neither pursued here.Header cleanup
.ts/.tsxsweep and a follow-up pass for CSS/SCSS files a roborev review caught as missed.RStudio, PBCattributions toPosit Software, PBC.Relates to #1026, #430