Compare commits

..
Author SHA1 Message Date
golemandClaude Opus 5.5 edd7224bde docs(license): flag the earlier copyright-registration deadline
If the July and August 2026 pushes of the 1.1 code to the public Gitea count
as publication, the three-month window for statutory damages and fees closes
around 29 October to 1 November 2026, not January 2027.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 06:31:05 -06:00
golemandClaude Opus 5.5 ef621d291c docs(license): replace the license with the Zavage Software Freeware License 1.0
The old LICENSE.txt was a stock business EULA. It allowed use only "for your
internal business purposes", banned copying and reverse engineering of code we
publish, named "Zavage Software inc." as licensor, and claimed users agreed by
installing.

The new text lets anyone use the extension free of charge, for any purpose,
and withholds republishing, forks and reuse of the code. It also covers
versions 1.0 to 1.3, which AMO shows under one shared license record. The
README, CHANGELOG and package.json follow suit.

The text went through three multi-agent review passes. The decisions behind
it and the AMO publishing steps are in
docs/superpowers/specs/2026-10-19-license-design.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-19 06:28:51 -06:00
10 changed files with 174 additions and 362 deletions
-2
View File
@@ -2,5 +2,3 @@
node_modules/
web-ext-artifacts/
npm-debug.log*
# Listing images are generated; see docs/amo/README.md.
docs/amo/screenshots/
+7
View File
@@ -2,6 +2,13 @@
All notable changes to this project will be documented in this file. See [commit-and-tag-version](https://github.com/absolute-version/commit-and-tag-version).
## Unreleased
- Replace the license with the Zavage Software Freeware License 1.0, written in
plain English. Anyone may install and use the extension free of charge, for
any purpose, and the new terms also cover earlier versions. Republishing it,
sharing changed versions or reusing its code still needs permission.
## [1.3.0] (2026-10-18)
- Use the extension's bundled icon for the ChatGPT search engine.
+42 -53
View File
@@ -1,81 +1,70 @@
1. Grant of License
Zavage Software Freeware License 1.0
This Zavage Software inc. License Agreement (the "Agreement") is a legal agreement between
you (either an individual or a single entity) and Zavage Software inc. ("Licensor") for the
use of the software product identified above, which includes computer software and may include
associated media, printed materials, and "online" or electronic documentation (the "Software").
Copyright (c) 2024-2026 Mathew Guest <mat@zavage.net> (https://zavage-software.com), who publishes as Zavage Software ("Zavage Software").
By installing, copying, or otherwise using the Software,
you agree to be bound by the terms of this Agreement. If
you do not agree to the terms of this Agreement, do not
install or use the Software.
Anyone may install and use this extension free of charge, for any purpose. That permission lasts forever for every version this license covers. Without permission, nobody may republish, sell or give away copies of it, changed or not, or reuse its code, text or images elsewhere. You may read its source code, but this isn't an open source license. The full terms follow.
This license covers the browser extension Search with ChatGPT powered by OpenAI! (the "Software"): every version Zavage Software made before this license or publishes with it, under any name and for any browser, together with their source code, icons, images, documentation and store listings. On addons.mozilla.org its add-on ID is {24644f0c-bfcb-4ebd-a16b-bc8a7d154288}. Anything in the Software or its repository history that belongs to someone else, such as another company's logo, isn't covered by this license and stays with its owner. In this license, "you" means the person or organization using the Software.
2. License
Section 1: What you may do
The Software is licensed, not sold. Subject to the terms of this Agreement,
Licensor grants you a limited, non-exclusive, non-transferable,
non-sublicensable license to use the Software solely for your
internal business purposes.
You may install and use the Software for any purpose, personal or commercial, on any number of devices, free of charge. You may install it for others too, on devices you manage, such as your family's or your organization's. You may also:
3. Restrictions
- make the copies you need to install, run, sync and back up the Software, including a copy on an internal server or network share for installing it on devices you manage;
- read, study and test its source code, including to check its security and privacy, and make the copies you need for that, such as a clone of the official repository; and
- change your own copy, and use, copy and share the changed version only within your own household or organization.
You may not:
These permissions are worldwide, permanent and irrevocable: as long as you follow section 2, Zavage Software can't take them back. Section 5 explains what happens if you don't.
Copy, modify, or create derivative works of the Software.
Distribute, sell, sublicense, lease, rent, or otherwise transfer the Software to any third party.
Reverse engineer, decompile, disassemble, or otherwise attempt to derive the source code of the Software,
except to the extent expressly permitted by applicable law.
Use the Software in any manner that could damage, disable, overburden, or impair the
Software or interfere with any other party's use of the Software.
Section 2: What you may not do
4. Ownership
Except as this license allows, and unless Zavage Software gives you written permission (an email is enough), you may not:
All right, title, and interest in and to the Software, including all intellectual
property rights, are and will remain the sole property of Licensor. This Agreement does
not grant you any rights in or to the Software other than the limited license granted above.
- publish, distribute, sell, rent or give the Software, or a version made from it (a fork), to anyone else, whether or not you charge for it, including by listing it on an add-on store (such as addons.mozilla.org, the Chrome Web Store or Microsoft Edge Add-ons) or posting it on a public website or in a public code repository. A fork includes a changed copy, a version for another browser, a userscript, and a translation of its code or text, whether made by hand, with AI or with other tools;
- copy or adapt any part of its code, text, icons or images for anything else, such as another add-on, app, script, website, service or store listing; or
- remove or change its copyright and license notices.
Sharing a link to the official listing or repository is always fine, and so is naming the Software, quoting short parts of it, or showing its icon and screenshots or videos of it in use, in a review, an article, a tutorial, a class, a security report or a support request. Nothing in this license limits rights the law gives you anyway, such as fair use or fair dealing. Zavage Software keeps every right this license doesn't give you.
5. Termination
Section 3: Names and logos
This Agreement is effective until terminated. Licensor may terminate this Agreement
immediately if you breach any term of this Agreement. Upon termination, you must cease
all use of the Software and destroy all copies of the Software in your possession or control.
You may use the Zavage Software name and the Software's name and icon to refer to the Software, but not to brand anything else or to suggest that Zavage Software made or endorsed something it didn't. ChatGPT and OpenAI are trademarks of OpenAI. The Software is unofficial and isn't affiliated with or endorsed by OpenAI.
Section 4: ChatGPT is a separate service
6. Disclaimer of Warranties
The Software opens chatgpt.com in your browser with your text filled in. OpenAI runs ChatGPT under its own terms and privacy policy. Zavage Software doesn't control ChatGPT and isn't responsible for its availability or its answers, or for how OpenAI handles text that reaches ChatGPT through the Software.
The Software is provided "AS IS" and "AS AVAILABLE," without warranty of any kind.
Licensor disclaims all warranties, whether express, implied, statutory, or
otherwise, including but not limited to the implied warranties of merchantability,
fitness for a particular purpose, title, and non-infringement.
Section 5: If you break section 2
If you break section 2, Zavage Software may tell you so in writing (an email is enough). If, within 30 days of that notice, you stop and undo what you can, such as taking down copies you published, you keep your permissions under this license, though that doesn't excuse the breach. If you don't, or if you break section 2 again after a notice, your permissions under this license end: stop using the Software and delete your copies. Sections 6 to 10 still apply after that.
7. Limitation of Liability
Section 6: No warranty
To the maximum extent permitted by applicable law, in no event will Licensor be liable
for any indirect, incidental, special, consequential, or punitive damages, or any loss of
profits or revenues, whether incurred directly or indirectly, or any loss of data, use,
goodwill, or other intangible losses, resulting from (a) your use of or inability to use
the Software; (b) any unauthorized access to or use of the Software; or (c) any other
matter relating to the Software.
Because the Software is free, it comes without a warranty:
TO THE EXTENT THE LAW ALLOWS, THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT.
8. Governing Law
Section 7: Limit of liability
This Agreement will be governed by and construed in accordance with the laws of Denver, CO and the United States,
without regard to its conflict of law principles.
TO THE EXTENT THE LAW ALLOWS, FOR ANY CLAIM ARISING FROM THE SOFTWARE OR THIS LICENSE, ZAVAGE SOFTWARE IS NOT LIABLE FOR ANY INDIRECT, INCIDENTAL, SPECIAL, CONSEQUENTIAL OR PUNITIVE DAMAGES, OR FOR LOST DATA, PROFITS OR GOODWILL, AND ITS TOTAL LIABILITY FOR ALL SUCH CLAIMS WILL NOT EXCEED US$50.
Sections 6 and 7 don't limit liability for death or personal injury caused by negligence, for fraud, for harm caused deliberately, recklessly or through gross negligence, or under product liability laws. They also don't limit any other liability, or take away any consumer right, that the law doesn't allow to be limited or taken away.
9. Entire Agreement
Section 8: Law
This Agreement constitutes the entire agreement between you and Licensor regarding the use of the
Software and supersedes all prior and contemporaneous understandings, agreements, representations,
and warranties, both written and oral.
Colorado law and United States federal law govern this license. If you use the Software as a consumer, outside your trade, business or profession, you also keep the protections of the law where you live that an agreement can't take away.
10. Contact Information
Section 9: Earlier and later versions
If you have any questions about this Agreement, please contact Zavage Software Inc. at:
This license replaces any other terms that came with the versions it covers. A later version may come with different terms, but they can't take back what this license gives you for the versions it covers.
* mat@zavage.net (email)
* https://zavage-software.com (website)
Section 10: General
- If a court won't enforce part of this license, the rest still applies.
- If the Software passes to someone else, such as a company, this license keeps applying and they take Zavage Software's place in it.
Section 11: Contact
Official listing: https://addons.mozilla.org/firefox/addon/search-with-chatgpt/
Official repository: https://git-repos.zavage.net/zavage-software/search-with-chatgpt-powered-by-openai-extension
Questions, permission requests or security reports: mat@zavage.net, https://zavage-software.com
+4 -2
View File
@@ -7,7 +7,7 @@ It uses no API key, custom server, or intermediary handler.
**ChatGPT may require you to sign in. If your prompt is not sent automatically,
press Enter or click Send in ChatGPT.**
This is an unofficial extension provided by Zavage Software Inc.
This is an unofficial extension by Zavage Software.
- [Firefox Add-ons listing](https://addons.mozilla.org/en-US/firefox/addon/search-with-chatgpt/)
- [Project website](https://zavage-software.com/portfolio/search-with-ChatGPT)
@@ -15,7 +15,9 @@ This is an unofficial extension provided by Zavage Software Inc.
- [Feedback or report a bug](https://zavage-software.com/contact-us)
- [Zavage Software](https://zavage-software.com)
See `LICENSE.txt` for licensing terms.
Anyone may use the extension free of charge, for any purpose. Republishing it,
sharing changed versions or reusing its code needs permission. You may read the
source, but it isn't open source. See `LICENSE.txt` for the full terms.
## Ask about selected text
-116
View File
@@ -1,116 +0,0 @@
# Add-ons listing
Paste-ready text and images for the
[addons.mozilla.org listing](https://addons.mozilla.org/en-US/firefox/addon/search-with-chatgpt/).
Edit them in the AMO Developer Hub under the add-on's listing details.
Listing copy follows the copy rule in the
[options design](../superpowers/specs/2026-07-29-extension-options-design.md):
ChatGPT opens with the text *filled in*. Never say the text is sent, searched,
or asked. Keep "private", "incognito", and "secure" away from temporary chat,
and call temporary chat and web search hints.
## Branding
The name's "powered by OpenAI" and the extension's own icon follow OpenAI's
brand guidelines on purpose:
- OpenAI's logo would make unofficial software look official, so it isn't
used.
- "Powered by OpenAI" is one of the phrases the guidelines allow.
Keep both, along with the description's "unofficial" line.
## Summary
Plain text, 250 characters at most. The summary isn't Markdown, and AMO escapes
`<` and `>` in it, so `<Alt>` would show as `&lt;Alt&gt;`. The summary is the one
place that writes the shortcut without angle brackets:
```text
Ask ChatGPT from anywhere in Firefox. Type gpt in the address bar, right-click selected text, press Alt+Shift+G, or click the toolbar button. ChatGPT opens with your text filled in. Tiny, fast, no API key.
```
## Description
Since March 2025, AMO formats descriptions as
[Markdown](https://blog.mozilla.org/addons/2025/03/03/markdown/) and shows any
HTML as plain text. Plain `<Ctrl>` therefore shows as typed. Check the preview
after saving.
```markdown
Ask ChatGPT from anywhere in Firefox.
**Four ways to use it**
- **Address bar:** press <Ctrl>+L, type `gpt` and your question, like `gpt why does my cat knock things over?`, and press <Enter>.
- **Right-click:** select text on any page and choose Ask ChatGPT.
- **Keyboard:** select text and press <Alt>+<Shift>+G. With nothing selected, it opens a blank chat.
- **Toolbar:** click the Ask ChatGPT button.
ChatGPT opens with your text filled in. You may need to sign in to ChatGPT.
**Small on purpose**
The whole extension is about 56 KB, with no libraries, no server, no API key and no intermediary, and nothing is reported to us. Firefox opens chatgpt.com directly, and it never makes ChatGPT your default search engine unless you choose to.
**Make it yours**
- A simple right-click menu, or an advanced one with Explain, Summarize, Debug code and Translate.
- Your own prompt template, like `Explain simply: {query}`.
- Open ChatGPT in a new tab, a background tab or a new window.
- Ask for a temporary chat or a web search. These are hints, and ChatGPT decides whether to honour them.
- Add your own search keyword or change the shortcut in Firefox's settings.
Search with ChatGPT is an unofficial extension by Zavage Software and isn't affiliated with OpenAI.
[Source code](https://git-repos.zavage.net/zavage-software/search-with-chatgpt-powered-by-openai-extension) · [Project website](https://zavage-software.com/portfolio/search-with-ChatGPT) · [Feedback or report a bug](https://zavage-software.com/contact-us)
```
Update "about 56 KB" when the package size changes noticeably. `npm run build`
prints the ZIP's path.
## Screenshots
Upload in this order, with these captions. Each image is 1280×800, the size AMO
recommends, and carries no added text, as Mozilla's listing guide advises.
The images are not committed. Generate them as described under
[Regenerating the images](#regenerating-the-images); they land in
`docs/amo/screenshots/`, which git ignores, so the links below work once you
have.
| Image | Caption |
|---|---|
| [1-address-bar.png](screenshots/1-address-bar.png) | Type gpt and your question in the address bar. ChatGPT opens with it filled in. |
| [2-right-click.png](screenshots/2-right-click.png) | Select text on any page, right-click, and choose Ask ChatGPT. |
| [3-keyboard.png](screenshots/3-keyboard.png) | Or select text and press <Alt>+<Shift>+G. |
| [4-toolbar.png](screenshots/4-toolbar.png) | Or click the Ask ChatGPT button in the toolbar. |
| [5-advanced-menu.png](screenshots/5-advanced-menu.png) | Switch to the Advanced menu for Explain, Summarize, Debug code and Translate. |
A real screenshot of the options page in `about:addons` makes a good sixth
image: one genuine screenshot next to the drawings helps people trust them.
Suggested caption: "Every setting on one simple page."
## Regenerating the images
The images are the options page's drawings, enlarged by
[`screenshots.html`](screenshots.html), which reuses `options/options.css`. They
are generated rather than committed, like the build ZIP. When a drawing in
`options/options.html` changes, copy the change into `screenshots.html`. Then,
to produce the images, run these from the repository root:
```sh
python3 -m http.server 8766 --bind 127.0.0.1 &
profile=$(mktemp -d)
echo 'user_pref("layout.css.prefers-color-scheme.content-override", 1);' > "$profile/user.js"
for shot in 1-address-bar 2-right-click 3-keyboard 4-toolbar 5-advanced-menu; do
firefox --headless -no-remote -profile "$profile" --window-size=1280,800 \
--screenshot "$PWD/docs/amo/screenshots/$shot.png" \
"http://127.0.0.1:8766/docs/amo/screenshots.html#$shot"
done
kill %1
```
The output path must be absolute. The throwaway profile forces the light theme,
and a fresh one avoids Firefox serving an old copy of the page from its cache.
Opening `screenshots.html` without a `#fragment` shows every image in order.
-130
View File
@@ -1,130 +0,0 @@
<!doctype html>
<!-- Renders the options page drawings as 1280x800 images for the
addons.mozilla.org listing. Open with a #fragment (#1-address-bar) to
show one image; without one, every image is shown in order.
README.md in this folder explains how to regenerate them. Keep the
markup in step with the drawings in options/options.html. -->
<meta charset="utf-8" />
<title>Add-ons listing images</title>
<link rel="stylesheet" href="../../options/options.css" />
<style>
body {
max-width: none;
margin: 0;
padding: 0;
background: #ffffff;
}
.shot {
display: flex;
align-items: center;
justify-content: center;
width: 1280px;
height: 800px;
}
body:has(.shot:target) .shot:not(:target) {
display: none;
}
/* zoom re-lays the drawing out at the larger size, so text stays sharp. */
.stage {
width: 24rem;
zoom: 2.6;
}
.stage-wide {
width: 26rem;
zoom: 2.4;
}
.stage .drawing {
margin: 0;
max-width: none;
}
.stage .drawing-keycaps {
padding-top: 0.5rem;
}
</style>
<section class="shot" id="1-address-bar">
<div class="stage stage-wide">
<div class="drawing">
<div class="drawing-urlbar">
<span class="drawing-chip"><img src="../../icons/powered-by-openai-icon-128x128.png" alt="" />ChatGPT</span>
<span class="drawing-typed">why does my cat knock things over?</span>
</div>
</div>
</div>
</section>
<section class="shot" id="2-right-click">
<div class="stage">
<div class="drawing">
<p class="drawing-page">Nobody knows <mark>why cats knock things over</mark>…</p>
<div class="drawing-menu">
<div>Copy</div>
<div>Select All</div>
<hr />
<div class="drawing-menu-active"><img src="../../icons/powered-by-openai-icon-128x128.png" alt="" />Ask ChatGPT</div>
</div>
</div>
</div>
</section>
<section class="shot" id="3-keyboard">
<div class="stage">
<div class="drawing">
<p class="drawing-page">Cats sleep for <mark>sixteen hours a day</mark>.</p>
<div class="drawing-keycaps">
<kbd class="drawing-key">Alt</kbd>+<kbd class="drawing-key">Shift</kbd>+<kbd class="drawing-key">G</kbd>
</div>
</div>
</div>
</section>
<section class="shot" id="4-toolbar">
<div class="stage">
<div class="drawing">
<div class="drawing-toolbar">
<span class="drawing-address">example.com</span>
<span class="drawing-button">
<svg viewBox="0 0 16 16"><path d="M2 5.5h3a2 2 0 1 1 3.2 0h3.3v2.8a2 2 0 1 1 0 3.2v3H2z" /></svg>
</span>
<span class="drawing-button drawing-button-hover">
<img src="../../icons/powered-by-openai-icon-128x128.png" alt="" />
<svg class="drawing-pointer" viewBox="0 0 12 18"><path d="M1 1v14.5l3.6-3.4 2.6 5.6 2.2-1-2.6-5.5H11z" /></svg>
</span>
<span class="drawing-button">
<svg viewBox="0 0 16 16"><path d="M3 4.5h10M3 8h10M3 11.5h10" /></svg>
</span>
<span class="drawing-tooltip">Ask ChatGPT</span>
</div>
<p class="drawing-content"><mark>Why cats sit in every box</mark></p>
</div>
</div>
</section>
<section class="shot" id="5-advanced-menu">
<div class="stage">
<div class="drawing">
<div class="drawing-menus">
<div class="drawing-menu">
<div>Copy</div>
<div>Select All</div>
<hr />
<div class="drawing-menu-active"><img src="../../icons/powered-by-openai-icon-128x128.png" alt="" />Ask ChatGPT<span class="drawing-submenu-arrow">›</span></div>
</div>
<div class="drawing-menu drawing-submenu">
<div>Ask normally</div>
<hr />
<div class="drawing-menu-active">Explain</div>
<div>Summarize</div>
<div>Debug code</div>
<div>Translate…</div>
</div>
</div>
</div>
</div>
</section>
@@ -1,59 +0,0 @@
# Add-ons listing for 1.3
Status: implemented on `docs/24-amo-listing-add-screenshots-and-a` (#24). The
paste-ready text and captions are in [`docs/amo/`](../../amo/README.md), along
with the page that renders the images.
## Problem
The AMO listing had no screenshots, and its description covered only the `gpt`
keyword. It never mentioned right-click, the keyboard shortcut, or the toolbar
button. The listing is where newcomers decide to install and first learn how to
use the extension.
## Decisions
- **Tone: clear, with one joke.** The copy gives plain steps for newcomers. A
general cat joke ("gpt why does my cat knock things over?") replaces the old
programmer joke ("sudo make me a sammich"), and the images share the cat
theme.
- **Say it is small.** Customization without bloat is what sets this extension
apart, so the description has a "Small on purpose" section: about 56 KB, no
libraries, no server, no API key, no intermediary, and nothing reported to
us. These are the README's privacy claims; nothing new is claimed.
- **Drawings as screenshots.** The images are the options page's drawings,
enlarged and rendered by headless Firefox:
- They are part of the extension's own UI.
- They stay sharp and on brand.
- They can be regenerated after UI changes.
Real screenshots would show OS-specific menus and go stale. A real
screenshot of the options page is suggested as a sixth image, taken by the
maintainer, because one genuine screenshot builds trust in the rest.
- **AMO's guidance.** Images are 1280×800, the size AMO recommends and its
largest display size, and carry no added text. Explanations go in each image's
caption.
- **The copy rule holds.** ChatGPT opens with the text filled in; it is never
sent, searched, or asked. Temporary chat and web search are described as
hints, and "private", "incognito", and "secure" appear nowhere near temporary
chat.
- **Branding stays.** The name's "powered by OpenAI" and the extension's own
icon follow OpenAI's brand guidelines: no OpenAI logo on unofficial software,
and only the phrases the guidelines allow. The description's "unofficial"
line complements them.
- **Correction from the draft.** The description does not say ChatGPT opens "in
a new tab": `gpt` searches open in the current tab, and the other ways follow
the Open ChatGPT in setting.
## Files
- `docs/amo/README.md`: summary, description (Markdown, which AMO has used
instead of HTML since March 2025), captions in
upload order, and how to regenerate the images.
- `docs/amo/screenshots.html`: the drawing markup at 1280×800, one image per
`#fragment`, styled by `options/options.css`.
- `docs/amo/screenshots/*.png`: the five rendered images. They are generated
and git-ignored rather than committed, so the repository carries no binaries
and needs no Git LFS. The command to produce them is in the README.
`docs/` is excluded from the extension package, so none of this ships to users.
@@ -0,0 +1,119 @@
# Replace the license
Status: implemented on `docs/replace-license`. Researched and reviewed, but not
legal advice; no lawyer has read it.
## Problem
The old `LICENSE.txt` was a stock business EULA, unchanged since June 2024. It:
- allowed use only "for your internal business purposes", which leaves out
people using the extension at home;
- banned copying and reverse engineering, although the source is public and the
listing links to it;
- named "Zavage Software inc." as licensor, though the code is Mathew's;
- said users agreed by installing, which binds no one who installs from AMO.
## Goals
1. Anyone may use the extension for free, for any purpose, forever.
2. Nobody may fork it, republish it, or build or sell anything from it.
3. Everything else is reserved.
The text must not scare ordinary users away.
## How it was reviewed
Three multi-agent passes on 2026-10-19. Each finding was checked against primary
sources by a separate skeptic.
1. Seven lenses: US law, international law, platforms, comparable licenses, a
would-be cloner, ordinary users and drafting. A completeness critic followed.
This pass produced 92 findings.
2. A four-lens adversarial review of the revision, which produced 29 findings.
3. A final consistency check and cold read.
## Decisions
- **Custom text.** No standard license fits all three goals:
- PolyForm Strict allows noncommercial use only.
- PolyForm Internal Use covers business use only.
- PolyForm Perimeter, Shield and Noncommercial, Elastic, BSL and FSL all allow
redistribution.
- CC BY-NC-ND allows sharing unchanged copies.
- **A permission, not an agreement.** Copyright already forbids forks without
anyone agreeing to anything. "By installing you agree" doesn't bind people who
install from a store (Specht v. Netscape, 2d Cir. 2002).
- **Licensor: Mathew Guest, publishing as Zavage Software.** Colorado lists a
Zavage Software Inc. LLC, but the code was never assigned to it. Section 10
keeps the license in force if the code later passes to a company.
- **Earlier versions are covered.** On AMO, versions 1.0, 1.2 and 1.3 share one
license record (9155), and their signed packages bundle the old EULA. Section 9
replaces those terms.
- **Each version stays free forever.** A later version may carry different
terms, but it can't take back what this license gives. The owner chose this
over promising that every future version stays free.
- **Changed copies stay within your household or organization.** There is no
route for having Mozilla sign a changed copy. Submitting to AMO makes the
submitter warrant worldwide distribution rights (Firefox Add-on Distribution
Agreement §5(c)), which this license withholds. Changed copies still run as
temporary add-ons, or in Developer Edition, Nightly and ESR.
- **Reviews are welcome.** Reviews, tutorials, classes and security reports may
name the extension, quote short parts, and show its icon and screenshots of it
in use.
- **Liability is capped at US$50**, for claims about the Software only. The cap
has explicit exceptions (injury, fraud, deliberate or reckless harm, gross
negligence, product liability). A bare "to the extent the law allows" doesn't
save a cap in Germany, the UK or the EU.
- **Clauses left out:**
- A courts clause, which binds no forker and is unfair to EU and UK consumers.
- A noncompete or a ban on similar extensions. Ideas aren't protected, and
such a clause risks copyright misuse.
- Clauses on AI training and on outside contributions.
- **The name is "Freeware", not "Free Use".** "Free Use" has a slang meaning, and
"free" alone suggests free software.
- **The layout is plain text.** AMO shows license text as plain text: every line
break shows, and there's no Markdown. So each paragraph sits on one line, and
headings read "Section N:".
## Publishing on AMO (untested, 2026-10-19)
1. In the Developer Hub, open the add-on's **Manage Authors & License** page.
2. Set "What is your license's name?" to `Zavage Software Freeware License 1.0`.
The listing's License link and each version's "Source code released under …"
line show this name, not the text's first line.
3. Paste `LICENSE.txt` unchanged, and leave the End-User License Agreement box
unticked.
4. Save. Saving edits the shared record, so 1.0, 1.2 and 1.3 all show the new
text, and the next upload inherits it.
5. Check every version:
```sh
curl -s https://addons.mozilla.org/api/v5/addons/addon/search-with-chatgpt/versions/ \
| jq '.results[] | {version, license: .license.name}'
```
AMO turns the email address into a link to its own home page. It looks odd but
does no harm.
## Outside the license
- **Register the copyright** with the US Copyright Office (Standard Application,
US$65), and exclude AI-generated material that is more than trivial.
Registration is needed to sue and to keep a takedown in place after a
counter-notice. Statutory damages and fees also depend on registering within
three months of first publication.
- 1.2 and 1.3 reached AMO on 18 and 19 October 2026, so their window runs to
about 18 January 2027.
- The 1.1 code was pushed to the public Gitea in July and August 2026. If
those pushes count as publication, its window closes around 29 October to
1 November 2026. The old license's copy ban suggests they didn't, but that
reading is low confidence.
- So file by late October 2026 to be safe, and have an IP attorney confirm.
- **Replace the Chrome repository's `LICENSE.txt`.** It still carries the old
EULA and the public@zavage.net contact.
- **Report clones** through Mozilla's infringement form or
dmcanotice@mozilla.com. On AMO, Mozilla's own fork rule is a second route. Use
the Chrome Web Store's and Microsoft's DMCA forms for those stores.
- **Don't mirror the repository publicly on GitHub.** GitHub's terms let any
GitHub user fork a public repository there.
+1
View File
@@ -7,6 +7,7 @@
"": {
"name": "search-with-chatgpt-powered-by-openai-extension",
"version": "1.3.0",
"license": "SEE LICENSE IN LICENSE.txt",
"devDependencies": {
"web-ext": "10.5.0"
},
+1
View File
@@ -4,6 +4,7 @@
"private": true,
"type": "module",
"description": "Development tooling for the Search with ChatGPT Firefox extension.",
"license": "SEE LICENSE IN LICENSE.txt",
"engines": {
"node": ">=22"
},