I’ll say as a cad professional, the linux space was abandoned by the largest companies a while ago. Unless you go browser based (onshape) your software will either be less mature (Freecad, solvespace) or straightup script based (openscad).
Or you will have to use a dedicated VM but IMHO it’s not worth it when you can just dual-boot.
I’ll say that as someone who stopped using docker and went back to deploying from source in lxc containers: dockers is a great tool for the majority of people and that is exactly what it aims to be, easily reusable in as many different setups as possible.
On the flip side, yes it may happen that you would not benefit from docker for a reason or another. I don’t, in my case docker only adds another layer over my already containerized setup and many of the services I deploy are already built from source in a CI/CD workflow and deployed through ansible.
I do have other issues with docker but those are usually less with the tool and more with how some project use docker as a mean to replace proper deployment documentations.
Which, as you mentioned, they keep because if they didn’t it wouldn’t be a good marketing move, higher number sells more. Even though it doesn’t reflect the modern end user internet experience. They don’t keep it because an engineer prefer that. Marketing will fight tooth and nail to screw us engineers over if it sells better.
Every popular speedtest is in bytes, every download will show the size in bytes, even streaming services often show bitrates in bytes. Size on the internet is bytes-centric.
An ISP selling their plan as gigabit has nothing to do with network engineers, it’s only an easy way to inflate their numbers.
If I’m updating the source code already I might as well build my service from it, I really don’t see how building a docker container afterward makes it easier considering the update can also break compatibility with the docker environment.
Also adapting can be a pita when the package is built around a really specific environment. Like if I see that the dockerfile installs a MySQL database can I instead connect it to my PostgreSQL database or is it completely not compatible? That’s not really something the dockerfile would tell me.
I have a love/hate relationship with docker. On one side it’s convenient to have a single line start for your services. On the other side as a self-hoster it made some developers rely only on docker meaning that deploying the stack from source is just an undocumented mess.
Also following the log4j vulnerability I tend to prioritize building from source as some docker package were updated far later than the source code was.