On Wed, Apr 19, 2017 at 5:21 AM, James B. Byrne byrnejb@harte-lyne.ca wrote:
On Mon, April 17, 2017 17:13, Warren Young wrote:
Also, I’ll remind the list that one of the *prior* times the systemd topic came up, I was the one reminding people that most of our jobs summarize as “Cope with change.â€
At some point 'coping with change' is discovered to consume a disproportionate amount of resources for the benefits obtained. In my sole opinion the Linux community appears to have a change-for-change-sake fetish. This is entirely appropriate for an experimental project. The mistake that I made many years ago was inferring that Linux was nonetheless suitable for business.
To experimenters a ten year product cycle may seem an eternity. To many organisations ten years is barely time to work out all the kinks and adapt internal processes to automated equivalents. And the smaller the business the more applicable that statement becomes.
I do not have any strong opinion about systemd as I have virtually no experience with it. But the regular infliction of massively disruptive changes to fundamental software has convinced us that Linux does not meet our business needs. Systemd and Upstart are not the cause of that. They are symptoms of a fundamental difference of focus between what our firm needs and what the Linux community wants.
Apple has had massively disruptive changes on OS X and iOS. Windows has had a fairly disruptive set of changes in Windows 10. About the only things that don't change are industrial OS's.
When it comes to breaking user space, there's explicit rules against that in Linux kernel development. And internally consistent API/ABI stability is something you're getting in CentOS/RHEL kernels, it's one of the points the distributions exist. But the idea that Windows and OS X have better overall API stability I think is untrue, having spoken to a very wide assortment of developers who build primarily user space apps.
What does happen, in kernel ABI changes can break your driver, as there's no upstream promise for ABI compatibility within the kernel itself. The effect of this is very real on say, Android, and might be one of the reasons for Google's Fuscia project which puts most of the drivers, including video drivers, into user space. And Microsoft also rarely changes things in their kernel, so again drivers tend to not break.