1+# Maintenance Terms
2+3+> Last Updated: 27 June 2025
4+5+The code, text, and other materials in this repository are provided as-is under
6+the terms of the repository's [`LICENSE.md`][0] file, as a gift to the commons
7+and the common good. In providing this software as-is, its author(s) admit no
8+further obligations from anyone using the software for any reason, particularly
9+with respect to:
10+11+* Releases,
12+* Response time,
13+* Change review and integration,
14+* Disclosure schedules,
15+* Discretionary, proprietary or otherwise secretive communications, and
16+* Any other non-contractual obligations or conventions, regardless of their
17+ presumed urgency or severity.
18+19+Should anyone wish to make a contract with me (Gavin Howard) to ensure that work
20+he or she deems critical gets done, the terms are as follows:
21+22+* Compute time will be charged at \$25/hr.
23+* My time will be charged at \$100/hr.
24+* All issues deemed critical by either me or the requester, that also change the
25+ source code (anything in `gen`, `include`, or `src`) will require at least two
26+ weeks of fuzzing without error.
27+* If errors are found, those hours will still be charged on top of the final
28+ two weeks.
29+* All changes will require running the [release script][2] on Linux (GCC), Linux
30+ (Clang), FreeBSD, OpenBSD, macOS, Windows.
31+* Any hours spent on bugs or code that have been, or are suspected to have been,
32+ generated by "AI" will be charged double rates.
33+34+Compute time includes, but is not limited to:
35+36+* Fuzzing.
37+* Running my [release script][2].
38+* Running tests and my [release script][2] on macOS.
39+40+My time includes, but is not limited to:
41+42+* Code review.
43+* Reading bug reports.
44+* Design.
45+* Coding.
46+* Any compute time that interferes with my ability to do any other work:
47+* Fuzzing makes my computer unusable, so fuzzing for the 8-12 hours of the
48+ day that I could be working will be charged at \$100/hr.
49+* Same with running my [release script][2] because I run two instances on my
50+ machine and two in VMs at the same time.
51+* Running my [release script][2] or any other compute time on Windows
52+ because Windows blocks me from doing my main work on Linux.
53+* Any other instances of blocking compute time.
54+55+All amounts will be billed by, and paid to, [Yzena, LLC][2]. Invoices will be
56+provided, including line items for what each hour was spent on.
57+58+It is suggested that the following amounts be budgeted:
59+60+* At least \$3000 for a non-critical issue or change.
61+62+ The release script takes about 10 hours, and I would need to run it once on
63+ Linux (and others at the same time) and once on Windows, which is 20 hours.
64+ Most of that won't be at the \$100/hr rate, but some probably will be. Then
65+ an extra \$1000 for other work.
66+67+* At least \$15,000 for a critical issue or change.
68+69+ The \$3000 above is the start, which leaves \$12,000. Fuzzing is expected to
70+ cost \$11,400 (6 days a week, 8 hours a day, at \$100, the rest at \$25), and
71+ rounded up to \$12,000 for good measure.
72+73+---
74+75+This document is inspired by [Mike Hoye's Maintenance Terms][1].
76+77+[0]: LICENSE.md
78+[1]: https://github.com/mhoye/maintenance-terms
79+[2]: scripts/release.sh
80+[3]: https://yzena.com/