aboutsummaryrefslogtreecommitdiff
path: root/contrib/bc/MAINTENANCE-TERMS.md
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/bc/MAINTENANCE-TERMS.md')
-rw-r--r--contrib/bc/MAINTENANCE-TERMS.md80
1 files changed, 80 insertions, 0 deletions
diff --git a/contrib/bc/MAINTENANCE-TERMS.md b/contrib/bc/MAINTENANCE-TERMS.md
new file mode 100644
index 000000000000..ef24202cc6c2
--- /dev/null
+++ b/contrib/bc/MAINTENANCE-TERMS.md
@@ -0,0 +1,80 @@
+# Maintenance Terms
+
+> Last Updated: 27 June 2025
+
+The code, text, and other materials in this repository are provided as-is under
+the terms of the repository's [`LICENSE.md`][0] file, as a gift to the commons
+and the common good. In providing this software as-is, its author(s) admit no
+further obligations from anyone using the software for any reason, particularly
+with respect to:
+
+* Releases,
+* Response time,
+* Change review and integration,
+* Disclosure schedules,
+* Discretionary, proprietary or otherwise secretive communications, and
+* Any other non-contractual obligations or conventions, regardless of their
+ presumed urgency or severity.
+
+Should anyone wish to make a contract with me (Gavin Howard) to ensure that work
+he or she deems critical gets done, the terms are as follows:
+
+* Compute time will be charged at \$25/hr.
+* My time will be charged at \$100/hr.
+* All issues deemed critical by either me or the requester, that also change the
+ source code (anything in `gen`, `include`, or `src`) will require at least two
+ weeks of fuzzing without error.
+ * If errors are found, those hours will still be charged on top of the final
+ two weeks.
+* All changes will require running the [release script][2] on Linux (GCC), Linux
+ (Clang), FreeBSD, OpenBSD, macOS, Windows.
+* Any hours spent on bugs or code that have been, or are suspected to have been,
+ generated by "AI" will be charged double rates.
+
+Compute time includes, but is not limited to:
+
+* Fuzzing.
+* Running my [release script][2].
+* Running tests and my [release script][2] on macOS.
+
+My time includes, but is not limited to:
+
+* Code review.
+* Reading bug reports.
+* Design.
+* Coding.
+* Any compute time that interferes with my ability to do any other work:
+ * Fuzzing makes my computer unusable, so fuzzing for the 8-12 hours of the
+ day that I could be working will be charged at \$100/hr.
+ * Same with running my [release script][2] because I run two instances on my
+ machine and two in VMs at the same time.
+ * Running my [release script][2] or any other compute time on Windows
+ because Windows blocks me from doing my main work on Linux.
+ * Any other instances of blocking compute time.
+
+All amounts will be billed by, and paid to, [Yzena, LLC][2]. Invoices will be
+provided, including line items for what each hour was spent on.
+
+It is suggested that the following amounts be budgeted:
+
+* At least \$3000 for a non-critical issue or change.
+
+ The release script takes about 10 hours, and I would need to run it once on
+ Linux (and others at the same time) and once on Windows, which is 20 hours.
+ Most of that won't be at the \$100/hr rate, but some probably will be. Then
+ an extra \$1000 for other work.
+
+* At least \$15,000 for a critical issue or change.
+
+ The \$3000 above is the start, which leaves \$12,000. Fuzzing is expected to
+ cost \$11,400 (6 days a week, 8 hours a day, at \$100, the rest at \$25), and
+ rounded up to \$12,000 for good measure.
+
+---
+
+This document is inspired by [Mike Hoye's Maintenance Terms][1].
+
+[0]: LICENSE.md
+[1]: https://github.com/mhoye/maintenance-terms
+[2]: scripts/release.sh
+[3]: https://yzena.com/