License and trademark
Teksilo is under the Mozilla Public License 2.0: this page sets out what that grants you, the one obligation it puts on anyone shipping a binary, and what the separate trademark policy covers.
Teksilo is under the Mozilla Public License 2.0. The LICENSE file is the unmodified MPL text, Sections 1 through 10 plus Exhibit A and Exhibit B, with no project-specific addendum and no extra clause. All 913 Rust files under crates/ and all 81 under examples/ carry the same two lines, // SPDX-License-Identifier: MPL-2.0 and // SPDX-FileCopyrightText: 2026 FernTech. A pre-commit hook (tools/check_spdx_headers.py --check) verifies that, and the pre-commit workflow runs the same check over every tracked source file in CI.
The README summarizes it in one sentence: Teksilo can be used in commercial and closed-source software without restriction; modifications to the Teksilo files themselves must be shared under MPL2 if distributed; application code that merely uses Teksilo is under its own license. That is a fair summary. The rest of this page is the detail that “without restriction” glosses over, because you should know it before you commit.
What the license grants
- You can ship a closed-source product. Section 3.2(b) lets you distribute the executable form under the terms of this License or sublicense it under different ones, as long as that license does not limit or alter recipients' rights in the source form of the covered software.
- The copyleft boundary is the file, not the link. Section 1.10 defines a Modification as a file that results from adding to, deleting from, or modifying Teksilo's own files, or a new file containing any of them. Linkage does not enter into it, so statically linking unmodified Teksilo into a proprietary binary is fine.
- Your application code is your own. An application that uses Teksilo is a Larger Work under Section 1.7: a combination with other material in separate files that is not covered software. Section 3.3 lets you distribute a Larger Work under terms of your choice, provided you still meet this License's requirements for the covered software itself.
- The patent grant is written down. Section 2.1(b) is an express, world-wide, royalty-free, non-exclusive patent license over each contributor's contributions. It is defensive: if you initiate patent litigation against anyone alleging that a Contributor Version infringes a patent, Section 5.2 terminates every right granted to you under Section 2.1, the copyright grant along with the patent one.
The obligation that does exist
Distributing a binary that contains Teksilo is not free of duties. Section 3.2(a) requires that the covered software (Teksilo’s own files, modified or not) also be made available in source form, and that you tell recipients how to obtain it by reasonable means in a timely manner, at no more than the cost of distribution. This applies to an unmodified, closed-source application too. In practice it is satisfied by pointing recipients at the published crate and the repository, both of which carry the same MPL-2.0 sources; see what to point at.
Two smaller ones. Section 3.1 requires that any source you distribute, including modifications you make to Teksilo’s files, be under the MPL, and that you tell recipients how to obtain a copy of the license. Section 3.4 forbids removing or altering the substance of license, copyright, patent, warranty-disclaimer or liability notices inside Teksilo’s source; you may correct known factual inaccuracies, and nothing more.
All of this attaches on distribution. Section 2.2 makes the grants effective when a contribution is first distributed, and Sections 3.1 and 3.2 are framed around distributing. A fork you keep inside your own organization and never ship triggers none of it.
GPL projects can use it too
Exhibit B, the “Incompatible With Secondary Licenses” notice, is not attached to any Teksilo file. Teksilo is therefore not incompatible with secondary licenses, and Section 3.3 permits combining it into a Larger Work governed by GPL-2.0, LGPL-2.1 or AGPL-3.0, or any later version of those, distributed additionally under those terms.
Termination, warranty, support
A breach terminates your rights, but it is curable. Under Section 5.1 they are reinstated provisionally when you become compliant, and on an ongoing basis if the contributor does not notify you within 60 days of your coming back into compliance, or, on a first notice, if you comply within 30 days of receiving it. Section 5.3 keeps end-user licenses you have validly granted alive through a termination of your own rights, distributors and resellers excepted.
Teksilo is provided “as is”. Section 6 disclaims warranty of any kind and Section 7 limits liability for damages of any character, direct and indirect alike. Section 3.5 lets you offer, and charge for, warranty, support, indemnity or liability obligations, but only on your own behalf and never on a contributor’s, and you must indemnify every contributor for liability arising from terms you offer.
Separately from the license, FernTech offers priority bug fixes, written support, and indemnification agreements: [email protected]. That is a contract, not a license term. For everything else the issue tracker is the right place.
You may distribute Teksilo under the MPL version you received it under, or any later version published by the license steward, the Mozilla Foundation (Sections 10.1 and 10.2).
Not everything in the repository is MPL
Two exceptions to know about before you vendor the tree.
- Bundled fonts. Inter, Inter Italic, Noto Sans Arabic, Noto Sans Hebrew, JetBrains Mono and JetBrains Mono Italic under
crates/teksilo-text/fonts/are under the SIL Open Font License 1.1. Roboto Flex, whichteksilo-theme-material3embeds behind an opt-inbundled-fontsfeature, is under the same license: its own embedded metadata and its upstream repository both say OFL 1.1, though the license note filed beside it in the tree names Apache-2.0. - The trademark policy.
TRADEMARKS.mdcarries its own identifier,LicenseRef-Teksilo-Trademark-Policy, and states outright that it is not part of the MPL-licensed source. Forks may copy the source; they should write their own trademark policy for their own name.
There is no aggregated third-party license manifest in the repository, and CI does not run a license-compatibility scan. The cargo audit workflow checks RustSec security advisories only.
Contributing: a sign-off, not a CLA
There is no contributor license agreement. Sign off each commit with git commit -s, which adds a Signed-off-by: line certifying under the Linux Foundation’s Developer Certificate of Origin 1.1 (reproduced verbatim in the repository’s DCO.md) that you wrote the code or have the right to submit it under MPL-2.0. Contributions are licensed under MPL-2.0. If you forget, git commit --amend -s fixes the last commit and git rebase --signoff HEAD~N fixes several.
The sign-off is documented and requested, not machine-gated: no workflow in the repository checks it today. Beyond it, open an issue before a non-trivial pull request, discuss architectural changes first, and bring tests for new code. Roadmap priorities are weighted by what FernTech’s own applications need. How to contribute.
What to point at
Section 3.2(a) asks you to tell recipients how to obtain the covered source. Two places carry it, and either satisfies the obligation:
- crates.io. Every crate in the workspace is published under one shared version number, and a
.cratearchive is the source, so a recipient who has yourCargo.tomlcan fetch exactly the sources you built against. - The repository, at github.com/ferntech-eu/teksilo, under MPL-2.0, with the tag matching each release.
Two things to know before you commit to either:
- The version is 0.8.0. Breaking changes are expected between 0.x versions, and production deployment is currently limited to FernTech’s own applications, which is what the 0.x label is reporting. Pin the exact version.
- The text stack is separate.
text-documentandtext-typesetare required dependencies, published, MPL-2.0, and already at 1.x. They are covered software too if you modify them, under their own copies of the same license.
Trademark
“Teksilo”™ identifies this project, maintained by FernTech, and covers the name and any Teksilo logo or wordmark. The MPL grants no rights in trademarks, service marks or logos beyond what Section 3.4’s notice requirements need (end of Section 2.3), which is why the policy is a separate document. It is Version 1.0, last revised 2026-08-28.
Fine without asking:
- Referring to the project by name. Articles, talks, tutorials, comparisons, bug reports.
- Nominative statements. “Built with Teksilo”, “Teksilo-compatible widget”, “a Teksilo plugin for X”.
- Naming your own crate or package. It may describe compatibility or extension, as long as it does not read as the official project or as FernTech-published. The policy asks that the
teksilo-prefix on crates.io be left for crates FernTech publishes, and that you prefer a form putting your own name first (foo-teksilo,foo-for-teksilo) and say what it is in the crate description. That is the project’s stated policy, not a registry mechanism: crates.io has no prefix reservation. - Forking the source. MPL-2.0 already grants that, and the policy does not take it away.
Distribution packagers (Debian, Fedora, Arch, Nixpkgs, Homebrew, Guix, and the like) may keep the Teksilo name for packages that track upstream releases, carrying backported security and bug fixes, adjusted dependency bounds, de-vendoring or unbundling, build-system, path and packaging-metadata changes, and patches held while an upstream release is pending. The allowance stops at a package that changes Teksilo’s behavior or public API, adds or removes features, or ships from a fork rather than from upstream releases: that needs a distinct name. If you maintain such a package and are unsure which side of the line your patch set falls on, write to [email protected] rather than renaming preemptively. The policy’s own words: “We would rather answer the question than lose the package.”
Outside that allowance, distributing a modified or forked version as “Teksilo”, or under a confusingly close name, is not permitted. Give your fork its own name and its own branding. This is the Firefox/Iceweasel, Chromium/Chrome situation: the code is free to fork, but a modified build shipped under the original name lets its bugs and decisions get attributed to a project that did not make them. More generally, do not do anything with the name or FernTech’s branding that would let a reasonable user believe your project, fork, or service is official, affiliated with, or endorsed by FernTech when it is not.
"Teksilo" is the subject of French trademark application No. 5292025, filed with the INPI by FernTech in classes 9 and 42. The application is pending, and the policy will be updated when it is registered. The policy may be revised as the project evolves; revisions are not retroactive, and the version in effect is the one stated at the top of the file. If your use is not clearly covered above, ask first: [email protected].