5 ms·
"Done" software is a myth they tell to young developers so that they can sleep easy at night.
by hobofan 9mo ago
"Done" software is a myth they tell to young developers so that they can sleep easy at night.
- kachapopopow 9mo agowireguard is relatively "done"
- imchillyb 9mo ago"relatively" is just a word added to done and the fact that there is a qualifier precludes the word from bearing truth.
- yjftsjthsd-h 9mo agoOut of curiosity, what changes would it have at this point?
- hobofan 9mo agoI'm not intimately familiar with Wireguard, but there are some things that are almost universally applicable: - It should run on an maintained OS (which should run on available hardware), so whatever changes are necessary to keep pace with that - It may want to add optimizations regarding newer CPU architectures - It uses a compiler, so whatever changes necessary to stay on a maintained version of the compiler - It uses cryptography, so whatever changes necessary to stay up to date with latest cryptographic research to provide a secure solution, as well as updating cryptographic libraries to not be exposed to CVEs found in them. It also exists in the context of one/multiple jurisdictions, so possibly also changes to comply with interference in sound cryptography (let's hope not). And all of those are just part of the things to keep up with the world around you evolving. Of course there may also be bugs to fix in the code itself, and/or new ones created by doing any of the changes above. Even their definition of "complete"[0] includes "active maintenance" and "still much to do". [0]: https://www.wireguard.com/repositories/ https://www.wireguard.com/repositories/
- midtake 9mo agoIt uses Curve25519 for key exchange and ChaCha20-Poly1305 for symmetric encryption. There aren't many hardware primitives that would speed it up, although AVX2 and similar would help process ChaCha20.
- bayindirh 9mo ago> It uses Curve25519 for key exchange and ChaCha20-Poly1305 for symmetric encryption. For now. > There aren't many hardware primitives that would speed it up, For now. > although AVX2 and similar would help process ChaCha20. So, there's at least a bullet point for experimental branching. Also, the WireGuard Tunnel Manager on macOS is far from done.
- MagicMoonlight 9mo agoOf all the things to pick, software which needs to be secure and is actively attacked is the worst one.
- reverius42 9mo agoSo like sudo
- latexr 9mo agoAbsolutely false. I have built tons of tools which are feature complete and continue to work to this day without intervention. Heck, I even have tools I no longer use that people asked me to keep available because they do, and they’ve been chugging along for over a decade, no bugs or maintenance necessary. Just today I saw a report of Adobe discontinuing a tool in use by professionals because it is done and they don’t know what else to add. https://mastodon.social/@grishka/116005782128372247 https://mastodon.social/@grishka/116005782128372247 “Software is never done” is a myth they tell to keep extracting money from you. A lot of the time, failing to to finish software indicates a badly defined scope.
- rcxdude 9mo agoThat tool, BTW, is essentially the authoring side of Flash rebranded.
- hobofan 9mo ago> Just today I saw a report of Adobe discontinuing a tool in use by professionals because it is done and they don’t know what else to add. Yeah, I'm sure the reason stated by the customer support is the real one, and not the lack of profitability from that tool among a shift of focus towards AI[0] as reported everywhere. https://techcrunch.com/2026/02/02/adobe-animate-is-shutting-down-as-company-focuses-on-ai/ https://techcrunch.com/2026/02/02/adobe-animate-is-shutting-... > for over a decade, no bugs or maintenance necessary I'll believe it when I see it. Keeping something running for a long time is a lot easier task than building something that can be run in an ever changing world. Given that it's that old I'd wager that it isn't runnable on/compileable for ARM64 without some kind of maintenance. And if it's written in an interpretable language there is a good chance that the underling interpreter/runtime are EOL by now. > A lot of the time, failing to to finish software indicates a badly defined scope. And a lot of the time finished software becomes unused because it sticks to scopes that don't match up with reality/user needs anymore.
- dannyw 9mo agoYeah, I have a relatively simple script with webUI for organising photos and videos I take on my NAS. Over the years I’ve had to upgrade the ffmpeg dependency, which resulted in breaking changes a couple times and maintenance. I’ve also had to spend nearly a whole day fixing the webUI when iOS’s wonderful liquid glass came out.
- noirscape 9mo agoThere's a difference between software that's "done" (it never needs updates, ever) and software that's done (it only needs maintenance for security and platform churn). The former is extremely rare; platform churn alone will usually demand updates, even if your code is otherwise airtight. Forces generally beyond your access will demand that your code is able to conform to platform standards. The demand this places can be very variable and depends more on the platform than you. (Windows has low platform churn since it's possible to futz with compat features, Linux is extremely variable on your codebase, MacOS is fairly constant and from what I know about mobile phones, you're basically signing up to forever maintenance duty). The latter is much more common; sure, sudo still gets updates but most of those won't be new features. Specification wise, sudo is "done". It does what it needs to, it's interface is defined and there aren't going to be any strange surprises when I run sudo between any system made in the past 10 years or so. The problem is that when you're selling software, demanding compensation for the former is a hard sell since it's things customers won't see or necessarily care about. Demanding compensation for the latter is much more obviously acceptable.
- cousin_it 9mo ago> MacOS is fairly constant Except when they killed all 32bit games a few years ago with Catalina.
- zbentley 9mo agoI think that GP meant that MacOS has a constant nonzero rate of platform churn. I might be wrong though!
- noirscape 9mo agoOops, yes, I meant a constant non-zero rate. It's slightly above mobile phones, where the developer is treated as the problem that needs to fix itself. Stuff written for one version of MacOS will probably work for the next few versions, but there's just as likely a chance that Apple has decided that you need to do a full on update of all your older tools. Things like dropping Rosetta, 32-bit from the kernel and so on and so forth. There's not really any recourse, unlike Windows and Linux where you can usually finagle a workable solution without having to resort to updating everything all the time (so platform churn exists, but a user can theoretically choose to avoid it). This is unlike phones, where there's basically no real expectations for when you need to update stuff, so it becomes a case of "you need to test every version". The lack of respect for tool stability is just one other reason why the mobile ecosystem is the user-hostile hell it is; this platform churn pretty much is one of the two roots of why mobile apps are Like That. (The other being that running your own choice of tools is treated as a privilege, not a right.)
- Intralexical 9mo agoThe OpenBox WM is a respected piece of software, commonly used on minimal Linux desktops, that has been "done" since at least 2015.
- UqWBcuFx6NV4r 9mo agoKeep selling your bosses that myth. Nobody here believes you though.