Licences and dependencies
All three packages are licensed under GPL-2.0-or-later (like WordPress). No external CDNs, tracking or "phoning home" are used, and nothing the visitors see is loaded from another service – unless the site owner turns on a feature that uses one (see Services the site owner can turn on).
What ships in the packages #
| Component | Version | Licence | Where | Note |
|---|---|---|---|---|
| three.js | 0.186.1 | MIT | midground-builder/assets/runtime/viewer3d.js | 3D viewer; loads only on pages with a 3D model, when the model comes near the screen |
| meshoptimizer decoder (from three.js examples) | meshoptimizer 1.1 | MIT | inside viewer3d.js | Decodes meshopt-compressed models. © Arseny Kapoulkine |
| Draco decoder (from three.js examples) | from three 0.186.1 | Apache-2.0 | midground-builder/assets/runtime/draco/ | Loads only for Draco-compressed models. Apache-2.0 is compatible with GPLv3; the plugin is GPL-2.0-or-later and can therefore be distributed together under GPLv3 |
| Lucide icons | 1.48.0 | ISC (some icons MIT, from Feather) | midground-builder/assets/icons/icons.json and the editor | Used in the editor and in the Icon, Feature and Icon box elements |
| Schibsted Grotesk | variable, latin + latin-ext subset | SIL OFL 1.1 | midground/assets/fonts/ | Full licence in assets/fonts/LICENSE.md |
| Newsreader | variable (optical size fixed), subset | SIL OFL 1.1 | midground/assets/fonts/ | As above |
| Demo pictures and 3D models | – | CC0 1.0 | midground-demo/assets/images, models | Made for the project: the models are generated (tools/demo/make-models.py), the pictures are rendered from them with three.js (tools/demo/render.mjs) |
| Starter site placeholder pictures and previews | – | CC0 1.0 | midground-demo/assets/starters/ | Generated for the project (tools/demo/placeholders.py); the logo wordmarks are set in Schibsted Grotesk (OFL). The previews are screenshots of the starter sites |
Every ZIP file contains LICENSE.txt (GPL-2.0) and THIRD-PARTY-LICENSES.txt with the full licence texts of what ships in it (made by tools/package.py).
Everything else in the theme and plugins (code, CSS, theme icons, cart icon, demo content and texts) was written for the project. The studio "Skumring", the businesses in the starter sites, their people, clients, reviews, addresses, e-mail addresses (reserved .example domains) and phone numbers (the 555-01xx range reserved for fiction) are made up.
The plugin uses WordPress's own scripts (wp-element/React, wp-i18n, wp-api-fetch, wp-blocks and more) from the WordPress installation; they are not in the package.
Services the site owner can turn on #
None of these is used until the site owner turns the feature on, and every one that needs an account uses the site owner's own key – Midground has no keys of its own.
| Feature | Service | When data is sent |
|---|---|---|
| Add fonts / starter site fonts | Google Fonts (catalogue from WordPress.org, files from fonts.gstatic.com) | Once, when an administrator adds a font; the files are then served from the site |
| Map | OpenStreetMap or Google Maps (own key) | When a visitor agrees to load the map |
| Address search in the Map element | OpenStreetMap Nominatim | When an editor searches for an address (cached) |
| Background video, Video | YouTube or Vimeo | When a visitor agrees to load the video |
| Reviews | Google Places API or Trustpilot (own key) | From the server, cached; visitors never contact the service |
| AI assistant | OpenAI, Anthropic or Google Gemini (own key) | Only the text or picture someone asks about, only when they ask |
| Booking | The booking service whose page is linked | When a visitor opens the booking (after consent where required) |
| Licence and updates | The shop that sold the licence | When the licence is activated and when WordPress checks for updates |
Tools used only during development (not shipped) #
| Tool | Version | Licence | Use |
|---|---|---|---|
| esbuild | 0.28.2 | MIT | Building the editor and runtime |
| @playwright/test / Playwright (Chromium, Firefox, WebKit) | 1.63.0 | Apache-2.0 | Browser tests, measurements, videos |
| axe-core / @axe-core/playwright | 4.13.0 | MPL-2.0 | Automated accessibility tests |
| lucide-static | 1.48.0 | ISC | Source of the icon set |
Docker images: wordpress, wordpress:cli, mariadb:11 | – | GPL-2.0 / MIT / GPL-2.0 | Local test and development environment |
| WordPress | 7.1.2 (and 6.6 for the minimum-version test) | GPL-2.0-or-later | Test environment |
| WooCommerce | 11.1.2 | GPL-3.0 | Test environment (optional dependency of the shop elements) |
| Python: trimesh, numpy, Pillow | 5.1.0, 2.5.0, 12.2.0 | MIT, BSD-3-Clause, MIT-CMU | Demo models, placeholder pictures and contact sheets |
Commercial use #
The GPL allows commercial use, resale and changes, as long as the source code comes with the packages, or is made available, under the same licence when they are distributed. Content that customers make with the tool (texts, pictures, pages) is their own and is not covered by the GPL. The fonts can be used freely on websites; the OFL only forbids selling the font files on their own.