MARLIN Controller for Visual Studio Code
Copyright (c) 2026 PolyMate Pte Ltd. All rights reserved.

This software is proprietary. It is licensed, not sold. Any use, copying, or
distribution not permitted below is prohibited.


1. WHO MAY USE THIS SOFTWARE

   A license is granted only to Authorized Users. An Authorized User is:

   (a) a student enrolled in a course, class, club, team, or competition that
       uses the MARLIN robotics platform;

   (b) an educator, instructor, coach, mentor, or technical staff member
       supporting such a program; or

   (c) an employee or contractor of an institution that has been supplied the
       MARLIN robotics platform by PolyMate Pte Ltd or an authorized reseller,
       acting within the scope of that institution's program.

   The grant is personal, non-exclusive, non-transferable, and revocable. It
   covers only use in connection with the MARLIN robotics platform: learning to
   program MARLIN robots, teaching others to do so, preparing for and taking
   part in MARLIN competitions, and developing student programs that run on
   MARLIN hardware.

   If you are not an Authorized User, you have no license to use this software.


2. WHAT YOU MAY DO

   Authorized Users may install and run the software on computers they own or
   are assigned, including personal and school-managed devices, and may make
   copies solely for backup or for installation across the devices of a single
   program or institution.


3. WHAT YOU MAY NOT DO

   Except as applicable law expressly permits notwithstanding this license, you
   may not:

   (a) redistribute, publish, sublicense, rent, lease, sell, or otherwise make
       the software available to anyone who is not an Authorized User;

   (b) modify, adapt, translate, or create derivative works of the software;

   (c) reverse engineer, decompile, or disassemble the software, or attempt to
       derive its source code;

   (d) remove, obscure, or alter any copyright, trademark, or other proprietary
       notice, including this file;

   (e) use the software to operate, control, or interoperate with robotics
       hardware other than the MARLIN platform; or

   (f) use the software for any commercial purpose outside an educational
       program, including commercial robotics development or competition for
       commercial gain.

   Programs that students write using the MARLIN Python API remain the work of
   their authors. This license governs the MARLIN Controller extension and the
   MARLIN Python API supplied with it, not the student programs that call them.


4. TERM AND TERMINATION

   This license lasts as long as you remain an Authorized User. It terminates
   automatically if you cease to be one, or if you breach any term above. On
   termination you must stop using the software and remove your copies.


5. NO WARRANTY

   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
   IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
   FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT.

   This software commands physical robotics hardware, which can move without
   warning and can cause injury or damage. It is not certified for safety-
   critical use. Authorized Users are responsible for supervising operation,
   maintaining a clear working area, and using the emergency stop. Educators
   are responsible for supervising students operating MARLIN hardware.


6. LIMITATION OF LIABILITY

   IN NO EVENT SHALL POLYMATE PTE LTD OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
   DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT, OR
   OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE
   USE OR OTHER DEALINGS IN THE SOFTWARE, INCLUDING ANY DAMAGE TO ROBOTICS
   HARDWARE OR PROPERTY AND ANY INJURY ARISING FROM ITS OPERATION.


7. CONTACT

   PolyMate Pte Ltd — https://marlin.polymate.tech


================================================================================
THIRD-PARTY SOFTWARE NOTICES
================================================================================

This extension bundles the open source components listed below. They remain
under their own licenses, which are reproduced or referenced here. Each
component's own license file, containing its copyright notice, is included in
this extension under node_modules/<package name>/.

Nothing in the license above limits any right you have under these third-party
licenses with respect to those components.

--------------------------------------------------------------------------------
MIT License
--------------------------------------------------------------------------------

@serialport/binding-mock, @serialport/bindings-cpp,
@serialport/bindings-interface, @serialport/parser-byte-length,
@serialport/parser-cctalk, @serialport/parser-delimiter,
@serialport/parser-inter-byte-timeout, @serialport/parser-packet-length,
@serialport/parser-readline, @serialport/parser-ready,
@serialport/parser-regex, @serialport/parser-slip-encoder,
@serialport/parser-spacepacket, @serialport/stream,
@socket.io/component-emitter, @stoprocent/bluetooth-hci-socket,
@stoprocent/noble, @types/w3c-web-usb, ansi-styles, async, braces, call-bind,
call-bind-apply-helpers, call-bound, chalk, ci-info, color-convert, color-name,
cross-spawn, debug, define-data-property, dunder-proto, engine.io-client,
engine.io-parser, es-define-property, es-errors, es-object-atoms,
fill-range, fs-extra, function-bind, get-intrinsic, get-proto, gopd, has-flag,
has-property-descriptors, has-symbols, hasown, is-docker, is-number, is-wsl,
isarray, json-stable-stringify, jsonfile, klaw-sync, math-intrinsics,
micromatch, minimist, ms, node-addon-api, node-gyp-build, object-keys, open,
patch-package, path-key, picomatch, serialport, set-function-length,
shebang-command, shebang-regex, slash, socket.io-client, socket.io-parser,
supports-color, tmp, to-regex-range, universalify, usb, ws, xmlhttprequest-ssl

Copyright notices for each component appear in its bundled license file.

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

--------------------------------------------------------------------------------
ISC License
--------------------------------------------------------------------------------

graceful-fs, isexe, semver, which, yaml

Copyright notices for each component appear in its bundled license file.

Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.

--------------------------------------------------------------------------------
BSD 2-Clause License
--------------------------------------------------------------------------------

@yarnpkg/lockfile

Copyright notices appear in its bundled license file.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:

1. Redistributions of source code must retain the above copyright notice, this
   list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright notice,
   this list of conditions and the following disclaimer in the documentation
   and/or other materials provided with the distribution.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

--------------------------------------------------------------------------------
Apache License 2.0
--------------------------------------------------------------------------------

find-yarn-workspace-root

Licensed under the Apache License, Version 2.0. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0, and a copy is included
in this extension at node_modules/find-yarn-workspace-root/LICENSE.

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
License for the specific language governing permissions and limitations under
the License.

--------------------------------------------------------------------------------
Public Domain
--------------------------------------------------------------------------------

jsonify — released into the public domain by its author.
