> In a village, everyone knows everyone. Kids play with each other and run around freely. Every house protects all the kids and help each other. Everyone trusts everyone. You never feel lonely.
In Japan that's true in a lot of city neighbourhoods as well. The high trust is extremely valuable but villages are not the only way to achieve it.
Yeah, people do forget how much of our codebases is already slop. Like, anything that's in a "boilerplate" or "scaffold" is probably code that a human shouldn't be spending time writing in the first place.
Maybe it'll work. Yes, disruption usually starts from the low end, but plenty of low-end alternatives die out without ever disrupting the high-end option.
Right now it's making crappy, unmaintainable code, and while you can make a lot of money with crappy, unmaintainable code, the need for good code hasn't gone away.
It's always been the case that you could make something that sort of worked for a while with terrible code. The problem was that your product would have random regressions all the time (which theirs does!) and as a result no serious buyers would pay for it.
You should have that option, but you should also be able to install things for all users. That's a pretty common case - most of the time if you install something on your computer, you are the administrator of that computer and want the thing you installed to be available for all users of that computer.
> most of the time if you install something on your computer, you are the administrator of that computer and want the thing you installed to be available for all users of that computer
Speak for yourself. For installing via system packages, yes. Otherwise absolutely no.
Most of the time if I install something on my computer without using the package manager, I am the administrator of that computer and I want the thing I installed to be available to a specific run-user, not to all users.
> Ensuring a code base indefinitely supports arbitrary architectures carries a substantial code architecture cost.
I'd say just the opposite; it nudges you towards well-factored approaches and ultimately carries a code architecture benefit, just like having automated tests or using structured programming.
For a relatively small set of dimensions this is true. But the more abstractions the code needs to accommodate, the trickier and more prone to leaky abstractions it becomes. Removing one axis of complexity can be incredibly helpful.
For the Ardour codebase (922k LoC at present, ignoring the vendored GTK/Gtkmm trees), we've found that every new architecture and new OS/platform that we've ported to has thrown up challenges and notably improved the code. That has included FPU/SIMD specializations too.
> It doesn't seem that is really what the foundation is arguing though, so I'm guessing it wasn't that bad. It seems more their argument is that this violates the non-profit laws they operate under.
It may have been that bad. They don't really have to get into the messy arguments of "was this a fair price for this kind of contracting" because that kind of arrangement is inherently unethical, to the point that you can kind of assume it's embezzlement by default (which is why those non-profit laws are set that way).
In Japan that's true in a lot of city neighbourhoods as well. The high trust is extremely valuable but villages are not the only way to achieve it.
reply