BC Maintenance Terms

3 months ago 2
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/

Read Entire Article