Only partly. There's no technical reason why you need to have 70 differently wired connectors to access the engine computer's UART port… and why they cost over a hundred dollars each.
Or why the error codes are kept secret from the user, resulting in only the dealership, not your local independent, being able to fix some things.
And also the requirement of specialist tools to do non-specialist jobs like set the engine timing, and then charging a lot for purchase of the tool. It will be interesting to see how serviceable electric cars become once they are old enough to start being parted out and the used market expands to those who 'just need something to go from A to B'.