Required Notice: Copyright (c) 2026 mszaro (https://github.com/mszaro)
Rubotty is licensed under the PolyForm Strict License 1.0.0, with a contribution addendum added by the licensor.
Everything between the two horizontal rules below is the canonical text of the PolyForm Strict License 1.0.0, taken from https://polyformproject.org/licenses/strict/1.0.0 and reproduced without modification. If you have read PolyForm Strict before, skip to the Rubotty Contribution Addendum after the second rule. That is where everything specific to this project lives.
One note on the Required Notice line above. PolyForm Strict 1.0.0 has no Notices section, because it does not permit distribution at all, so the base licence gives that line no operative effect by itself. It identifies the licensor here, and section 13 of the addendum gives it effect for the copies the addendum permits.
https://polyformproject.org/licenses/strict/1.0.0
In order to get any license under these terms, you must agree to them as both strict obligations and conditions to all your licenses.
The licensor grants you a copyright license for the software to do everything you might do with the software that would otherwise infringe the licensor’s copyright in it for any permitted purpose, other than distributing the software or making changes or new works based on the software.
The licensor grants you a patent license for the software that covers patent claims the licensor can license, or becomes able to license, that you would infringe by using the software.
Any noncommercial purpose is a permitted purpose.
Personal use for research, experiment, and testing for the benefit of public knowledge, personal study, private entertainment, hobby projects, amateur pursuits, or religious observance, without any anticipated commercial application, is use for a permitted purpose.
Use by any charitable organization, educational institution, public research organization, public safety or health organization, environmental protection organization, or government institution is use for a permitted purpose regardless of the source of funding or obligations resulting from the funding.
You may have “fair use” rights for the software under the law. These terms do not limit them.
These terms do not allow you to sublicense or transfer any of your licenses to anyone else, or prevent the licensor from granting licenses to anyone else. These terms do not imply any other licenses.
If you make any written claim that the software infringes or contributes to infringement of any patent, your patent license for the software granted under these terms ends immediately. If your company makes such a claim, your patent license ends immediately for work on behalf of your company.
The first time you are notified in writing that you have violated any of these terms, or done anything with the software not covered by your licenses, your licenses can nonetheless continue if you come into full compliance with these terms, and take practical steps to correct past violations, within 32 days of receiving notice. Otherwise, all your licenses end immediately.
As far as the law allows, the software comes as is, without any warranty or condition, and the licensor will not be liable to you for any damages arising out of these terms or the use or nature of the software, under any kind of legal claim.
The licensor is the individual or entity offering these terms, and the software is the software the licensor makes available under these terms.
You refers to the individual or entity agreeing to these terms.
Your company is any legal entity, sole proprietorship, or other kind of organization that you work for, plus all organizations that have control over, are under the control of, or are under common control with that organization. Control means ownership of substantially all the assets of an entity, or the power to direct its management and policies by vote, contract, or otherwise. Control can be direct or indirect.
Your licenses are all the licenses granted to you for the software under these terms.
Use means anything you do with the software requiring one of your licenses.
This addendum is written by the licensor of Rubotty. It is not part of the PolyForm Strict License 1.0.0 and the PolyForm Project has no involvement in it. It grants one additional licence, attaches conditions to that licence, and sets out the licence you grant the licensor when you contribute.
The definitions in the Base License apply to this addendum. In addition:
Base License means the PolyForm Strict License 1.0.0 reproduced above.
Upstream Repository means the repository at https://github.com/mszaro/rubotty, or any repository the licensor later designates as its successor in that repository’s README.
Change Set means a particular set of changes to the software that you intend to submit, or have submitted, to the Upstream Repository.
Contribution Fork means a copy of the software that you make under section 3, together with any changes you make to that copy. It does not matter how you created or host the copy, or whether the hosting platform calls it a fork.
Pull Request means a proposal to merge a Change Set into the Upstream Repository, opened through the review mechanism the Upstream Repository uses.
Contribution means a Change Set that you submit in a Pull Request, in the form you submit it, including any revision you make to it while that Pull Request is open. It also means any other material you submit to the Upstream Repository for inclusion in the software, however you submit it, including code in a review comment, a review suggestion, an issue or a discussion.
Contribution License means the licence granted in section 3.
Resolved means, in relation to a Pull Request, the earlier of the date it is merged and the date it is closed without being merged.
The Base License continues to apply in full and its text is not modified by this addendum. This addendum only adds.
The Contribution License is one of your licenses for the purposes of the Base License. The Acceptance, Patent Defense, Violations and No Liability sections of the Base License apply to it.
Where a term of this addendum cannot be read consistently with the Base License, this addendum governs, and only so far as the inconsistency requires.
Subject to the conditions in this addendum, the licensor grants you a licence to reproduce the software, to make changes and new works based on it, and to publish the resulting Contribution Fork, for the single purpose of preparing a Change Set and submitting it to the Upstream Repository.
That purpose is the whole of the licence. The Contribution License does not permit distribution of the software or of a Contribution Fork for any other purpose, and it does not widen the permitted purposes of the Base License.
The Contribution License for a Change Set begins on the date you first reproduce the software intending to prepare that Change Set.
Where the hosting platform records that you forked the Upstream Repository, and you held no earlier copy of the software, that recorded date is taken to be the start date of the first Change Set you prepare from that fork, unless you show that you began preparing it later. Every later Change Set prepared from the same fork takes its own start date under the paragraph above.
It ends on the earliest of:
(a) 30 days after the date the Pull Request containing that Change Set is Resolved;
(b) 90 days after the date the Contribution License for that Change Set began, if you have not opened a Pull Request containing that Change Set by then;
(c) 12 months after the date the Pull Request containing that Change Set was most recently opened or reopened;
(d) 24 months after the date the Contribution License for that Change Set began, whatever has been done to the Pull Request in the meantime; and
(e) the date you notify the licensor that you have abandoned the Change Set.
If you open a Pull Request containing the Change Set before the period in (b) runs out, paragraph (b) stops applying to that Change Set and paragraphs (a), (c) and (d) govern.
A Pull Request that is reopened stops being Resolved from the moment it is reopened, and the period in paragraph (a) runs afresh from the next date it is Resolved. Reopening restarts paragraphs (a) and (c). It does not affect paragraph (d), which is the outer bound and cannot be restarted by you.
The licensor may extend any period in this section in writing.
Each Change Set has its own Contribution License and its own periods. Beginning a new Change Set begins a new Contribution License for it.
You may execute the software and your Contribution Fork to develop and test the Change Set. That includes running it on your own machine or on infrastructure you control, connecting it to test accounts on a chat platform, and inviting it to a room used for testing.
You may not operate an instance of a Contribution Fork for any community or for any user other than yourself, whether or not you charge for it and whether or not the instance is temporary. A Contribution Fork exists to produce a Change Set. Operating one is outside the Contribution License.
The Base License does not permit you to modify an instance you operate under it. The way to get a change of your own into that instance is to submit the change and update once the licensor makes a version containing it available.
This section restricts modified copies only. Your licence under the Base License to use the unmodified software for a permitted purpose is not affected.
You may publish a Contribution Fork only for bona fide development reasons. A Contribution Fork is published for bona fide development reasons only if all of the following are true:
(a) it exists to prepare or revise a Change Set that you intend to submit to the Upstream Repository;
(b) you do not take steps to make it more widely available than the hosting platform’s own default for a fork or copy of that kind, and you do not advertise or promote it; and
(c) it is not offered to anyone as a source of the software, as a distribution or release of it, or as an alternative to the Upstream Repository.
Publishing built artifacts, packages, container images or releases from a Contribution Fork is outside the Contribution License, as is directing anyone to a Contribution Fork as a place to obtain or install the software.
By the date the Contribution License ends you must stop publishing the Contribution Fork, by deleting it or, where the hosting platform allows it, by making it private. You must also stop operating it and stop making further changes to it under this addendum.
You may keep a private, unpublished copy for your own records. Keeping such a copy does not permit you to publish it, operate it or resume development on it.
The licensor has no technical means to delete, hide or otherwise reach a copy hosted in your own account, and this addendum does not claim any. This section states an obligation you take on. It is not enforced by the Upstream Repository or by the hosting platform. On GitHub a fork of a public repository created with the Fork button is public and cannot be made private, so deleting it is the way to comply. A copy you made by cloning and pushing to a repository of your own can be made private instead.
The ending of the Contribution License:
(a) ends your permission to publish, operate or continue developing the Contribution Fork;
(b) does not affect any licence you granted the licensor under section 10, which is perpetual and irrevocable and survives the ending of the Contribution License;
(c) does not affect the licensor’s rights in any Contribution merged into the Upstream Repository, or in the software as it incorporates that Contribution;
(d) does not require the licensor, or anyone else, to remove, revert, stop using or stop distributing any merged Contribution; and
(e) does not affect any licence you hold under the Base License for the unmodified software.
Expiry under section 4 happens by itself. It is not a violation of these terms, no written notice is needed for it, and the Violations section of the Base License is not engaged by expiry alone.
Publishing or operating a Contribution Fork after the Contribution License has expired does violate these terms. The Violations section of the Base License then applies in the ordinary way: on the first written notice you have 32 days to come into full compliance, which here means deleting or unpublishing the Contribution Fork, and your licences continue if you do.
The two periods run one after the other rather than together. The 30 days in section 4(a) is the time you are permitted to keep a Contribution Fork published. The 32 days in the Base License is time to cure a breach, and it runs from the date you receive written notice of that breach. The licensor is under no obligation to send that notice at any particular time, or at all, so the two periods do not combine into an outer bound: a Contribution Fork published after expiry remains in breach for as long as it stays published. The licensor does not treat the cure period as an extension of the 30 days, and 30 days remains the deadline you are asked to meet. The numbers are left different so the two periods are not mistaken for each other.
You grant the licensor a worldwide, perpetual, irrevocable, non-exclusive, royalty-free, fully paid-up, transferable licence, sublicensable through multiple tiers, to reproduce, prepare derivative works of, publicly display, publicly perform, distribute, sublicense and otherwise exploit your Contribution, in whole or in part, on its own or as part of the software or any other work, in any medium and by any means now known or later developed. That licence includes the right to license the software including your Contribution under any terms the licensor chooses, including terms that differ from these and including terms adopted in a future change of licence.
You grant the licensor and every recipient of the software a worldwide, perpetual, irrevocable, non-exclusive, royalty-free, fully paid-up, transferable and sublicensable patent licence under any patent claim you own or control, or later come to own, control or have the right to license, that is necessarily infringed by your Contribution alone or by the combination of your Contribution with the software to which you submitted it, to make, have made, use, offer to sell, sell, import and otherwise transfer the software.
So far as the law allows, you waive and agree not to assert against the licensor or anyone the licensor licenses any moral right, right of attribution or right of integrity you hold in your Contribution. Where the law does not allow that waiver, you consent to the uses described in section 10.1.
You represent that:
(a) each Contribution is your own original work, or you otherwise hold the rights needed to submit it under this section;
(b) you are legally entitled to grant the licences in sections 10.1 and 10.2;
(c) if your employer or any other person holds rights in your Contribution, you have their permission to submit it, they have waived those rights, or they have authorised you to submit it on their behalf; and
(d) your Contribution does not knowingly include material belonging to someone else that you have not identified under section 10.5.
Material produced by a code generation tool acting under your direction counts as your own work for the purposes of paragraph (a), and you are responsible for it as if you had written it yourself. You must review such material before you submit it. Where such a tool reproduces material belonging to someone else, section 10.5 applies to that material. Where such material attracts no copyright, paragraphs (a) and (b) are satisfied as to it and sections 10.1 and 10.2 apply to whatever rights do subsist.
If a Contribution includes material you did not write and that is licensed to you by someone else, you must identify that material, its source and its licence in the Pull Request or, where you submit a Contribution outside a Pull Request, with that submission, so far as you know or ought reasonably to know of it, and its licence must permit the licensor to use and distribute it as part of the software. Sections 10.1 and 10.2 apply to your own work, not to that third-party material.
The licensor is under no obligation to review, merge or use any Contribution. The licences in this section attach to a Contribution when you submit it, whether or not the Pull Request is merged.
Except for the representations in section 10.4, you provide each Contribution as is, without warranty or condition of any kind.
You accept this addendum on the earliest of the date the Contribution License begins under section 4, the date you open a Pull Request against the Upstream Repository, and the date you submit any other Contribution to the Upstream Repository. Reproducing the software to prepare a Change Set is acceptance, because the Contribution License is the only permission under which you may do it. Submitting a Contribution by any other route is acceptance because section 10 attaches to it.
The Upstream Repository’s pull request template carries an attestation that names this addendum by version. You are asked to confirm that attestation on every Pull Request. It confirms an acceptance that has already happened rather than causing it. The licensor may additionally require a one-time signature through a contributor licence agreement service before a first Contribution is merged.
Each commit should also carry a trailer in the form:
Rubotty-Contribution-Addendum: 1.0.0
recording the version of this addendum you accepted for that commit and that
the representations in section 10.4 are true for it. This project does not use
the Signed-off-by trailer for that purpose. That trailer means the Developer
Certificate of Origin nearly everywhere else, the Developer Certificate of
Origin certifies that a contribution may be submitted under an outbound open
source licence, and this project has no outbound open source licence for it to
refer to.
The licences in section 10 are granted when you submit the Contribution and do not depend on the attestation or the trailer being present. A missing attestation or trailer leaves a gap in the record rather than in the grant.
Publishing a Contribution Fork under section 3 does not grant any licence to anyone who reads, clones or downloads it. Their rights in the software are whatever the Base License gives them directly and nothing more.
The No Other Rights section of the Base License already prevents you from sublicensing or transferring your licenses. The Contribution License may not be assigned either.
Exercising the sublicensing right in section 10.1, the licensor grants any person a licence to reproduce, run and make changes to a submitted Contribution, and to the software as modified by that Contribution, for the sole purpose of reviewing and testing it in connection with the submission in which it was made. That licence ends when the Pull Request containing the Contribution is Resolved or, for a Contribution submitted outside a Pull Request, 30 days after it is submitted. It carries no right to publish, distribute or operate the Contribution, the software as modified by it, or any other work containing it.
Every copy of the software you make under section 3, and every Contribution
Fork you publish, must keep this file complete and unaltered, including the
Required Notice: line at the top of it, except as part of a Change Set that
proposes a change to this file.
The licensor may publish later versions of this addendum. The version that applies to a Change Set is the version in the Upstream Repository on the date the Contribution License for that Change Set began. A later version does not change the licences you have already granted under section 10.
If any provision of this addendum is held unenforceable, it applies with the smallest modification needed to make it enforceable, or is severed if no such modification is possible. The rest of this addendum, and the Base License, continue in force.
If the Contribution License is held unenforceable as a whole, the licences you granted under section 10 over Contributions you have already submitted continue in force.
For a licence to use the software for a commercial purpose, or for any permission this file does not give, contact the licensor through https://github.com/mszaro.