Relicense VS Code extension and Visual Editor from AGPL-3.0 to MIT - #1032
Relicense VS Code extension and Visual Editor from AGPL-3.0 to MIT#1032cderv wants to merge 11 commits into
Conversation
✅ 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. |
…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.
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.
6874b87 to
d57a09b
Compare
Merging main pulled in new source/test files created after the initial relicensing sweep; they carried the pre-relicensing AGPL header template. Strips the clause to match the MIT header style, consistent with dc9b556/e68a0ec7.
|
I have done the checks and updates. Some scope clarification: Panmirror is intentionally included in this PR. It is the RStudio-facing distribution of the shared Visual Editor stack used by the Quarto VS Code extension, so relicensing it to MIT keeps the shipped editor integrations consistent. I would welcome confirmation from the RStudio IDE team that there is no downstream packaging impact I have missed. This follows the same distribution-compliance approach already used for the VS Code extension: each separately shipped artifact must carry its MIT licence and the applicable third-party notices. Panmirror is distributed separately as dist/panmirror.js, so it cannot rely on the LICENSE and ThirdPartyNotices.txt packaged with the VS Code extension. This update copies LICENSE and ThirdPartyNotices.txt beside every Panmirror build output, including builds using PANMIRROR_OUTDIR. |
|
Also I don't think CI issue is caused by this change. |
juliasilge
left a comment
There was a problem hiding this comment.
Thank you so much! I reviewed which components we are re-licensing here and I agree with the scope of the change, based on my information.
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