adding longevity

This commit is contained in:
Kathleen Fitzpatrick
2025-08-18 13:44:13 -04:00
parent a052657014
commit 4038b5c503
77 changed files with 882 additions and 29 deletions

View File

@@ -548,6 +548,11 @@ pre[class*="language-diff-"] {
<details><summary>2025</summary>
<ol reversed="" class="archivelist">
<li class="archivelist-item">
<a href="/longevity/" class="archivelist-link">Longevity and Sustainability</a><br>
<time class="archivelist-date" datetime="2025-08-18">18 August 2025</time>
</li>
<li class="archivelist-item">
<a href="/networking-continued/" class="archivelist-link">Networking Continued</a><br>
<time class="archivelist-date" datetime="2025-08-09">09 August 2025</time>

View File

@@ -5,11 +5,32 @@
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
<link href="https://kfitz.info/feed/feed.xml" rel="self" />
<link href="https://kfitz.info/" />
<updated>2025-08-09T20:38:09Z</updated>
<updated>2025-08-18T15:45:25Z</updated>
<id>https://kfitz.info/</id>
<author>
<name>Kathleen Fitzpatrick</name>
</author>
<entry>
<title>Longevity and Sustainability</title>
<link href="https://kfitz.info/longevity/" />
<updated>2025-08-18T15:45:25Z</updated>
<id>https://kfitz.info/longevity/</id>
<content type="html">&lt;p&gt;I&#39;ve been puzzling a bit of late about the relationship between sustainability planning for independent, nonprofit digital projects and the need to provide evidence of that sustainability even as it&#39;s being developed. The question has been pitched to me recently as being about &lt;em&gt;longevity&lt;/em&gt;: can your project promise potential supporters that it will survive the next ten years?&lt;/p&gt;
&lt;p&gt;It&#39;s a valid question, especially when the project is one that is in some sense &lt;em&gt;about&lt;/em&gt; longevity, about (for instance) preserving the products of knowledge creation for the future. But it&#39;s a hard one to answer in the best of times, and goodness knows that we are not currently living through the best of times.&lt;/p&gt;
&lt;p&gt;How much have the ways that we think about longevity and sustainability been conditioned by our experiences of working with software and platforms that, even when provided without charge, are operated by massive corporations with resources to burn? These companies can afford to move quickly, to respond to rapid growth, to develop robust user support, and to add new features with the kind of agility that very few small nonprofit or community-based groups can muster.&lt;/p&gt;
&lt;p&gt;This is not to say that nonprofit projects should operate freed from any expectations for professionalism, including long-term planning, technical durability and security, attention to user needs, and so on; these are crucial considerations for any piece of infrastructure. But I worry that some of the metrics that we use in thinking about sustainability wind up privileging corporate solutions even when we&#39;re seeking values-aligned, non-extractive alternatives.&lt;/p&gt;
&lt;p&gt;It will not shock anyone that I&#39;m mostly thinking about my own project in this context.&lt;sup class=&quot;footnote-ref&quot;&gt;&lt;a href=&quot;https://kfitz.info/longevity/#fn1&quot; id=&quot;fnref1&quot;&gt;[1]&lt;/a&gt;&lt;/sup&gt; That project has been around for more than ten years, and has over that time demonstrated slow, sustainable growth, but it has been dependent on grant-based, project-oriented funding to support its work. We are now trying to break away from that model and put in place a mature revenue generation model that will allow us to recoup operating costs (and with luck to produce a small margin to support future needs) through membership fees paid by organizations and institutions that want to use our platform. As part of their membership, they get a voice in our governance processes, and thus have the ability to shape the project&#39;s future.&lt;/p&gt;
&lt;p&gt;But for very understandable reasons, we&#39;re hearing questions about the potential longevity of the project, as folks with decision-making responsibility want to be sure that their investment will be to a good end, and that the work they subsequently entrust to the platform will be available over the long term. It&#39;s a Catch-22, though, in that &lt;em&gt;without&lt;/em&gt; their investment (and the investment of other institutions like theirs) we absolutely will not survive -- so how can I say that our model will have succeeded before the future anterior becomes simple past?&lt;/p&gt;
&lt;p&gt;At root: can we shift our thinking so that an investment in a non-extractive alternative is understood to be an investment in the community itself, &lt;em&gt;of which the investor forms a part&lt;/em&gt;, in a way that doesn&#39;t ask small projects just getting underway to demonstrate all of the durability and agility of corporate alternatives? Can we begin to recognize that some aspects of the durability and agility we&#39;ve been conditioned to demand have been produced precisely through an extractive economic model that is continuing to impoverish the very commons that we&#39;re trying to build? How can we turn the question about the project&#39;s longevity into a question about mutual commitment to a shared endeavor?&lt;/p&gt;
&lt;hr class=&quot;footnotes-sep&quot;&gt;
&lt;section class=&quot;footnotes&quot;&gt;
&lt;ol class=&quot;footnotes-list&quot;&gt;
&lt;li id=&quot;fn1&quot; class=&quot;footnote-item&quot;&gt;&lt;p&gt;Though I&#39;m posting this in my own personal pondering space rather than over there because I&#39;m hoping that respondents will think with &lt;em&gt;me&lt;/em&gt; about these issues rather than immediately associate them with the project, even though such an association is all but inevitable. &lt;a href=&quot;https://kfitz.info/longevity/#fnref1&quot; class=&quot;footnote-backref&quot;&gt;↩︎&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/section&gt;
</content>
</entry>
<entry>
<title>Networking Continued</title>
<link href="https://kfitz.info/networking-continued/" />
@@ -150,21 +171,6 @@
&lt;blockquote&gt;
&lt;p&gt;A robust theory of academic freedom must be grounded in the common good. The common good is an intelligible concept only if what Charles Mills calls non-ideal (that is, not colorblind and abstract but historically and reality-based) forms of equality and justice are as highly valued as is freedom. If we do not presume the equal dignity and value of all humans, we will inevitably create regimes of abstract &amp;quot;freedom&amp;quot; that privilege some groups over others in the name of a specious universalism. (240)&lt;/p&gt;
&lt;/blockquote&gt;
</content>
</entry>
<entry>
<title>Independence and Neutrality</title>
<link href="https://kfitz.info/independence-neutrality/" />
<updated>2025-02-17T13:12:13Z</updated>
<id>https://kfitz.info/independence-neutrality/</id>
<content type="html">&lt;p&gt;Back in December, my university&#39;s top administrators announced an official position of &amp;quot;thoughtful restraint,&amp;quot; attempting to stake out a commitment to institutional neutrality on contentious political issues by not making statements or taking sides. &amp;quot;As an educational institution, our goal is to serve as a forum for debates, not proponents within them,&amp;quot; the website describing this non-position says, &amp;quot;with the highest value being the pursuit of truth.&amp;quot;&lt;/p&gt;
&lt;p&gt;Even as I understood the administrations desire to avoid making a misstep on an issue that had already resulted in the downfall of several prominent university presidents, this statement bothered me. Is &amp;quot;the pursuit of truth&amp;quot; best served by turning the institution into &amp;quot;a forum for debates&amp;quot; — mere platform without judgment? And are all debates the same? I wondered whether there were issues — however “contentious” — on which the pursuit of truth would require the university to take a stand, to maintain its commitment to the fact that there are areas of settled knowledge in which the call to “debate” is always issued in bad faith. And though I didnt quite have the words to say so at the time, I wondered whether the institution might find itself hoist on its own neutral petard, whether the university&#39;s self-protective position could wind up being the very thing that could do it in.&lt;/p&gt;
&lt;p&gt;I&#39;ve been reading Michael Bérubé and Jennifer Ruth&#39;s &lt;em&gt;It&#39;s Not Free Speech: Race, Democracy, and the Future of Academic Freedom&lt;/em&gt; this weekend, though, and just ran across a passage, summarizing the impact of Felix Frankfurter&#39;s opinion in &lt;em&gt;Sweezy v. New Hampshire&lt;/em&gt; (1957), which tied the necessary freedoms of the university to its responsibility to remain neutral on the issues of the day. Bérubé and Ruth read this opinion through Adam Sitze&#39;s essay, &amp;quot;Academic Unfreedom, Unacademic Freedom,&amp;quot; in which Sitze shows that Frankfurter&#39;s opinion derives in part from a misreading of an argument about the open universities in South Africa issued just before. The South African argument tied academic freedom to the universities independence from the state -- and in the South African context, independence was grounded in resistance to the apartheid regime.&lt;/p&gt;
&lt;p&gt;Heres Bérubé and Ruths concluding move in that discussion:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“Independence” and “neutrality” are not the same thing. In the South African context, neutrality would have meant acceding to academic apartheid. Once the backstory is supplied (and history returned to theory, as in the work of Charles Mills), the lesson then is that the university must remain independent from the government but &lt;em&gt;cannot&lt;/em&gt; remain neutral. Faculty must make judgment calls on the university&#39;s behalf that take into consideration the historical and political circumstances in which their universities find themselves. (211)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Two months later, it is clear to me that “thoughtful restraint” will not only not protect the university from those who wish to do it harm, but will erode the very independence that the institution needs in order to survive right now: the ability to bring the facultys best judgment to bear in declaring that there &lt;em&gt;are&lt;/em&gt; truths that cannot be ordered away. Our institutions cannot live out their most basic reason for being without a willingness to point out and reject outright lies, and without the ability to say that there are issues — like the basic humanity of each and every person on campus, and that they deserve respect, safety, and opportunity — that should never be up for debate.&lt;/p&gt;
</content>
</entry>
</feed>

View File

@@ -545,13 +545,21 @@ pre[class*="language-diff-"] {
<subtitle>The long-running and erratically updated blog of Kathleen Fitzpatrick.</subtitle>
<link href="https://kfitz.info/feed/masto.xml" rel="self"/>
<link href="https://kfitz.info/"/>
<updated>2025-08-09T20:38:09Z</updated>
<updated>2025-08-18T15:45:25Z</updated>
<id>https://kfitz.info/</id>
<author>
<name>Kathleen Fitzpatrick</name>
<email>kfitz@kfitz.info</email>
</author>
<entry>
<title>Longevity and Sustainability</title>
<link href="https://kfitz.info/longevity/"/>
<updated>2025-08-18T15:45:25Z</updated>
<id>https://kfitz.info/longevity/</id>
<content type="html">I&#39;ve been puzzling a bit of late about the relationship between sustainability planning for independent, nonprofit digital projects and the need to provide evidence of that sustainability even as it&#39;s being developed. The question has been pitched...</content>
</entry>
<entry>
<title>Networking Continued</title>
<link href="https://kfitz.info/networking-continued/"/>

View File

@@ -14,7 +14,7 @@
<style>.postlist { counter-reset: start-from 1805 }
<style>.postlist { counter-reset: start-from 1806 }
/* This is an arbitrary CSS string added to the bundle */
/* Defaults */
@font-face {
@@ -562,6 +562,11 @@ Director, <a href="https://hcommons.org">Knowledge Commons</a>.</p>
<ol reversed="" class="postlist">
<li class="postlist-item">
<a href="/longevity/" class="postlist-link">Longevity and Sustainability</a>
<time class="postlist-date" datetime="2025-08-18">August 2025</time>
</li>
<li class="postlist-item">
<a href="/networking-continued/" class="postlist-link">Networking Continued</a>
<time class="postlist-date" datetime="2025-08-09">August 2025</time>
@@ -582,17 +587,12 @@ Director, <a href="https://hcommons.org">Knowledge Commons</a>.</p>
<time class="postlist-date" datetime="2025-05-11">May 2025</time>
</li>
<li class="postlist-item">
<a href="/gitea/" class="postlist-link">Gitea</a>
<time class="postlist-date" datetime="2025-04-20">April 2025</time>
</li>
</ol>
<p>1799 more posts can be found in <a href="/blog/">the archive</a>.</p>
<p>1800 more posts can be found in <a href="/blog/">the archive</a>.</p>

718
longevity/index.html Normal file
View File

@@ -0,0 +1,718 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Longevity and Sustainability</title>
<meta name="description" content="The long-running and erratically updated blog of Kathleen Fitzpatrick.">
<link rel="alternate" href="feed/feed.xml" type="application/atom+xml" title="kfitz">
<script async="" src="https://talk.hyvor.com/embed/embed.js" type="module"></script>
<link rel="webmention" href="https://webmention.io/kfitz.info/webmention">
<link rel="pingback" href="https://webmention.io/kfitz.info/xmlrpc">
<style>/**
* okaidia theme for JavaScript, CSS and HTML
* Loosely based on Monokai textmate theme by http://www.monokai.nl/
* @author ocodia
*/
code[class*="language-"],
pre[class*="language-"] {
color: #f8f8f2;
background: none;
text-shadow: 0 1px rgba(0, 0, 0, 0.3);
font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
font-size: 1em;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
word-wrap: normal;
line-height: 1.5;
-moz-tab-size: 4;
-o-tab-size: 4;
tab-size: 4;
-webkit-hyphens: none;
-moz-hyphens: none;
-ms-hyphens: none;
hyphens: none;
}
/* Code blocks */
pre[class*="language-"] {
padding: 1em;
margin: .5em 0;
overflow: auto;
border-radius: 0.3em;
}
:not(pre) > code[class*="language-"],
pre[class*="language-"] {
background: #272822;
}
/* Inline code */
:not(pre) > code[class*="language-"] {
padding: .1em;
border-radius: .3em;
white-space: normal;
}
.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
color: #8292a2;
}
.token.punctuation {
color: #f8f8f2;
}
.token.namespace {
opacity: .7;
}
.token.property,
.token.tag,
.token.constant,
.token.symbol,
.token.deleted {
color: #f92672;
}
.token.boolean,
.token.number {
color: #ae81ff;
}
.token.selector,
.token.attr-name,
.token.string,
.token.char,
.token.builtin,
.token.inserted {
color: #a6e22e;
}
.token.operator,
.token.entity,
.token.url,
.language-css .token.string,
.style .token.string,
.token.variable {
color: #f8f8f2;
}
.token.atrule,
.token.attr-value,
.token.function,
.token.class-name {
color: #e6db74;
}
.token.keyword {
color: #66d9ef;
}
.token.regex,
.token.important {
color: #fd971f;
}
.token.important,
.token.bold {
font-weight: bold;
}
.token.italic {
font-style: italic;
}
.token.entity {
cursor: help;
}
/*
* New diff- syntax
*/
pre[class*="language-diff-"] {
--eleventy-code-padding: 1.25em;
padding-left: var(--eleventy-code-padding);
padding-right: var(--eleventy-code-padding);
}
.token.deleted {
background-color: hsl(0, 51%, 37%);
color: inherit;
}
.token.inserted {
background-color: hsl(126, 31%, 39%);
color: inherit;
}
/* Make the + and - characters unselectable for copy/paste */
.token.prefix.unchanged,
.token.prefix.inserted,
.token.prefix.deleted {
-webkit-user-select: none;
user-select: none;
display: inline-flex;
align-items: center;
justify-content: center;
padding-top: 2px;
padding-bottom: 2px;
}
.token.prefix.inserted,
.token.prefix.deleted {
width: var(--eleventy-code-padding);
background-color: rgba(0,0,0,.2);
}
/* Optional: full-width background color */
.token.inserted:not(.prefix),
.token.deleted:not(.prefix) {
display: block;
margin-left: calc(-1 * var(--eleventy-code-padding));
margin-right: calc(-1 * var(--eleventy-code-padding));
text-decoration: none; /* override del, ins, mark defaults */
color: inherit; /* override del, ins, mark defaults */
}
/* This is an arbitrary CSS string added to the bundle */
/* Defaults */
@font-face {
font-family: "Atkinson Hyperlegible";
src: url('/css/files/atkinson-hyperlegible-latin-400-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-weight: bold;
src: url('/css/files/atkinson-hyperlegible-latin-700-normal.woff2') format('woff2');
font-display: swap;
}
@font-face {
font-family: "Atkinson Hyperlegible";
font-style: italic
src: url('/css/files/atkinson-hyperlegible-latin-400-italic.woff2') format('woff2');
font-display: swap;
}
:root {
--font-family: "Atkinson Hyperlegible", -apple-system, system-ui, sans-serif;
--font-family-monospace: Consolas, Menlo, Monaco, Andale Mono WT, Andale Mono, Lucida Console, Lucida Sans Typewriter, DejaVu Sans Mono, Bitstream Vera Sans Mono, Liberation Mono, Nimbus Mono L, Courier New, Courier, monospace;
font-size: 18px;
}
/* Theme colors */
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #333;
--background-color: #fff;
--text-color: var(--color-gray-90);
--text-color-link: #d61d4a;
--text-color-link-active: #853439;
--text-color-link-visited: #e8325e;
--syntax-tab-size: 2;
}
@media (prefers-color-scheme: dark) {
:root {
--color-gray-20: #e0e0e0;
--color-gray-50: #C0C0C0;
--color-gray-90: #dad8d8;
/* --text-color is assigned to --color-gray-_ above */
--text-color-link: #1493fb;
--text-color-link-active: #6969f7;
--text-color-link-visited: #a6a6f8;
--background-color: #15202b;
}
}
/* Global stylesheet */
* {
box-sizing: border-box;
}
@view-transition {
navigation: auto;
}
html,
body {
padding: 0;
margin: 0 auto;
font-family: var(--font-family);
color: var(--text-color);
background-color: var(--background-color);
}
html {
overflow-y: scroll;
}
body {
max-width: 40em;
}
/* https://www.a11yproject.com/posts/how-to-hide-content/ */
.visually-hidden {
clip: rect(0 0 0 0);
clip-path: inset(50%);
height: 1px;
overflow: hidden;
position: absolute;
white-space: nowrap;
width: 1px;
}
p:last-child {
margin-bottom: 0;
}
p {
line-height: 1.5;
}
li {
line-height: 1.5;
}
a[href] {
color: var(--text-color-link);
}
a[href]:visited {
color: var(--text-color-link-visited);
}
a[href]:hover,
a[href]:active {
color: var(--text-color-link-active);
}
main,
footer {
padding: 1rem;
}
main :first-child {
margin-top: 0;
}
header {
border-bottom: 1px dashed var(--color-gray-20);
}
header:after {
content: "";
display: table;
clear: both;
}
footer {
border-top: 1px dashed var(--color-gray-50);
}
.links-nextprev {
display: flex;
justify-content: space-between;
gap: .5em 1em;
list-style: "";
border-top: 1px dashed var(--color-gray-20);
padding: 1em 0;
}
.links-nextprev > * {
flex-grow: 1;
}
.links-nextprev-next {
text-align: right;
}
table {
margin: 1em 0;
}
table td,
table th {
padding-right: 1em;
}
pre,
code {
font-family: var(--font-family-monospace);
}
pre:not([class*="language-"]) {
margin: .5em 0;
line-height: 1.375; /* 22px /16 */
-moz-tab-size: var(--syntax-tab-size);
-o-tab-size: var(--syntax-tab-size);
tab-size: var(--syntax-tab-size);
-webkit-hyphens: none;
-ms-hyphens: none;
hyphens: none;
direction: ltr;
text-align: left;
white-space: pre;
word-spacing: normal;
word-break: normal;
overflow-x: auto;
}
code {
word-break: break-all;
}
/* Header */
header {
display: flex;
gap: 1em .5em;
flex-wrap: wrap;
align-items: center;
padding: 1em;
}
.home-link {
font-size: 1.5em; /* 16px /16 */
font-weight: 700;
margin-right: 2em;
}
.home-link:link:not(:hover) {
text-decoration: none;
}
/* Nav */
.nav {
display: flex;
padding: 0;
margin: 0;
list-style: none;
}
.nav-item {
display: inline-block;
margin-right: 1em;
}
.nav-item a[href]:not(:hover) {
text-decoration: none;
}
.nav a[href][aria-current="page"] {
text-decoration: underline;
}
/* Posts list */
.postlist {
list-style: none;
padding: 0;
padding-left: 1.5rem;
}
.postlist-item {
display: flex;
flex-wrap: wrap;
align-items: baseline;
counter-increment: start-from -1;
margin-bottom: 1em;
}
.postlist-item:before {
display: inline-block;
pointer-events: none;
content: "" counter(start-from, decimal-leading-zero) ". ";
line-height: 100%;
text-align: right;
margin-left: -1.5rem;
}
.postlist-date,
.postlist-item:before {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.postlist-date {
word-spacing: -0.5px;
}
.postlist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.postlist-item-active .postlist-link {
font-weight: bold;
}
/* Archive list */
.archivelist {
padding: 0;
padding-left: 2.5rem;
}
.archivelist-item {
align-items: baseline;
margin-bottom: 1em;
}
.archivelist-item::marker {
text-align: right;
margin-left: -1.5rem;
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
}
.archivelist-date {
font-size: 0.8125em; /* 13px /16 */
color: var(--color-gray-90);
word-spacing: -0.5px;
}
.archivelist-link {
font-size: 1.1875em; /* 19px /16 */
font-weight: 700;
flex-basis: calc(100% - 1.5rem);
padding-left: .25em;
padding-right: .5em;
text-underline-position: from-font;
text-underline-offset: 0;
text-decoration-thickness: 1px;
}
.archivelist-item-active .archivelist-link {
font-weight: bold;
}
/* Tags */
.post-tag {
display: inline-flex;
align-items: center;
justify-content: center;
text-transform: capitalize;
font-style: italic;
}
.postlist-item > .post-tag {
align-self: center;
}
/* Tags list */
.post-metadata {
display: inline-flex;
flex-wrap: wrap;
gap: .5em;
list-style: none;
border-top: 1px dashed var(--color-gray-20);
border-bottom: 1px dashed var(--color-gray-20);
padding: 3px 0px 3px 0px;
margin: 0;
font-size: .8em;
}
.post-metadata time {
margin-right: 1em;
}
/* Direct Links / Markdown Headers */
.header-anchor {
text-decoration: none;
font-style: normal;
font-size: 1em;
margin-left: .1em;
}
a[href].header-anchor,
a[href].header-anchor:visited {
color: transparent;
}
a[href].header-anchor:focus,
a[href].header-anchor:hover {
text-decoration: underline;
}
a[href].header-anchor:focus,
:hover > a[href].header-anchor {
color: #aaa;
}
h2 + .header-anchor {
font-size: 1.5em;
font-weight: bold;
}
h1 {
font-weight: bolder;
}
summary {
font-size: 1.5em;
font-weight: bold;
margin-bottom: .5em;
}
img {
display: block;
margin-left: auto;
margin-right: auto;
}
blockquote {
display: block;
margin-left: 2em;
margin-right: 3em;
padding-left: 10px;
border-left: 10px solid var(--text-color-link);
}
hr.new {
border: none;
border-top: 1px dashed var(--color-gray-50);
}
/* Webmention Section */
.webmentions {
display:block;
text-align: left;
}
.webmentions__facepile {
display:flex;
align-items: center;
flex-wrap: wrap;
}
.webmentions__face {
width: 2rem;
height: 2rem;
border-radius: 50%;
object-fit: cover;
flex: none;
}
.webmentions__list {
list-style-type: none;
padding:0;
}
.webmentions__item {
margin-bottom: 2rem;
}
/* Single Webmention */
.webmention {
display:block;
}
.webmention__meta,
.webmention__author {
display: flex;
align-items: center;
flex-wrap: wrap;
}
.webmention__meta {
margin-bottom:.5rem;
}
.webmention__author {
margin-right:.25rem;
}
.webmention__author__photo {
height: 3rem;
width: 3rem;
border-radius: 50%;
object-fit: cover;
margin-right:.5rem;
}
.webmention__pubdate {
font-style: italic;
}
/* Message Box */
.message-box {
--color-message-box: #ffc;
display: block;
background-color: var(--color-message-box);
color: var(--color-gray-90);
padding: 1em 0.625em; /* 16px 10px /16 */
}
.message-box ol {
margin-top: 0;
}
@media (prefers-color-scheme: dark) {
.message-box {
--color-message-box: #082840;
}
}</style>
</head>
<body>
<a href="#skip" class="visually-hidden">Skip to main content</a>
<header>
<a href="/" class="home-link">kfitz</a>
<nav>
<h2 class="visually-hidden" id="top-level-navigation-menu">Top level navigation menu</h2>
<ul class="nav">
<li class="nav-item"><a href="/">Home</a></li>
<li class="nav-item"><a href="/blog/">Archive</a></li>
<li class="nav-item"><a href="/about/">About</a></li>
<li class="nav-item"><a href="/projects/">Projects</a></li>
<li class="nav-item"><a href="/presentations/">Presentations</a></li>
<li class="nav-item"><a href="/teaching/">Teaching</a></li>
<li class="nav-item"><a href="/feed/feed.xml">Feed</a></li>
</ul>
</nav>
</header>
<link href="/pagefind/pagefind-ui.css" rel="stylesheet">
<script src="/pagefind/pagefind-ui.js"></script>
<div id="search"></div>
<script>
window.addEventListener('DOMContentLoaded', (event) => {
new PagefindUI({ element: "#search", showSubResults: true });
});
</script>
<main id="skip">
<heading-anchors>
<h1 id="longevity-and-sustainability">Longevity and Sustainability</h1>
<ul class="post-metadata">
<li><time datetime="2025-08-18">18 August 2025</time></li>
<li><a href="/tags/thinking/" class="post-tag">thinking</a></li>
</ul>
<p>I've been puzzling a bit of late about the relationship between sustainability planning for independent, nonprofit digital projects and the need to provide evidence of that sustainability even as it's being developed. The question has been pitched to me recently as being about <em>longevity</em>: can your project promise potential supporters that it will survive the next ten years?</p>
<p>It's a valid question, especially when the project is one that is in some sense <em>about</em> longevity, about (for instance) preserving the products of knowledge creation for the future. But it's a hard one to answer in the best of times, and goodness knows that we are not currently living through the best of times.</p>
<p>How much have the ways that we think about longevity and sustainability been conditioned by our experiences of working with software and platforms that, even when provided without charge, are operated by massive corporations with resources to burn? These companies can afford to move quickly, to respond to rapid growth, to develop robust user support, and to add new features with the kind of agility that very few small nonprofit or community-based groups can muster.</p>
<p>This is not to say that nonprofit projects should operate freed from any expectations for professionalism, including long-term planning, technical durability and security, attention to user needs, and so on; these are crucial considerations for any piece of infrastructure. But I worry that some of the metrics that we use in thinking about sustainability wind up privileging corporate solutions even when we're seeking values-aligned, non-extractive alternatives.</p>
<p>It will not shock anyone that I'm mostly thinking about my own project in this context.<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> That project has been around for more than ten years, and has over that time demonstrated slow, sustainable growth, but it has been dependent on grant-based, project-oriented funding to support its work. We are now trying to break away from that model and put in place a mature revenue generation model that will allow us to recoup operating costs (and with luck to produce a small margin to support future needs) through membership fees paid by organizations and institutions that want to use our platform. As part of their membership, they get a voice in our governance processes, and thus have the ability to shape the project's future.</p>
<p>But for very understandable reasons, we're hearing questions about the potential longevity of the project, as folks with decision-making responsibility want to be sure that their investment will be to a good end, and that the work they subsequently entrust to the platform will be available over the long term. It's a Catch-22, though, in that <em>without</em> their investment (and the investment of other institutions like theirs) we absolutely will not survive -- so how can I say that our model will have succeeded before the future anterior becomes simple past?</p>
<p>At root: can we shift our thinking so that an investment in a non-extractive alternative is understood to be an investment in the community itself, <em>of which the investor forms a part</em>, in a way that doesn't ask small projects just getting underway to demonstrate all of the durability and agility of corporate alternatives? Can we begin to recognize that some aspects of the durability and agility we've been conditioned to demand have been produced precisely through an extractive economic model that is continuing to impoverish the very commons that we're trying to build? How can we turn the question about the project's longevity into a question about mutual commitment to a shared endeavor?</p>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Though I'm posting this in my own personal pondering space rather than over there because I'm hoping that respondents will think with <em>me</em> about these issues rather than immediately associate them with the project, even though such an association is all but inevitable. <a href="#fnref1" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/networking-continued/">Networking Continued</a></li>
</ul>
<hyvor-talk-comments website-id="9100" page-id="/longevity/"></hyvor-talk-comments>
<div class="webmentions" id="webmentions">
<h3 id="webmentions-2">Webmentions</h3>
<p>No replies yet.</p>
</div>
</heading-anchors>
</main>
<footer>
<p><em>Built with <a href="https://www.11ty.dev/">Eleventy v3.1.0</a>. All content <a href="https://creativecommons.org/licenses/by/4.0/deed.en">CC BY 4.0</a> if you're human.</em></p><p></p>
</footer>
<script type="module" src="/dist/rJ3_G-2ArF.js"></script>
</body>
</html>

View File

@@ -696,7 +696,7 @@ hr.new {
<p>I've searched around, and the nearest thing I've found to what I'm trying to do and how I'm trying to do it is in <a href="https://www.reddit.com/r/Proxmox/comments/u857x5/nginx_proxy_manager_setup_troubles/">this Reddit thread</a>, but the problem in that case is back at the beginning with the A record, which is definitely not my issue, unless I spelled my domain name wrong at the DNS. (I didn't.) And that person was able to get to the NPM congratulations page; my connections get refused entirely.</p>
<p>If anybody sees anything that I should adjust, or take a look at adjusting, I'd be grateful to hear. I'm already <em>this</em> close to dumping my ISP anyhow due to some ongoing service issues, and getting rid of their annoying modem/router/gateway would be a bonus, but I'm not entirely certain that it's the problem, and I'd love to find a way through without taking that step.</p>
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/distinguished/">Distinguished</a></li>
<ul class="links-nextprev"><li class="links-nextprev-prev">← Previous<br> <a href="/distinguished/">Distinguished</a></li><li class="links-nextprev-next">Next →<br><a href="/longevity/">Longevity and Sustainability</a></li>
</ul>
<hyvor-talk-comments website-id="9100" page-id="/networking-continued/"></hyvor-talk-comments>
@@ -705,7 +705,7 @@ hr.new {
<h3 id="webmentions-2">Webmentions</h3>
<h4 id="1-reply">1 Reply</h4>
<h4 id="3-replies">3 Replies</h4>
<ol class="webmentions__list">
<li class="webmentions__item">
@@ -731,13 +731,119 @@ hr.new {
</li>
<li class="webmentions__item">
<article class="webmention h-cite" id="webmention-1930828">
<div class="webmention__meta">
<a class="webmention__author p-author h-card u-url" href="https://hcommons.social/@kfitz/115005438801148307" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo u-photo" src="https://avatars.webmention.io/spaces.hcommons.social/648006f99b8c00e79aa7f80f925657fefbffe73fb70ab6a908cc5f94e254a2ec.png" alt="Kathleen Fitzpatrick">
<strong class="p-name">Kathleen Fitzpatrick</strong>
</a>
<time class="webmention__pubdate dt-published" datetime="2025-08-10T16:35:31+00:00">10 Aug 2025 - 16:35</time>
</div>
<div class="webmention__content p-content">
@woe2you Yeah — still digging into this. Theres a mechanism in the AT&T gateways admin interface for testing ping/traceroute, and if I try to hit the IP address or the domain name there it resolves instantly. So maybe the weak link isnt AT&T but the Eero the IP address is passed through to.
</div>
</article>
</li>
<li class="webmentions__item">
<article class="webmention h-cite" id="webmention-1930829">
<div class="webmention__meta">
<a class="webmention__author p-author h-card u-url" href="https://hcommons.social/@kfitz/115005454522685183" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo u-photo" src="https://avatars.webmention.io/spaces.hcommons.social/648006f99b8c00e79aa7f80f925657fefbffe73fb70ab6a908cc5f94e254a2ec.png" alt="Kathleen Fitzpatrick">
<strong class="p-name">Kathleen Fitzpatrick</strong>
</a>
<time class="webmention__pubdate dt-published" datetime="2025-08-10T16:39:31+00:00">10 Aug 2025 - 16:39</time>
</div>
<div class="webmention__content p-content">
@doctator Thanks — makes total sense now! Still not working, of course — I think the problem may lie at the IP passthrough point.
</div>
</article>
</li>
</ol>
<h4 id="3-likes">3 Likes</h4>
<div class="webmentions__facepile">
<a class="h-card u-url link-u-exempt" href="https://hcommons.social/@kfitz/115005189753715985#favorited-by-109314307305397443" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/spaces.hcommons.social/7fe3323dbb3556b39742ac8ccc3febbf3eccf5bcb276c4af002eaba6a5764d6e.jpg" alt="David Vasandani" title="David Vasandani" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://bsky.app/profile/kfitz.info/post/3lw2m7m4kb22m#liked_by_did:plc:jtmttanrflywsmy36ysmarmu" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/cdn.bsky.app/c065f0294bee31ccff3ca20255429cdbc4d57ca9c56565eb01233c30f447c659.jpg" alt="Dave Mazella" title="Dave Mazella" loading="lazy">
</a>
<a class="h-card u-url link-u-exempt" href="https://bsky.app/profile/kfitz.info/post/3lw2m7m4kb22m#liked_by_did:plc:fduxc427q3rz67nroolds64p" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/cdn.bsky.app/7c82ae5fbf1dcae13f375ffa285aabba44a866372a41c3b1dcdfb89ba8ab0654.jpg" alt="Matthew Kollmer" title="Matthew Kollmer" loading="lazy">
</a>
</div>
<h4 id="1-repost">1 Repost</h4>
<div class="webmentions__facepile">
<a class="h-card u-url link-u-exempt" href="https://bsky.app/profile/kfitz.info/post/3lw2m7m4kb22m#reposted_by_did:plc:fuulr4ctmzdhukfp23htgchb" target="_blank" rel="noopener noreferrer">
<img class="webmention__author__photo" src="https://avatars.webmention.io/cdn.bsky.app/86ff7693a62923c1efb6916ca588b8894a2a56cc436744e0cd459df51bce19c7.jpg" alt="Tech News" title="Tech News" loading="lazy">
</a>
</div>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1 +1 @@
{"version":"1.3.0","languages":{"en":{"hash":"en_c62da01096","wasm":"en","page_count":1878}}}
{"version":"1.3.0","languages":{"en":{"hash":"en_76638b2708","wasm":"en","page_count":1879}}}

Binary file not shown.

View File

@@ -9071,8 +9071,13 @@
<lastmod>2025-08-09</lastmod>
</url>
<url>
<loc>https://kfitz.info/longevity/</loc>
<lastmod>2025-08-18</lastmod>
</url>
<url>
<loc>https://kfitz.info/feed/feed.xml</loc>
<lastmod>2025-08-10</lastmod>
<lastmod>2025-08-18</lastmod>
</url>
</urlset>

View File

@@ -14,7 +14,7 @@
<style>.postlist { counter-reset: start-from 4 }
<style>.postlist { counter-reset: start-from 5 }
/* This is an arbitrary CSS string added to the bundle */
/* Defaults */
@font-face {
@@ -546,6 +546,11 @@ pre[class*="language-diff-"] {
<ol reversed="" class="postlist">
<li class="postlist-item">
<a href="/longevity/" class="postlist-link">Longevity and Sustainability</a>
<time class="postlist-date" datetime="2025-08-18">August 2025</time>
</li>
<li class="postlist-item">
<a href="/writing-again/" class="postlist-link">Writing Again</a>
<time class="postlist-date" datetime="2025-03-18">March 2025</time>