Licenses and third-party notices
Different licences apply to code0.HDL's own content and to third-party material. This page sets out the origin of each and the terms that apply to it.
Content written for code0.HDL
Unless otherwise noted, source code, examples and documentation written specifically for code0.HDL are provided under the MIT License.
The text of that licence is in the project's LICENSE file, copyright the
code0.HDL contributors.
BSV and BSC reference material
The BSV chapters follow the subject order of the BSV Language Reference Guide,
and are informed by the documentation shipped with
bsc.
A page that uses no sentence, table, figure or example from the original carries a reference note only. Where original material is used or modified directly, the page identifies the source and the licence that applies to it.
Explanations written independently for code0.HDL are code0.HDL's own content and are covered by the section above.
bsc is distributed under BSD-3-Clause at the repository level. That does not
settle the licence of every individual file inside it: repositories carry vendored
code, generated files and third-party directories under other terms. Before
reusing any specific file or directory from bsc, check the licence that applies
to that path rather than the one at the top of the repository.
Third-party software
The components below are either redistributed by this project, vendored into the
repository, or used to build the browser runtimes and offline reference traces.
Build-time npm dependencies are not listed individually; the full record is in
the project's THIRD_PARTY_NOTICES.md file.
| Component | Used for | Licence |
|---|---|---|
| Icarus Verilog | Browser Verilog compilation and simulation | GPL-2.0-or-later |
| Emscripten | Browser compiler glue and linked C/C++ runtime | MIT / LLVM exceptions and component notices |
bsc | Browser BSV compilation and offline reference generation | BSD-3-Clause at repository level; component notices retained |
browser_wasi_shim | Browser BSC filesystem and WASI interface | Apache-2.0 / MIT |
| Chisel | Browser elaboration and observation tests | Apache-2.0 |
CIRCT firtool | Offline reference conversion from FIRRTL to Verilog | Apache-2.0 with LLVM exceptions |
| vscode-bsv grammar | BSV syntax highlighting; vendored under vendor/bsv-grammar | MIT, © 2023 Martin Chan |
| Next.js · React · Tailwind CSS | The site itself | MIT |
| CodeMirror · Shiki | The editor and the syntax highlighting on the page | MIT |
| next-mdx-remote | Rendering the MDX chapters | MPL-2.0 |
Verilog browser execution downloads a separately licensed Icarus WebAssembly
build, version 11.0-84b4ebe-1. Its licence text,
upstream source,
port patches and build recipe,
and checksums are available alongside
the executable files. Runtime-component notices are included with that build.
These third-party components are not relicensed under the site's MIT terms.
BSV Run downloads BSC WebAssembly 2026.07.1-stp-1, with the real STP solver.
Its licence text and
asset manifest are available beside
the compiler. Matching compiler, solver, GHC, WASI and JavaScript dependency
notices are retained under that asset directory's LICENSES/.
Chisel Run and Submit download its JVM libraries and executes with CheerpJ in the
browser. The complete JAR inventory and notices appear below; private grading
materials are never included.
Trademarks and affiliation
Bluespec is a trademark of Bluespec, Inc. Other product, project and language names may be trademarks of their respective owners. Their use on code0.HDL is for identification and educational reference only and does not imply affiliation, sponsorship or endorsement.
Chisel browser runtime
Java 17 execution in the browser is powered by CheerpJ 4.3. CheerpJ is loaded from its Community CDN, not mirrored or redistributed by this site. CheerpJ license terms
These 81 JARs have pinned versions and hashes. The browser copy of scala-library-2.13.16.jar changes one Array.copy assignability guard to distinguish primitive and reference arrays. Other JARs are unmodified. We elect JNA's Apache-2.0 option. Unmodified directories-26 is provided with a link to its exact source release below. Private expected values and reference solutions are not included.
License declarations were checked against Maven POMs, parent POMs and distribution notices. Expand an entry for provenance and full texts. Embedded NOTICE contents are reproduced below.
antlr4-runtime-4.9.3.jar — The BSD License
chisel-plugin_2.13.16-6.7.0.jar — Apache-2.0
chisel_2.13-6.7.0.jar — Apache-2.0
chiseltest_2.13-6.0.0.jar — Apache-2.0 / BSD-3-Clause
commons-compress-1.24.0.jar — Apache-2.0
- Apache-2.0
- Matching source release
- Maven POM
- Parent POM 1
- Parent POM 2
- Apache-2.0
- META-INF/LICENSE.txt
- META-INF/NOTICE.txt
Apache Commons Compress Copyright 2002-2023 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/). --- The files in the package org.apache.commons.compress.archivers.sevenz were derived from the LZMA SDK, version 9.20 (C/ and CPP/7zip/), which has been placed in the public domain: "LZMA SDK is placed in the public domain." (http://www.7-zip.org/sdk.html) --- The test file lbzip2_32767.bz2 has been copied from libbzip2's source repository: This program, "bzip2", the associated library "libbzip2", and all documentation, are copyright (C) 1996-2019 Julian R Seward. All rights reserved. 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. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 3. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 4. The name of the author may not be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``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 AUTHOR 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. Julian Seward, jseward@acm.org
commons-io-2.15.0.jar — Apache-2.0
- Apache-2.0
- Matching source release
- Maven POM
- Parent POM 1
- Parent POM 2
- Apache-2.0
- META-INF/LICENSE.txt
- META-INF/NOTICE.txt
Apache Commons IO Copyright 2002-2023 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/).
commons-lang3-3.12.0.jar — Apache License, Version 2.0
- Apache License, Version 2.0
- Matching source release
- Maven POM
- Parent POM 1
- Parent POM 2
- Apache-2.0
- META-INF/LICENSE.txt
- META-INF/NOTICE.txt
Apache Commons Lang Copyright 2001-2021 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/).
commons-text-1.10.0.jar — Apache License, Version 2.0
- Apache License, Version 2.0
- Matching source release
- Maven POM
- Parent POM 1
- Parent POM 2
- Apache-2.0
- META-INF/LICENSE.txt
- META-INF/NOTICE.txt
Apache Commons Text Copyright 2014-2022 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (https://www.apache.org/).
concurrent-reference-hash-map-1.1.0.jar — Apache-2.0
config_2.13-0.2.1.jar — Apache-2.0
coursier-cache_2.13-2.1.8.jar — Apache-2.0
coursier-core_2.13-2.1.8.jar — Apache-2.0
coursier-proxy-setup-2.1.8.jar — Apache-2.0
coursier-util_2.13-2.1.8.jar — Apache-2.0
coursier_2.13-2.1.8.jar — Apache-2.0
data-class_2.13-0.2.6.jar — Apache-2.0
directories-26.jar — Mozilla Public License 2.0
firrtl2_2.13-6.0.0.jar — apache_v2
firtool-resolver_2.13-1.3.0.jar — Apache-2.0
geny_2.13-1.0.0.jar — MIT
jansi-1.18.jar — The Apache Software License, Version 2.0
java-diff-utils-4.15.jar — The Apache Software License, Version 2.0
javax.inject-1.jar — The Apache Software License, Version 2.0
jline-3.27.1-jdk8.jar — The BSD License
jna-5.14.0.jar — LGPL-2.1-or-later / Apache-2.0
joda-convert-2.2.0.jar — Apache 2
- Apache 2
- Matching source release
- Maven POM
- Parent POM 1
- Apache-2.0
- META-INF/LICENSE.txt
- META-INF/NOTICE.txt
Joda Convert Copyright 2010-present Stephen Colebourne This product includes software developed by Joda.org (https://www.joda.org/). Joda-Convert includes code from Google Guava, which is licensed as follows: Copyright (C) 2011 The Guava Authors Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0 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.
joda-time-2.10.1.jar — Apache 2
============================================================================= = NOTICE file corresponding to section 4d of the Apache License Version 2.0 = ============================================================================= This product includes software developed by Joda.org (https://www.joda.org/).
json4s-ast_2.13-4.1.0-M4.jar — Apache-2.0
json4s-core_2.13-4.1.0-M4.jar — Apache-2.0
json4s-native-core_2.13-4.1.0-M4.jar — Apache-2.0
json4s-native_2.13-4.1.0-M4.jar — Apache-2.0
json4s-scalap_2.13-4.1.0-M4.jar — Apache-2.0
jsoniter-scala-core_2.13-2.13.5.2.jar — MIT License
moduload_2.13-1.1.7.jar — MIT
moultingyaml_2.13-0.4.2.jar — MIT License
nscala-time_2.13-2.22.0.jar — Apache
os-lib_2.13-0.9.2.jar — MIT
perfolation_2.13-1.2.9.jar — MIT
plexus-archiver-4.9.0.jar — Apache License, Version 2.0
plexus-classworlds-2.6.0.jar — Apache License, Version 2.0
plexus-container-default-2.1.1.jar — Apache License, Version 2.0
plexus-io-3.4.1.jar — Apache License, Version 2.0
plexus-utils-4.0.0.jar — Apache License, Version 2.0
- Apache License, Version 2.0
- Matching source release
- Maven POM
- Parent POM 1
- Apache-2.0
- META-INF/LICENSE
- META-INF/NOTICE
This product includes software developed by the Indiana University Extreme! Lab (http://www.extreme.indiana.edu/). This product includes software developed by The Apache Software Foundation (http://www.apache.org/). This product includes software developed by ThoughtWorks (http://www.thoughtworks.com). This product includes software developed by javolution (http://javolution.org/). This product includes software developed by Rome (https://rome.dev.java.net/).
scala-collection-compat_2.13-2.11.0.jar — Apache-2.0
scala-compiler-2.13.16.jar — Apache-2.0
Scala Copyright (c) 2002-2025 EPFL Copyright (c) 2011-2025 Lightbend, Inc. dba Akka Scala includes software developed at LAMP/EPFL (https://lamp.epfl.ch/) and Akka (https://akka.io/). Licensed under the Apache License, Version 2.0 (the "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. This software includes projects with other licenses -- see `doc/LICENSE.md`.
scala-library-2.13.16.jar — Apache-2.0
Scala Copyright (c) 2002-2025 EPFL Copyright (c) 2011-2025 Lightbend, Inc. dba Akka Scala includes software developed at LAMP/EPFL (https://lamp.epfl.ch/) and Akka (https://akka.io/). Licensed under the Apache License, Version 2.0 (the "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. This software includes projects with other licenses -- see `doc/LICENSE.md`.
scala-parallel-collections_2.13-1.0.4.jar — Apache-2.0
scala-reflect-2.13.16.jar — Apache-2.0
Scala Copyright (c) 2002-2025 EPFL Copyright (c) 2011-2025 Lightbend, Inc. dba Akka Scala includes software developed at LAMP/EPFL (https://lamp.epfl.ch/) and Akka (https://akka.io/). Licensed under the Apache License, Version 2.0 (the "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. This software includes projects with other licenses -- see `doc/LICENSE.md`.
scala-xml_2.13-2.2.0.jar — Apache-2.0
scalactic_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-compatible-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-core_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-diagrams_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-featurespec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-flatspec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-freespec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-funspec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-funsuite_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-matchers-core_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-mustmatchers_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-propspec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-refspec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-shouldmatchers_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest-wordspec_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scalatest_2.13-3.2.17.jar — the Apache License, ASL Version 2.0
scopt_2.13-4.1.0.jar — MIT
scribe_2.13-3.13.0.jar — MIT
slf4j-api-1.7.36.jar — MIT License
snakeyaml-1.26.jar — Apache License, Version 2.0
snappy-0.4.jar — Apache License 2.0
sourcecode_2.13-0.3.1.jar — MIT
ujson_2.13-3.1.0.jar — MIT
upack_2.13-3.1.0.jar — MIT
upickle-core_2.13-3.1.0.jar — MIT
upickle-implicits_2.13-3.1.0.jar — MIT
upickle_2.13-3.1.0.jar — MIT
windows-ansi-0.0.5.jar — Apache-2.0
windows-jni-utils-0.3.3.jar — Apache-2.0
xbean-reflect-3.7.jar — The Apache Software License, Version 2.0
- The Apache Software License, Version 2.0
- Matching source release
- Maven POM
- Parent POM 1
- Parent POM 2
- Parent POM 3
- Parent POM 4
- Apache-2.0
- META-INF/LICENSE
- META-INF/NOTICE
Apache XBean :: Reflect Copyright 2005-2010 The Apache Software Foundation This product includes software developed at The Apache Software Foundation (http://www.apache.org/).
xz-1.9.jar — Public Domain
- Public Domain
- Matching source release
- Maven POM