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.
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:

  • Implement the 90% of requirements that are common to most users.
  • Make it easy for users to add the remaining 10% themselves.
  • Make it easy for users who have the same 10%s to share their changes.
  • Make it easy for users who have overlapping 10%s to share the common parts with other people, including overlapping sets of people.

Once you reach this point, you're done.

in reply to ✧✦Catherine✦✧

@david_chisnall @webbop (in the end it was never implemented because neither me nor, as far as I know, anyone else, could stomach the dramatic expansion in scope. people just switch to FreeCAD if they need more features in practice, which in my experience at the time was infinitely worse)
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

in reply to David Chisnall (*Now with 50% more sarcasm!*)

the problem here is, most projects are not designed as an Open Source project, but as a problem to be solved for the one person, which in turn maybe gets published and used for other things.
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. ;)
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.

in reply to -dsr- (unoptimizable)

@dashdsrdash @ArneBab It’s possible (but difficult) to design software to be intuitive and easy to use. It’s easier to write good documentation but nobody wants to do it. This is why so many projects give the documentation work to AI now even though it’s not very good. They kind of understand that they are supposed to have documentation but don’t want to do it and don’t *really* understand what the purpose/goal of documentation is.
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

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

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

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

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

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

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).

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.

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

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

This entry was edited (6 days ago)
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…

This entry was edited (6 days ago)
in reply to HowToPhil (Phillip R)

@howtophil @blogdiva I believe the reason devs/companies make unwanted, unnecessary changes to software and services all the time is to justify charging a subscription fee for those things instead of letting you pay one time to own a copy, like in the old days. The move to subscription billing has created this perverse incentive.
in reply to Leonid

@leonid what if there are no known bugs? Some stuff is just quite stable. Personally I prefer that over a project adding new features all the time with the risk of introducing new bugs. Sure if the issue tracker is full of bugs and no action that sounds dead. But there are also quite active projects, regular new features, that have an issue trackers full of bugs. but nobody cares about maintaining it's all about new features.
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.

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.

This entry was edited (6 days ago)
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?

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

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

This entry was edited (5 days ago)
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)

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

in reply to tante

Calibre, I'm looking at you.

social.petertoushkov.eu/@cellf…


Calibre v9.15 adds an AI-powered interactive fiction game | OMG! Ubuntu

omgubuntu.co.uk/2026/09/calibr…


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.

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.

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/?)

This entry was edited (5 days ago)
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)

⇧