Attempt to further clarify licensing

This commit is contained in:
Thomas Weber committed 2021-01-19 19:40:46 -06:00
1 parent 8cc0ab30f7
commit 8f9afccb01
16 files changed
+254 -11

No files matched your search

+2 -10
View File
@@ -8,17 +8,9 @@ If you just want to play with the GUI then it's the same process as upstream scr
## A note on licensing
The licensing situation is a bit more complex than for other projects because we include source code from a certain popular Scratch browser extension that uses the GPL, but we don't want to force embedders to be GPL-compliant. Parts of TurboWarp/scratch-gui are licensed under the BSD3c (see LICENSE) and parts of it are licensed under the GPLv3.0 (see LICENSE_GPL).
Most files in TurboWarp/scratch-gui are dual licensed under BSD-3-Clause License (see LICENSE). However, some files are instead licensed under the GNU General Public License v3.0 (see LICENSE_GPL). Notably this includes everything in src/addons and anything that (indirectly or directly) imports a file from src/addons. These files generally have license disclaimers at the start of their contents.
GPLv3.0:
- Everything in src/addons
- Editor, player, fullscreen, addon settings pages (src/playground/[editor|player|fullscreen|addon-settings].jsx)
BSD3c:
- The embed page (src/playground/embed.jsx)
- Everything not in src/addons that doesn't reference a file in src/addons
Note that the embed page is not one of the pages that are only available under the GPLv3.0, which means it is safe to use the embed in any environment.
<!--
+1 -1
View File
@@ -1,6 +1,6 @@
Addons, translations, and libraries are from the "Scratch Addons" browser extension.
These addons are licensed under the GNU General Public License v3.0. See LICENSE_GPL in the root of this repository for more information.
These addons are licensed under the GNU General Public License v3.0, not the BSD-3-Clause License. See README.md and LICENSE_GPL in the root of this repository for more information.
We apply some patches on top of the original source files. These patches are maintained in https://github.com/GarboMuffin/ScratchAddons/tree/tw. We attempt to maintain a minimal diff.
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import addons from './addons.json';
const clipboardSupported = !!(navigator.clipboard && navigator.clipboard.write);
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import IntlMessageFormat from 'intl-messageformat';
import SettingsStore from './settings-store';
import getAddonTranslations from './get-addon-translations';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import {ipcRenderer} from 'electron';
import AddonRunner from './api';
import addons from './addon-manifests';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import AddonRunner from './api';
import addons from './addon-manifests';
import SettingsStore from './settings-store';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import addons from './addons.json';
/**
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
const fs = require('fs');
const childProcess = require('child_process');
const rimraf = require('rimraf');
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import addons from './addon-manifests';
const SETTINGS_KEY = 'tw:addons';
+17
View File
@@ -1,3 +1,20 @@
/*
Copyright (c) 2020 Thomas Weber
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
body {
background-color: white;
color: black;
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import React from 'react';
import PropTypes from 'prop-types';
import classNames from 'classnames';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import './import-first';
import ReactDOM from 'react-dom';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import './import-first';
import ReactDOM from 'react-dom';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import './import-first';
import ReactDOM from 'react-dom';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import './import-first';
import ReactDOM from 'react-dom';
+18
View File
@@ -1,3 +1,21 @@
/**
* @license
* Copyright (c) 2020 Thomas Weber
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <https://www.gnu.org/licenses/>.
*/
import classNames from 'classnames';
import PropTypes from 'prop-types';
import React from 'react';