But often the fork happens too late, after the first few differences have been creatively shoehorned into the shared code. The resulting mess then tends to live on twice after the fork.
In the end, almost every conceptual way to slice up software can be viable if you are good at whatever you do, and terrible of not.
In the end, almost every conceptual way to slice up software can be viable if you are good at whatever you do, and terrible of not.