Open Source hot take: A software project is allowed to be *done*. Not everything needs to add features or rewrite things. You can just be happy with functionality and focus on just maintainance. "Maintenance mode" is not always bad but can just show a mature product.
Fabio likes this.
reshared this
Tomáš
in reply to tante • • •reshared this
Uwe Küchler and Em reshared this.
Webber-e-bop
in reply to tante • • •David Chisnall (*Now with 50% more sarcasm!*)
in reply to Webber-e-bop • • •@webbop
Or, better, make it easy to add features without needing a fork. Provide clear and stable APIs and hooks for plugging in scripting languages.
No single program can capture 100% of all users' requirements. The goal for a Free Software project should always be:
Once you reach this point, you're done.
✧✦Catherine✦✧
in reply to David Chisnall (*Now with 50% more sarcasm!*) • • •✧✦Catherine✦✧
in reply to ✧✦Catherine✦✧ • • •✧✦Catherine✦✧
in reply to ✧✦Catherine✦✧ • • •@david_chisnall @webbop or in other words: there's a lot to be said for designing for extensibility, but it's an order of magnitude harder design, implementation, and support task, and so outright impossible for someone for whom the base application stretches their skill and experience to the limit
open interchange formats are still very hard in many of the same ways, but not quite as hellishly difficult
Neintonine
in reply to David Chisnall (*Now with 50% more sarcasm!*) • • •Adding a plugin system or API afterwards is such a big and annoying hassle. So I disagree, that everything should get an plugin system or API after the program is done, because that is (again) a new feature. ;)
CismonX
in reply to David Chisnall (*Now with 50% more sarcasm!*) • • •@david_chisnall @webbop
Well, I do that for most of my recent personal projects, while being fully aware that I'm likely the only user of that project🤣
I never regret it though, because designing extensible software is fun :)
David Chisnall (*Now with 50% more sarcasm!*)
in reply to CismonX • • •Me too, usually because I don’t fully understand my own requirements until after I’ve built and used the thing.
Hylke Bons 🥜
in reply to tante • • •toolbear#🌶️
in reply to Hylke Bons 🥜 • • •Yes. I also admire when projects list "Non-Goals".
@tante
Strypey
in reply to Hylke Bons 🥜 • • •@hbons
> more projects should add a “what-it’s-not” list next to the feature list
For sure, and anti-goals are just as useful in a development roadmap as goals, sometimes more so.
@tante
su_liam
in reply to Strypey • • •mcSlibinas
in reply to tante • • •Kevin Westbrook
in reply to tante • • •ArneBab
in reply to tante • • •Aren’t most Free Software projects done?
From time to time they are adapted to changes in the environment or otherwise changed expectations, but usually stuff just works.
Maybe a problem is that when we use grep or sed, we don’t realize that these are projects, too, because they don’t make the headlines.
ArneBab
in reply to ArneBab • • •maybe a way to deal with that could be to write more often about the tools that already exist.
I remember how the university provided training all the time about citation management with Zotero, but there wasn’t a single training about bibtex.
Even though that is ingrained into many academic workflows and usually just works.
-dsr- (unoptimizable)
in reply to ArneBab • • •@ArneBab
The mantra of the last 25+ years has been that desktop computing is easy and ubiquitous and all programs should be easy.
Because they are easy, they do not require manuals or good documentation and most importantly, do not require training and education.
The reality is that every field of endeavor is complex and messy and has lots of stuff to learn. Management gravitates to "it looks easier, so it must work better" and this is almost always incorrect.
Meanwhile, many people have adopted the idea that they "aren't good at computers" when in reality they have never been taught and don't even realize what there is to learn.
Indio Gringo ® reshared this.
Misuse Case
in reply to -dsr- (unoptimizable) • • •Indio Gringo ®
in reply to Misuse Case • • •The only thing worse than no documentation is stale documentation.
ArneBab
in reply to Indio Gringo ® • • •@paninid stale documentation is still better than blatantly wrong documentation that looks correct on the outside but teaches concepts wrong.
I tried letting an LLM summarize a programming book I wrote. It looked surprisingly good, until it was just plain wrong.
@MisuseCase @dashdsrdash @tante
Wolf480pl
in reply to Misuse Case • • •@MisuseCase
it's hard to write documentation for something you already know
also, people "good with computers" have absorbed so much of the unspoken patterns seen in computing that they mostly get by without documentation and it'a hard for them to figure out which parts may be unobvious to an average person
@dashdsrdash @ArneBab @tante
ArneBab
in reply to Wolf480pl • • •@wolf480pl That may be why Stackoverflow worked so well.
Until its community got devastated by AI.
@MisuseCase @dashdsrdash @tante
Misuse Case
in reply to Wolf480pl • • •@wolf480pl @dashdsrdash @ArneBab A few years ago I was responsible for ensuring security compliance for components of a large project. Doing this work required reviewing documentation of the components. I found that while all the documentation followed a common format, parts were often hastily copy-pasted or entered, and sometimes they were out of date.
/1
Misuse Case
in reply to Misuse Case • • •@wolf480pl @dashdsrdash @ArneBab I would have to chase down someone on the team responsible for the component to get missing/current information. Sometimes the documentation about who was responsible for a component was out of date too, and the person I tried to reach was gone.
When I chased someone down for details about their project they sometimes asked me why Thing A had to be in the documentation anyway, didn’t everyone know Thing A worked like this?
/2
Misuse Case
in reply to Misuse Case • • •@wolf480pl @dashdsrdash @ArneBab I would remind them that the project was a few years old and very large, different people were coming on board or leaving all the time, requirements had changed, and teams working on different things often didn’t talk directly to each other. So when documenting your feature you cannot assume prior knowledge and you need to be explicit about even the “obvious” stuff.
/3
Misuse Case
in reply to Misuse Case • • •@wolf480pl @dashdsrdash @ArneBab Good documentation is a skill you can learn but it often involves questioning your assumptions and thinking about people outside of yourself and your immediate team. Many people (not just computer people) have a difficult time with that and even find it emotionally uncomfortable.
/end
-dsr- (unoptimizable)
in reply to Misuse Case • • •@MisuseCase @ArneBab
Small bit of correction:
There is no intuitive software. At best, there is software which re-uses a common pattern, formalized or not, so that what you have learned previously is recognizably appropriate in this new system.
Isaac Ji Kuo
in reply to -dsr- (unoptimizable) • • •@dashdsrdash @MisuseCase @ArneBab "There is no intuitive software. At best, there is software which re-uses a common pattern ..."
Okay, but this is a distinction with no practical difference. All human minds are a bunch of things learned previously (whether on an individual level, or a genetic lineage level in the case of instincts).
Intuition itself doesn't exist outside of the context of learned patterns (assuming we include genetically learned patterns).
Isaac Ji Kuo
in reply to Isaac Ji Kuo • • •@dashdsrdash @MisuseCase @ArneBab And even if we artificially draw a distinction between innate instincts and individually learned patterns, there is the possibility of "intuitive" software which relies upon instinctively known patterns.
I mean, we COULD do that, but why? No actual human users think only instinctive knowledge separate from individually learned knowledge.
-dsr- (unoptimizable)
in reply to Isaac Ji Kuo • • •@isaackuo
... and as we are in space where language means things, using imprecise language like describing software as intuitive or instinctual is bad; we're not marketers here.
Uses CUA: good.
Obeys Apple Human Interface Guidelines (pick a version that wasn't completely broken: good.
"Extensively tested and revised by actual UX experts with many different users of varying experience": extremely good. And rare.
@MisuseCase @ArneBab @tante
Isaac Ji Kuo
in reply to -dsr- (unoptimizable) • • •@dashdsrdash @MisuseCase @ArneBab I guess I just disagree about whether or not the word "intuition" or "intuitive" is imprecise language.
I think they are well defined. The fact that intuition is shaped by learned things is just ... part of our reality.
ArneBab
in reply to Isaac Ji Kuo • • •@isaackuo there is software that is easy to understand and efficient to use.
Usually because it uses similar patterns of interaction throughout the software, gives perceptible hints for next actions, and enables combining learnt patterns.
That’s what UX designers do, and it makes a huge difference. For the command line, it’s API design, a part of language design.
Look at game design for possible paths to take.
@dashdsrdash @MisuseCase @tante
freya :3 (she/her)
in reply to tante • • •Gryphon Myers
in reply to tante • • •Angus Marshall
in reply to tante • • •your auntifa liza 🇵🇷 🦛 🦦
in reply to Angus Marshall • • •Tony Hoyle
in reply to tante • • •joosteto
in reply to tante • • •Well, there is TeX (36 years without new features):
The design was frozen after version 3.0, no new feature or fundamental change will be added, so all newer versions will contain only bug fixes.Even though Donald Knuth himself has suggested a few areas in which TeX could have been improved, he indicated that he firmly believes that having an unchanged system that will produce the same output now and in the future is more important than introducing new features
en.wikipedia.org/wiki/TeX#Vers…
TeX - Wikipedia
Contributors to Wikimedia projects (Wikimedia Foundation, Inc.)Dieu
in reply to joosteto • • •IIRC Xmonad is finished, too. But that's going to make its exit with X11 anyway.
@tante
Munin
in reply to tante • • •tante
in reply to Munin • • •HowToPhil (Phillip R)
in reply to tante • • •Misuse Case
in reply to HowToPhil (Phillip R) • • •Miss Aemilia🎀
in reply to tante • • •Sebastian
in reply to tante • • •Ben 🏳️⚧️🍉
in reply to tante • • •Z̈oé
in reply to Ben 🏳️⚧️🍉 • • •Ben 🏳️⚧️🍉
in reply to Z̈oé • • •Danielle Pond
in reply to tante • • •Takiro 🎨
in reply to tante • • •patter
in reply to Takiro 🎨 • • •Jan D
in reply to Takiro 🎨 • • •Leonid
in reply to tante • • •Jacob Christian Munch-Andersen
in reply to Leonid • • •Leonid
in reply to Jacob Christian Munch-Andersen • • •patter
in reply to Jacob Christian Munch-Andersen • • •Knuth reward check - Wikipedia
Contributors to Wikimedia projects (Wikimedia Foundation, Inc.)orava
in reply to Leonid • • •Leonid
in reply to orava • • •@orava I came across many libraries and applications that hadn't had any commits for months or even years. There were also a lot of issues in the tracker. They are probably abandoned. I would never use them in my projects.
Sometimes, updates are released to fix issues or security vulnerabilities in dependencies.
I think a small, relatively isolated library or project can remain stable indefinitely. However, even these will have some dependencies, such as the OS.
Dieu
in reply to Leonid • • •Valid point if there are known bugs.
@tante
Leonid
in reply to Dieu • • •Dieu
in reply to Leonid • • •OK, fair point
@tante
rakoo
in reply to tante • • •Aedius Filmania ⚙️🎮🖊️
in reply to tante • • •pentane 🇺🇦
in reply to tante • • •cogito ergo mecagoendios
in reply to tante • • •Spitfire
in reply to tante • • •Dieu
in reply to tante • • •Torb
in reply to tante • • •NA
in reply to tante • • •Svavar the Neurospicy
in reply to tante • • •While I don’t disagree with the premise that software that delivers on its original purpose doesn’t need to be endlessly expanded, the reality is that all software lives within an ever-changing ecosystem.
Curl comes to mind as a tightly defined set of functionality that still requires constant work because of new protocols and the need for relentless optimisation.
I’ve seen a lot of software age like warm milk because people thought they could just deploy and forget about it.
Ember is so tired.
in reply to Svavar the Neurospicy • • •@svavar projects like curl should be the exception, not the norm, and ecosystems shouldn't be massively changing
the only stable ABI for linux shouldn't be win32
bdf2121cc3334b35b6ecda66e471
in reply to tante • • •Chris Shabsin
in reply to tante • • •I can't imagine ever being done with software I actually use in day-to-day life. I will always spot something that can be better or smoother or some additional functionality that would make it more useful. (This is, of course, a big "if" - talking about software "for me".)
In software in the public/open source/product sphere, I imagine there will always be feature requests from the userbase as well. If something comes in that is worthwhile (and truly additive to the value of the software)... why ignore it?
Kirtai 🏳️⚧️
in reply to tante • • •It's hard to do on a substrate made of shifting sands though.
Common Lisp is the only language I know of where it can actually be done.
Hugo Mills
in reply to tante • • •Thijs Kinkhorst
in reply to tante • • •Waled.P.s🇵🇸
in reply to tante • • •chuffed.org/project/149031-giv…
Adrian Egger
in reply to tante • • •Bitan Nath
in reply to tante • • •Edward
in reply to tante • • •Alastair Temple
in reply to tante • • •🌈 Andrew ☄️
in reply to tante • • •Strypey
in reply to 🌈 Andrew ☄️ • • •@bnut
> They probably need different names
I haven't seen the phrase "maintenance mode" being used to describe software that isn't getting regular commits because it's a simple, UNIX-principle utility that doesn't need them. The phrase pretty much means software that *does* need active maintenance to stay useful but isn't getting anything more than critical security fixes.
@tante
RetroHorse
in reply to tante • • •your auntifa liza 🇵🇷 🦛 🦦
in reply to tante • • •🗣THANK YOU!
Drupal should have stopped at 7… maybe 9 and then forked to whatever it is now. they're two completely different products and i’ve resented it ever since. Backdrop (the fork from D7-8) is great, but it doesn't get the money and support Drupal gets.
@tante
Johnny Than
in reply to your auntifa liza 🇵🇷 🦛 🦦 • • •@blogdiva
Exactly my thoughts on Drupal. Thank you.
Strypey
in reply to your auntifa liza 🇵🇷 🦛 🦦 • • •> Backdrop (the fork from D7-8) is great, but it doesn't get the money and support Drupal gets
That has to do with the reason for the split. Drupal began as a CMS for small community sites (activists used it a lot in the 2000s). By the time of D7, it was being used in giant instances like streaming video sites for TV stations, who could pay big bucks to get their needs met. BackDrop forked to optimise for the original set of deployers who can't donate much.
(1/2)
@tante @johnnythan
Strypey
in reply to Strypey • • •I agree with @blogdiva that there ought to have been an "enterprise" grade fork under a new name, and earlier than 7 too. Because what BackDrop is, is what Drupal originally was, so that line of development deserved the legacy name.
But the only practical difference would be in the naming. All the big bucks would have left Drupal for the enterprise fork, and it would be underfunded now just like BackDrop is.
(2/2)
Strypey
in reply to Strypey • • •#TIL that BackDrop CMS (a fork of Durupal 7) is working on an ActivityPub plugin;
backdropcms.org/project/backdr…
The latest version is in alpha, released in March this year. If you can help the developers to test or improve it, please do!
#BackDrop #ActivityPub #FediDevs
@blogdiva @johnnythan
Backdrop Federation | Backdrop CMS
backdropcms.orgyour auntifa liza 🇵🇷 🦛 🦦
in reply to Strypey • • •Stacey Campbell
in reply to tante • • •Calibre, I'm looking at you.
social.petertoushkov.eu/@cellf…
Petar Toushkov
2026-09-19 09:06:25
Uwe Küchler
in reply to tante • • •Karl Heinz Häsliprinz
in reply to tante • • •Mae
in reply to tante • • •Obviously the author doesn't owe me anything but I would like to know whether the software is abandoned
Mae
in reply to Mae • • •OddOpinions5
in reply to tante • • •In industrial circles, the common version of this is
don't let the perfect be the enemy of the good
eg, to survive, you need to ship and sell products
another, cruder version
make shit, sell shit, ship shit
:)
mnl mnl mnl mnl mnl
in reply to OddOpinions5 • • •MUGISHA PHOCIT
in reply to tante • • •Your insight reminds me this ,exactly
Frequency Fault Official
in reply to tante • • •As an audio engineer, I don't fault other engineers who take on work (I guess) remixing or remastering songs/albums, but the USUAL reason that even happens at all has nothing to do with the ARTIST wanting it done.
It's some 30-something fuckwad running a social media campaign for a publishing conglomerate or streaming service who thought it would be fun to "refresh" the tracks with a modern twist or mAkE eVerYtHinG LoUdeR.
It was done with the original release.
Uwe Küchler
in reply to tante • • •Sensitive content
YES, I'd like to have some `cp`, `ls` and `cat`, but re-written in vibe-coded Rust, please.
They played us for absolute fools.
tante
in reply to Uwe Küchler • • •Sensitive content
Uwe Küchler
in reply to tante • • •federico
in reply to tante • • •Sensitive content
IAG
in reply to tante • • •Madeorsk
in reply to tante • • •Why We Can't Have Nice Software - Andrew Kelley
andrewkelley.meChris [list of emoji]
in reply to tante • • •This.
Ongoing development is a commercial software thing so that they can sell new versions.
Coursiv
in reply to tante • • •GnosticStreetSweeper
in reply to tante • • •Case in point; XClock. I've been having a ton of fun customizing my cwm setup on OpenBSD with the added challenge of keeping non-base software to an absolute minimum. A recent problem I had to solve was having a convenient clock on my desktop.
With, admittedly, a lot of fiddling I have something that works great and feels like mine. More importantly it makes you reckon with what software can really give you and how much complexity and "features" you really need.
RustyNova
in reply to tante • • •GrandTheftUrkel
in reply to tante • • •nutsling
in reply to tante • • •Guillotine Jones, Flâneur
in reply to tante • • •Pleez allow this software product [fill in the blank] to be done. It meets all my needs and I am now sufficiently familiar with its workings that I can do the things I need to do with it, and not at all interested in doing the things that I'm not interested in doing, and I can tell the difference.
VANTABlack
in reply to tante • • •I mean makes sense. Some things just do one thing and do it well.
With the way tech is massively changing I would say you have to battle adding features and doing Maintenance anyway since if the project doesn't run well the features have no point. Calling it done and focusing solely on maintenance makes the decision easier.
SpaceLifeForm
in reply to tante • • •Gwen 💐
in reply to tante • • •it was actually pretty cool when software was primarily distributed on, well, hardware
plus it was fun to flip through my book of CDs. like oh I haven't used starry night pro in a while, let's spend a couple hours exploring the galaxy
kayla ♣️
in reply to tante • • •Chris Ford
in reply to tante • • •Strypey
in reply to tante • • •> "Maintenance mode" is not always bad but can just show a mature product
I agree, but it depends on the type of software. A simple library that perfoms a handful of back-end functions can be finished, for sure. A lack of active commits may just mean it was written well in the first place, and the software environment it interacts with isn't changing much.
(1/?)
Strypey
in reply to Strypey • • •Human-facing interfaces are a bit of a different story. Problems with them tend to be revealed by use, however skillfully the initial versions were made. Which means ongoing iteration is normal, and periodic refactors may be needed to avoid the code becoming a Big Ball of Mud.
(2/?)
Strypey
in reply to Strypey • • •Then there's monolithic server+web-app software like Mastodon. Which has all of the need for interface iteration, on top of a huge range of components which interact with lots of different software environments. Some of which change rapidly as affordances are added, security and performance problems fixed, and refactors performed as necessary to keep it all tractable.
If a software bundle like that isn't getting regular commits, it can't stay fit for purpose for long.
(3/3)
Lucy
in reply to tante • • •David W. Jones
in reply to tante • • •Carsten Raddatz
in reply to tante • •There needs to be a differentiator though to not mistake "done" with "abandoned" or plain dormant.
I found this podcast episode to be helpful to sort this field:
Abandoned open source with Josh Marpet