[Themaintainers] XKCD comic on maintenance

Jessica Mink jmink at cfa.harvard.edu
Thu Aug 20 11:13:03 EDT 2020


Fellow maintainers,

I've been developing software for reducing and analyzing astronomical 
data since I started my Masters thesis in 1973, now pushing toward 50 
years ago. For the first 10 years, I pretty much had to write everything 
myself, including a few local subroutines that other people had written, 
but usually having to rewrite them to do what I wanted. As I adopted 
formats which were becoming standard, I wrote my own libraries to 
implement them, occasionally adding code others had written. Thirty 
years ago, I put out my first open-source package, which fit into a big 
system which had been in use for less than ten years at that point. I 
had been one of the first users in the mid-80's and understood it pretty 
deeply, but was not ready to maintain the entire system. Luckily, a few 
others have been doing that, though that maintenance has been fading as 
younger astronomers switch to Python. For me to move to Python, an 
entire software ecosystem for dealing with the type of data the current 
system handles transparently would have to be created, so have not moved 
it yet.

When I saw a need for a second package in astronomy a few years later, 
it turned out that a lot of the libraries I had already written could be 
repurposed, and a few new subroutines written. Over the past 25 years, I 
developed a self-contained package in C which has gradually become 
robust to compiler changes as it has gained users. The interfaces at 
both the top level and the lower levels have remained *almost* 
unchanging. One way to find out who's using the code has been to make a 
change deep in the program and find out who responds. Someone always 
does. Luckily, it's technical-enough software that I can publish a paper 
describing what it does in pretty good detail, but I'm turning 69 in a 
couple of weeks, and will someday retire (after I publish that big 
as-yet-unwritten paper), and I'm worrying a bit about succession. My 
generation has been so successful in encapsulating knowledge of this 
sort in software that the next generations haven't needed to understand 
the concepts well enough to write their own software. I suspect this 
problem happens with most complicated software, processes, and devices. 
We need to foster future tinkerers who will be able to figure out what 
is going wrong when it inevitably does.

-Jessica Mink
  Smithsonian Astrophysical Observatory
  Cambridge, Massachusetts
  http://tdc-www.harvard.edu/mink/

On 08/18/2020 10:13 AM, Kara Andersen wrote:
> Hello Maintainers -
>
> In case you haven’t seen it already, I thought I’d share this XKCD 
> comic about maintenance.
>
> Kara
>
>
> Permalink: https://xkcd.com/2347/
>
> _______________________________________________
> Themaintainers mailing list
> Themaintainers at lists.stevens.edu
> https://lists.stevens.edu/mailman/listinfo/themaintainers
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.stevens.edu/pipermail/themaintainers/attachments/20200820/949a7c97/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: dependency_2x.png
Type: image/png
Size: 82262 bytes
Desc: not available
URL: <http://lists.stevens.edu/pipermail/themaintainers/attachments/20200820/949a7c97/attachment-0001.png>


More information about the Themaintainers mailing list