it's a problem because it kind of undermines the concept of open source in a pretty basic way. for a lot of software, grabbing the thing and making it do what you want involves an indefinite amount of overcomplicated bullshit as you try to install the right versions of a bunch of dependencies you've never heard of and decipher output from an idiosyncratic build system. you can't just get in there and experiment
@aeonofdiscord tbh I see this kind of "blindness to the perspective of the newbie" as both very difficult to avoid, but also a red flag if the project leadership clearly doesn't even make a basic effort.
@technomancy yeah def, i think this is such a widespread problem that it's not even anyone's fault as such. like there are clearly bigger factors causing this (bad tooling, for one)
@technomancy you can work around it and provide a good new-user experience out of the box but it takes effort and in most cases i don't think people see a compelling case for it
On a previous project, I got things to the point where you just clone a build repo via git and invoke CMake in a standard way, and it clones the rest of the codebase for you and pulls down the dependencies from Artifactory via Conan. That's pretty much my ideal.
@HunterZ @technomancy @aeonofdiscord Not sure if it's a joke, but tools like Chaos Monkey kind of do that and it looks like the companies that use it have pretty reliably working services, especially given how complex they are.
I've also see Drew DeVault recommend something similar for testing backups. Pull the plug on a machine and see if the crew can restore it.
@HunterZ @technomancy @aeonofdiscord I have to do this when writing docs and tutorials (my main work things ATM) to make sure I get dependences listed correctly, and can be surprisingly hard to work out exactly which bits of toolchain from my 'has everything installed so stuff just builds' workstation is actually required in some cases.
A freshly installed Raspberry Pi 4 (if your software is buildable on ARM) is extremely useful to see what the dependency hell situation looks like IRL.
@ArneBab @alexjgriffith @technomancy @aeonofdiscord right. The point is that if you already have a CI/CD solution that automates setting up a build environment as part of its process, then there's little excuse for making developers do those same things manually in order to be able to build the same codebase.
"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko