OpenBSD Adds Mars Time Support
Why is this OperatingSystems meme funny?
Level 1: Mars Clocks
Imagine moving a school to Mars, where the day is a little longer, and someone says, "No problem, we will just use Mars clocks." Then you discover every bell, attendance sheet, bus schedule, lunch plan, and door lock depends on Earth clocks. The meme is funny because the computer people are pretending to handle that enormous mess calmly, right down to warning that even logging in from Earth might not work.
Level 2: Time Is Infrastructure
For a newer developer, TZ means timezone configuration. Setting something like TZ=UTC tells programs how to display and interpret local civil time. In the image, TZ=MCT means "Coordinated Mars Time," a Mars equivalent of UTC. That sounds like a display preference, but many programs depend on time in deeper ways.
A few examples:
- SSH uses time indirectly through authentication, session validity, logging, and cryptographic checks.
- TLS certificates have "valid from" and "valid until" timestamps.
- Filesystems store modification and access times.
- Network services use timeouts and caches.
- Logs depend on clocks so humans can reconstruct what happened.
That is why the screenshot's jump from Mars days to kern_time.c, syscalls.master, time.h, and "base library" changes is funny. A beginner might expect one configuration file. A systems programmer knows the phrase "just change how time works" is how an innocent afternoon becomes a week of recompiling the world.
Level 3: Planetary Yak Shaving
At senior-engineer altitude, the humor is the mismatch between the deadpan commit format and the cosmic absurdity of the requirement. The page looks like a normal source-control diff: directories, file names, a log message, warnings, and acknowledgments. Then the content calmly announces support for Mars as if the next quarterly roadmap includes onboarding rover administrators.
The visible text includes TZ=MCT, mentions TZ=Mars/Perseverance, warns that SSH cannot currently login between MCT and Earth time zones, and says "Mars can't wait" for testing. That is classic UnixCulture comedy: take an obviously impractical idea, implement the hard parts with maximum seriousness, then describe the broken edge cases like a production migration note.
It also satirizes how TimeZonesAreHard is never just a frontend formatting problem. Teams often discover this late. Someone thinks they are storing UTC, but a report groups by local day. A database column silently drops timezone information. A scheduler fires twice at daylight saving time. Logs from different systems disagree. Certificates expire "early" because clocks drift. Now scale that up from "New York versus Berlin" to "Earth versus Mars," add base-library compatibility, and enjoy explaining to security why SSH authentication depends on which planet the server believes it is on.
The OpenBSD flavor matters because the project has a reputation for conservatism, correctness, and sharp technical culture. A fake-serious Mars time diff works because it is formatted like the kind of change log that would normally be terse, precise, and brutally honest about breakage. The absurd part is not that time support touches everything. The absurd part is that the destination is Mars, and the commit still reads like it expects you to update properly and stop complaining.
Level 4: Sol-Date Syscalls
The screenshot is funny because it treats a ridiculous platform requirement with the solemn gravity of a real OperatingSystems change. The visible log says:
this diff introduces Coordinated Mars Time (MTC)
and then immediately escalates from "Mars has longer days" to kernel files, base libraries, ABI breakage, SSH, TLS, DHCP, name service testing, and the wonderfully ominous:
DANGER: ABI incompatibility.
That escalation is the technical core. Time is not just a number painted on a clock widget. In a Unix-like operating system, time leaks through time.h, system calls, filesystem timestamps, process accounting, socket timeouts, certificate validation, logs, cron-like scheduling, authentication windows, and wire protocols. The screenshot lists files under sys/kern, sys/sys, sys/netinet6, sys/nfs, sys/ufs, sys/ntfs, and more, which makes the joke feel like a real platform port instead of a harmless timezone database entry.
The Mars detail makes it nastier. The visible text says a Martian day is 24 h 39 m 35.244 s long. Earth-based systems usually assume civil time can be mapped onto days, hours, minutes, seconds, offsets, and leap-second headaches that are already bad enough. A longer planetary day breaks the comforting intuition that a "day" is always 86,400 SI seconds in normal application logic. Even if an OS can store monotonic time cleanly, userland programs often make sloppy assumptions around midnight boundaries, daily rotation, certificate validity, "same day" calculations, and calendar arithmetic. Timezone handling is where software goes to discover it was really anthropology with integers.
The ABI joke is especially good. An ABI, or Application Binary Interface, is the contract compiled programs rely on: struct layouts, symbol versions, syscall numbers, calling conventions, and library interfaces. The screenshot says to "Bump the major on every single base library as many interfaces change." That is an absurdly large blast radius for a feature that sounds like TZ=MCT, but it mirrors a real systems truth: if time-related structs or exported functions change, old binaries may misinterpret memory, call the wrong symbols, or fail at login. "Install a snapshot instead" is the dry OpenBSD-shaped way of saying the operating system has become a time machine, and the machine rejects your old userspace.
Description
The screenshot shows a browser page at "https://marc.info/?l=openbsd-cvs&m=161730046519995&w=2" with a monospace OpenBSD CVS diff listing modified areas such as "sbin/slaacd", "sbin/unwind", "sys/kern", "sys/msdosfs", "sys/netinet6", "sys/nfs", "sys/ntfs", "sys/sys", "sys/ufs/ext2fs", and "sys/ufs/ufs", with files including "kern_time.c", "syscalls.master", "time.h", and "ufs_vnops.c". The visible log message says the diff introduces "Coordinated Mars Time (MTC), the Mars equivalent of earths Universal Time (UTC)", explains that Mars has a 24 h 39 m 35.244 s day, and says OpenBSD can work with Martian time zones using "TZ=MCT" while "TZ=Mars/Perseverance" aliases are not yet defined. It also says to "Bump the major on every single base library", warns "DANGER: ABI incompatibility", notes that updating requires extra work or users will not be able to login, and warns SSH cannot currently login between MCT and Earth time zones. The joke, amplified by the April 1, 2021 source date, is that a deadpan operating-system commit treats Mars time support as a serious kernel, libc, TLS, SSH, and ABI-breaking platform requirement.
Comments
7Comment deleted
Time zones were already bad enough before someone filed an ABI-breaking ticket from Mars.
OpenBSD folks do seem the type who might actually implement this as a joke, rather than just pretending to do so for a joke Comment deleted
jokes aside, that'll be needed some time in the future. Comment deleted
I will just leave it over here: Clocks in GNSS... No need to thank me. Comment deleted
What OS do the mars rovers use? Comment deleted
waveworks iirc Comment deleted
and the rover is linux Comment deleted