News for hackers. Stuff that matters.
Re:Outdated vs. Complete: In defense of apps that don’t need... by thayne on Monday September 26, 2022 @09:18PM (#32990654)
> The expectation that software libraries or frameworks should break every few months is disturbing

I think it is more that recent updates are used as a proxy for determining if the developer still cares about the project.

The problem is it is hard to distinguish between a project that has been abandoned, and a project that is feature complete and hasn't had any bugs reported in a while.

Although, if you assume that any software is free of bugs, and that at least some users will report bugs, if there is low activity, that suggests that either it isn't well maintained, or there isn't a critical mass of users to find and report those bugs. But then, higher quality software will require a higher number of users to hit that critical mass so it doesn't give you that much information unless you also know how good the software is.

Re:Outdated vs. Complete: In defense of apps that don’t need... by atoav on Tuesday September 27, 2022 @12:29AM (#32991562)
I mean one way to so it would be to just write: I consider this project complete and have it running ever since
Re:Outdated vs. Complete: In defense of apps that don’t need... by thayne on Tuesday September 27, 2022 @01:01AM (#32991696)
Well, does that mean "i will never touch this again" or "I won't add any new features, but I will fix bugs"? If the former, I probably don't want to use it. If the latter, I might consider it, depending on what it does, and if it has the features I need, but then, again, how do I know if they are still watching it since they posted that.

And there is also the state of "it has all the features I need, but I'd be open to adding a new feature if someone else shows a compelling use case for it."

Re:Outdated vs. Complete: In defense of apps that don’t need... by gspencley on Tuesday September 27, 2022 @08:25AM (#32994453)
"If the former, I probably don't want to use it."

I guess that really depends on what it is.

The older I get, the more change-averse I become. That doesn't mean that everything is perfect and we shouldn't fix things that are broken, but it does mean I start to embrace the philosophy of "don't fix what isn't broken" more and more.

If I have something installed on my desktop / workstation that a) is not network attached and b) is not exploitable from a security point of view (least privileges, no sensitive data) c) has little risk of corrupting data and d) is unlikely to "just stop working" one day because of a systems / dependency update ... then I'm not in any hurry to update it. When I do get around to it it's probably because I'm installing a new version of Linux and so everything is getting an update. But if the old version still works, has no bugs or security risks and there's been no updates for years ... who cares?

I can think of several categories of applications that fall into this category:

- Music / mp3 player

- Classic Shell / Open Shell for Windows

- Office software, like LibreOffice. I'm sure newer versions offer some niceties but things "just work" for me. I don't see the reason to upgrade.

- Almost every game, ever (assuming it's stable and has no major usability bugs that need patching)

- Lots more

Things I do want to upgrade would be my web browser, operating system kernel, anything network attached. Really anything that could affect data integrity or security. Other than that, I'm lazy, comfortable and I don't want to risk the introduction of breaking changes.

Re:Outdated vs. Complete: In defense of apps that don’t need... by andrepd on Tuesday September 27, 2022 @11:35AM (#32996720)
> That doesn't mean that everything is perfect and we shouldn't fix things that are broken,

Okay, so this is exactly what GP said. There is a difference between "not adding new features" and "not fixing bugs".

Re:Outdated vs. Complete: In defense of apps that don’t need... by gspencley on Tuesday September 27, 2022 @04:03PM (#33000416)
Not to get into a semantic argument about specific words and their meanings, but my broader point is that there are certain categories of bugs where I wouldn't care if they ever got fixed or not. Maybe this is nit-picking and maybe it's my cynical brain coming out of 25 years of software development where people can't even seem to agree on what constitutes a "bug" vs a "change request" half the time, or how we prioritize the severity of bugs etc. but my point is that sometimes "it's not broken" means "it's good enough."

Would I be upset if the developer "fixed" these categories of bugs? Of course not. But would I avoid using the software at all if they never did?

...

"I guess that really depends on what it [the software in question] is."

Re:Outdated vs. Complete: In defense of apps that don’t need... by saghm on Tuesday September 27, 2022 @02:24AM (#32992065)
Maybe a bot that once every three months (or whatever time period you prefer) does a commit to the changelog that says "I am [not] still maintaining this project" and it sends you an email a week before to hit a toggle to remove the "not". Then in the readme you can put a paragraph saying "I use Maintaina-bot (tm), and I commit to clicking the button every three months as long as I'm maintaining this project".

It's a little silly, but I could imagine that if this become a common enough thing, people would start to trust it.

Re:Outdated vs. Complete: In defense of apps that don’t need... by ricardobeat on Tuesday September 27, 2022 @03:04AM (#32992303)
This is already available in reverse: you can mark a repository as unmaintained in GH to let people know you wont touch it anymore.
Re:Outdated vs. Complete: In defense of apps that don’t need... by saghm on Tuesday September 27, 2022 @07:40PM (#33002580)
My thinking is that someone forgetting about a project, not caring about it, or for some reason being unable to update it (e.g. losing access to an account or even being physically unable due to injury or death) might not update the project to indicate this; I think a lot of the wariness of older projects that haven't been recently touched is because it's hard to tell the difference between "no changes need to be made so I'm leaving it untouched but monitoring" and "no one is even looking at this and if a change needs to be made, no one knows".
Re:Outdated vs. Complete: In defense of apps that don’t need... by johanbcn on Tuesday September 27, 2022 @08:44AM (#32994608)
Someone will then come up with "Maintaina-bot-bot", so that we don't have to bother clicking that button.

Programmers are lazy creatures.

Re:Outdated vs. Complete: In defense of apps that don’t need... by saghm on Friday September 30, 2022 @11:31PM (#33043601)
The laziness (which I have no issues admitting I also have!) is exactly why I think having to explicitly act each time to indicate ownership is important; otherwise, it would be impossible to tell the difference between software that's maintained but hasn't needed updates from something that no one is maintaining anymore, which is the issue we have now.
Re:Outdated vs. Complete: In defense of apps that don’t need... by rishabhkaul1 on Tuesday September 27, 2022 @09:36AM (#32995044)
I think a mix of your suggestion + https://news.ycombinator.com/item?id=32994453 might be good, no?
Re:Outdated vs. Complete: In defense of apps that don’t need... by vbezhenar on Tuesday September 27, 2022 @04:32AM (#32992862)
You can update copyright comments once a year.
Re:Outdated vs. Complete: In defense of apps that don’t need... by rjmunro on Tuesday September 27, 2022 @12:14PM (#32997351)
You should only do that if you have changed something. Otherwise you are falsely extending the period before the work enters the public domain.
Re:Outdated vs. Complete: In defense of apps that don’t need... by atoav on Tuesday September 27, 2022 @01:50AM (#32991912)
I mean it depends on the kind of project right? What would be catastrophic for a web framework could be totally normal for a command line tool. I mean when was the last commit to some of the GNU utils we use every day? If your module provides math functions or implements some protocoll chances are those underlying things are not going to change etc.

I use a ton of tools I wrote myself and haven't had to touch in years except for the occasional dependency update.

Re:Outdated vs. Complete: In defense of apps that don’t need... by vbezhenar on Tuesday September 27, 2022 @02:57AM (#32992253)
> when was the last commit to some of the GNU utils we use every day?

17 hours ago: https://github.com/coreutils/coreutils/commits/master

Re:Outdated vs. Complete: In defense of apps that don’t need... by atoav on Tuesday September 27, 2022 @04:01AM (#32992672)
Sure, because the repo contains a ton of tools. Yet another advantage of the monorepo: if everything is in one repo nobody will notice that you haven't touched that one part of the code since you wrote it.

Or let's phrase it differently: there will always be a part of the code that you do not have to touch for decades if all goes well. And if that part sits in a seperate repo, is it abandoned or just finished?

Re:Outdated vs. Complete: In defense of apps that don’t need... by duckmysick on Tuesday September 27, 2022 @03:12AM (#32992338)
All abandoned projects were active at some point in the past. A project being active now is not a guarantee it will stay so. What happens if the project is abandoned after you chose to rely on it?
Re:Outdated vs. Complete: In defense of apps that don’t need... by alexdowad on Tuesday September 27, 2022 @04:29AM (#32992845)
> What happens if the project is abandoned after you chose to rely on it?

If the project already had the features you need, was thoroughly tested and debugged, and was built with almost no dependencies (only relying on a small number of very stable platform APIs), then it might not matter even if it was already abandoned when you started using it.

Case in point: On a recent software project, I took dependencies on two Lua libraries which were already abandoned. Their source code was short and readable enough that I had no problem going through it to understand how they worked. In one case, I added an important feature (support for a different type of PostgreSQL authentication to a Postgres client library). I also packaged both libraries for my Linux distro of choice and submitted them to the official package repositories. If anyone reports bugs against the version which I packaged, I'll fix them, but it seems unlikely that many bugs will ever be found.

As the OP rightly pointed out, the expectation that software libraries should normally need to be constantly updated is ridiculous. Many other things invented by humans stay in use for decades with no alterations. Beethoven's 5th symphony hasn't had any updates in more than 200 years.

Re:Outdated vs. Complete: In defense of apps that don’t need... by duckmysick on Tuesday October 04, 2022 @12:36PM (#33082852)
> Many other things invented by humans stay in use for decades with no alterations. Beethoven's 5th symphony hasn't had any updates in more than 200 years.

I don't understand this argument. Are you saying that some things don't require updates, therefore we shouldn't expect software libraries to be updated as well? But there are also things that do require updates or maintenance. Would that invalidate the argument?

Some examples of things that need updates or maintenance: buildings, infrastructure, tools, machinery. Even immaterial things like books or laws receive updates.

And that includes the 5th Symphony too, which has different editions.

Re:Outdated vs. Complete: In defense of apps that don’t need... by alexdowad on Tuesday October 04, 2022 @02:51PM (#33084942)
Re-reading the comment as a whole might help to correct this "strawman" interpretation, but anyways, here is some clarification:

In today's world of software development, many take it as given that every software library should receive periodic updates, and that a library which has not been recently updated is in some sense "dead" and should not be used.

This is logical in cases where the domain is itself constantly changing. For example, software packages which calculate the results of income tax returns must be updated yearly, because the tax laws change. Similarly, packages which perform time zone calculations must be periodically updated, because the time zone rules change.

However, a vast number of software libraries operate in domains which are not inherently subject to change. As an arbitrary example, imagine a hypothetical library which performs symbolic differentiation and integration. Since the rules for how to integrate a function do not change, once thoroughly tested and debugged, there is no reason why such a library could not be used unaltered for decades. Yes, it might not benefit from the development of more efficient algorithms; but if the library was already more than fast enough for a certain application, that might not matter.

While software is different from other things created by humans, the existence of creative works such as books or musical compositions, which often survive for decades or centuries despite not receiving regular updates, provides an illustration of what can and should be possible for software as well. Note, this is an illustration and not an argument.

Re:Outdated vs. Complete: In defense of apps that don’t need... by jtbayly on Tuesday September 27, 2022 @12:22PM (#32997498)
> Beethoven's 5th symphony hasn't had any updates in more than 200 years.

What a shame it’s been abandoned and no other musician stepped up to take over the work.

Re:Outdated vs. Complete: In defense of apps that don’t need... by arkh on Tuesday September 27, 2022 @03:33AM (#32992469)
> What happens if the project is abandoned after you chose to rely on it?

Fork it and start maintaining it with other people depending on it.

Re:Outdated vs. Complete: In defense of apps that don’t need... by thayne on Tuesday September 27, 2022 @03:49AM (#32992606)
An active project is more likely to stay active than an abandoned project to become less abandoned. See also the Lindy effect.
Re:Outdated vs. Complete: In defense of apps that don’t need... by moss2 on Tuesday September 27, 2022 @04:45AM (#32992924)
...what?

What does it matter if the developer still cares about the project?

It isn't crashing and no new features are needed. If it did then the project wouldn't be complete.

We're not talking about some early access half broken NPM package here, the blog specifically talks about a completed product.

Re:Outdated vs. Complete: In defense of apps that don’t need... by Double_a_92 on Tuesday September 27, 2022 @04:51AM (#32992965)
What if you do find a critical bug after you started using it, and there is no one around that can help you with it?
Re:Outdated vs. Complete: In defense of apps that don’t need... by liotier on Tuesday September 27, 2022 @04:54AM (#32992984)
When you find no one paying for maintainance, then congratulations: you are the maintainer !
Re:Outdated vs. Complete: In defense of apps that don’t need... by zmmmmm on Tuesday September 27, 2022 @06:04AM (#32993413)
Agreed and upvote but it becomes a problem if the owner is unresponsive but still holding the main repository, domains, package repositories etc. Forking is possible but a very complicated, messy, hostile path and also a lot more work than just contributing a patch.
Re:Outdated vs. Complete: In defense of apps that don’t need... by JonChesterfield on Tuesday September 27, 2022 @07:50AM (#32994139)
Forking is trivial and non-hostile. Is there a plumbing issue in your language where it is unreasonably difficult to wire other dependencies to your fork instead of the original?
Re:Outdated vs. Complete: In defense of apps that don’t need... by amtamt on Tuesday September 27, 2022 @06:15AM (#32993472)
If there are no updates, then even forking should be light overhead.
Re:Outdated vs. Complete: In defense of apps that don’t need... by bsuvc on Tuesday September 27, 2022 @08:13AM (#32994361)
> a lot more work than just contributing a patch.

For you it is.

But for a maintainer, reviewing and accepting a pull request can still be a lot of work, especially if the code has been stable for a long time.

Re:Outdated vs. Complete: In defense of apps that don’t need... by selfhoster11 on Tuesday September 27, 2022 @06:13AM (#32993464)
If you want an SLA on support, then pay for support. It's literally that simple.
Re:Outdated vs. Complete: In defense of apps that don’t need... by zmmmmm on Wednesday September 28, 2022 @09:48PM (#33015440)
This is a fantasy ... go offer some open source maintainer some money to implement something they don't want or care about and come back and tell us if it was simple. It may be in some cases where they are actively looking for that kind of work, but more than likely they will have no interest.
Re:Outdated vs. Complete: In defense of apps that don’t need... by account42 on Wednesday October 05, 2022 @04:06AM (#33092643)
I would expect for many developers it is really only a matter of how much you are willing to pay. If they don't already do freelance work then that cost might reasonably be higher than what it would cost to hire someone else to implement it because of the extra tax paperwork and whatnot that they now need to deal with.

Of course there will be some maintainers who are simply not interesed or unable to offer paid support (e.g. due to their employer being a control freak) but that's ok. As others have pointed out, forking / maintaining out of tree patches (and providing them to others) is not inherently hostile.

Re:Outdated vs. Complete: In defense of apps that don’t need... by justaj on Tuesday September 27, 2022 @06:54AM (#32993690)
> The problem is it is hard to distinguish between a project that has been abandoned, and a project that is feature complete and hasn't had any bugs reported in a while.

Usually I browse the issues / bug reports page and see if there are any breaking bugs that aren't getting much attention. If there are, then that's one more data point that the project might be abandoned.

Re:Outdated vs. Complete: In defense of apps that don’t need... by Xeoncross on Tuesday September 27, 2022 @09:40AM (#32995081)
Speaking to GitHub specifically:

1) The owners sometimes archive the project or write in the readme: complete, no more features will be accepted.

2) You can look at the number of open issues. A project with X stars/used-by/forks that hasn't been updated in 8 months and has zero open issues is probably stable.

Re:Outdated vs. Complete: In defense of apps that don’t need... by maxloh on Monday September 26, 2022 @10:37PM (#32991032)
Maintainer's activity in GitHub issue is also a good metric.
Re:Outdated vs. Complete: In defense of apps that don’t need... by ungamedplayer on Monday September 26, 2022 @10:52PM (#32991101)
I disagree. I have some common lisp libraries that have not been touched in years and the majority of my day to day is in company git.

I imagine that I am not the only one.

Re:Outdated vs. Complete: In defense of apps that don’t need... by mvdwoord on Tuesday September 27, 2022 @07:11AM (#32993800)
First thing I was taught when I was introduced to a CL codebase/project..

"Library/repository activity has little to do with usability, or quality. Some things are more or less finished and correct."

Re:Outdated vs. Complete: In defense of apps that don’t need... by simfree on Monday September 26, 2022 @11:29PM (#32991281)
If your using a non-github platform without mirroring the repository, your pretty SoL for getting those green squares of activity to reflect your actual activity.
Re:Outdated vs. Complete: In defense of apps that don’t need... by ungamedplayer on Tuesday September 27, 2022 @02:56AM (#32992244)
Is that really a measure of activity, because i'm 90% sure i saw tools to fake that into some kind of image.

Edit: https://github.com/blaise-io/contribution

For example.. I guess that maybe gaming the system really is required if thats a 'good measure'.

Re:Outdated vs. Complete: In defense of apps that don’t need... by themoonisachees on Wednesday September 28, 2022 @08:12AM (#33006992)
Why should i care about the green squares (which can be faked anyway)? This feels like microsoft propaganda to get me to put everything on github for no good reason, especially considering that if he's pushing to a company git that company probably doesn't want it on the public internet.
Re:Outdated vs. Complete: In defense of apps that don’t need... by samarthr1 on Monday September 26, 2022 @11:46PM (#32991370)
SoL?
Re:Outdated vs. Complete: In defense of apps that don’t need... by gsinclair on Monday September 26, 2022 @11:51PM (#32991384)
Shit outta luck.
Re:Outdated vs. Complete: In defense of apps that don’t need... by bussierem on Monday September 26, 2022 @11:49PM (#32991382)
Shit outta luck
Re:Outdated vs. Complete: In defense of apps that don’t need... by bandrami on Tuesday September 27, 2022 @06:02AM (#32993401)
I have code running today for which my last commit (in CVS!) was in 2002.

Some software just does what it is supposed to and doesn't need to change, and this is OK, and I have no idea why this fact infuriates some people.

Re:Outdated vs. Complete: In defense of apps that don’t need... by alephu5 on Tuesday September 27, 2022 @02:44PM (#32999365)
I wouldn't be surprised if most software in the world has been chugging along unchanged for decades. I suspect future historians in 1000 years will find pieces of ancient code copied around unchanged for centuries.
Re:Outdated vs. Complete: In defense of apps that don’t need... by coldacid on Tuesday September 27, 2022 @11:45AM (#32996873)
Because people these days tend to have the attention span of squirrels.