I'd say something implementing the ideas of NixOS, i.e. immutable versioned systems and declarative system definitions, is poised to replace the current deployment mess, which is extremely fragile.
With NixOS, you can upgrade without fear, as you can always roll back to a previous version of your system. Regular Linux distributions, macOS, and Windows make me very nervous because that is not the case.
> I'd say something implementing the ideas of NixOS, i.e. immutable versioned systems
NixOS isn't immutable, things aren't mounted read only. AFAIK, it can't be setup that way.
> With NixOS, you can upgrade without fear, as you can always roll back to a previous version of your system. Regular Linux distributions, macOS, and Windows make me very nervous because that is not the case.
The store is immutable in the functional programming sense, as the package manager creates a new directory entry for each hash value.
Backups could be an option, but it is much better to have a system where two computers are guaranteed to be running the exact same software if configuration hashes are the same.
In other OSes, the state of your system could depend on previous actions.
> Regular Linux distributions, macOS, and Windows make me very nervous because that is not the case.
I'm personally only really nervous when updating Linux distributions. Besides security updates it usually hardly matters or is noticeable on macOS/Windows (well besides the random UX changes..).
Ideally there would be a usable security first os based on something like sel4 with a declarative package system for slow to change mission critical appliances.
In NixOS, you have a bootloader to load your OS. Unless you botch your bootloader, you can't paint yourself into an unbootable state. If one system configuration doesn't work, you reboot and choose the prior one before the OS begins to load in a menu displayed by the bootloader.
This is also true of most regular Linux setups. Except that in those, you can only choose the kernel. Hence, if you have broken other parts of your configuration, your system might not be bootable. So the safety net is much thinner.
Because you just want stuff to work and couldn't care less about the ideology part?
Also no feature parity (it's not about Windows being "better" than Linux or the other way around, none of that matters) there are not out of the box solutions to replace some of the stuff enterprise IT relies in Windows/etc. which would mean they'd have to hire expensive vendors to recreate/migrate their workflows. The costs of figuring out how to run all of your legacy Windows software, retraining staff etc. etc. would be very significant. Why spend so much money with no clear benefits?
To be fair I'm not sure how Apple figures into this. They don't really cater to the enterprise market at al..
Why? Both things seem pretty tangential. Poorly written software exists or can exist on any platform, just like the IT infrastructure wouldn't somehow automagically become robust if they just switched to Linux.
When I took a Linux course in college I had an old laptop that I installed Linux on. However, for some reason my wireless card wouldn't work. I mentioned it to my professor and the next day he told me "It's actually quite simple, you just have to open up the source code for the wireless driver and make a one line change."
Maybe things have gotten better, but I think that's why people use Mac. It's POSIX but without having to jump through arcane hoops.
The problem with the linux desktop was usually that most hardware companies were either not spending any time/effort on non-windows drivers/compatibility or when they did it was a tiny fraction of the effort that went into working around bugs in the windows driver API's.
Today with the failure of windows in both the mobile and industrial control space we now see vendors actually giving a damn about the quality of their Linux drivers.
Today the main factor keeping the enterprise marked locked on windows is the fat clients written around the turn of the millennium, and that's as much a problem for mac adaptation as it is Linux adaptation.
The macs are slick well designed devices that speaks to a huge segment of the consumer market so will eventually find the way into the high cost niches where no specific dependency on legacy software exists but they are too expensive and inflexible to replace all of the wintel system so for Microsoft and it's partners to have their license to screw over the enterprise sector revoked Linux(or FreeBSD) will have to play a role too.
Things have definitely gotten better. I remember the painful years. My most recent Ubuntu install on a new laptop was about 3 years ago. As someone who has used Linux as the daily driver for more than a decade (and dual booted as a second OS for another decade) I was pleasantly surprised that everything just worked! I think that was a first
It was an HP from Costco, not something special sold with Linux. My wireless worked, dual monitors just worked, even the fingerprint reader that I never use. I remember sitting there thinking "I didn't have to fight anything?" Hopefully that becomes the norm, maybe it is - I haven't needed a new laptop yet.
Because for some people (certainly not all), their objection is not to a "corporate" OS, but to the specific things Microsoft does that Apple does not.
I think the DAO hack is misrepresented in the crypto community lore. The network simply decided to follow the main developers and those that did not, kept with what is now ETH classic. A hard fork can happen in absolutely _all_ cryptocurrencies, and I see it as a feature rather than a bug.
While I generally agree, I will say that the ability to dictate a Schelling point is a form of power.
Imagine a first past the post election, where there is no official list of candidates (one simply writes in a name), but where a particular person has the position that they are always the first person to publicly recommend any candidate, and all voters hear this recommendation.
This would be a powerful position, even if that person was not eligible as a candidate, and even though everyone can vote for whatever candidate they want.
When in a position of significant power, even if this power is only of the form of one’s reputation and/or one’s influence on Schelling points, one has a responsibility to, when exercising this power, to take into account the effect it will have on others.
I don’t mean that he failed to do so. I imagine it must have been a difficult decision! And I do hold Vitalik in high regard.
But if one presents such a fork as being merely the the result of independent choices of each user, I think one is mistakenly omitting the power used by big names which promote one fork or another.
I don’t mean to say that this power being present is a problem that needs to be solved, making this power not present. I don’t think that is possible.
Like I said, I do largely agree with much of the “people are free to choose what fork they use” framing.
But while I think it is probably basically the best that can be achieved, I do think it is best to acknowledge that even without authority from things other than social influence and such, that there is still power through said social influence + Schelling point influence + etc. , and it is possible for this power to be misused (though I don’t claim that it was misused in this particular case).
In addition, I do think it seems prudent and good to avoid exercising this power unless the reason to use it is especially compelling (e.g. either part of an upgrade which basically the whole community has been expecting for a long time, or which has overwhelming support, or to handle something which , if not handled, could have an existential impact on the chain, or things like this) . (And, while I haven’t kept up with his latest writings and actions, I suspect he kind of agrees?)
I think you are spot on, with the addendum that exercising this power comes with costs - see the very DAO hack we talked about. So while I fully agree this power exists, it is not unlimited and is invested by the users of the network. I also think Vitalik is aware of all these and they are actually using these principles in the ETH governance.
This just means that as far as users are concerned there is no such thing as an immutable blockchain. That's because people don't interact with chains directly, they use "Bitcoin" and "Ethereum", and those names have an inherent mutability in what they refer to.
The Ethereum developers convinced enough players of the crypto ecosystem to change what chain the name "Ethereum" refers to, not unlike a dns change (but to a large extent, done manually; there were humans in the loop to activate the hard fork). So wallets and exchanges changed the chain that the name "Ethereum" pointed to. Nodes migrated, and miners too. And it just happened that this fork was made specifically to revert a certain transaction.
Those that were left on the original chain had to pick another name for it, and build another branding. It was now called ETC instead of ETH, even though it was ETH that changed; ETC points to the old chain that used to be called ETH.
From the perspective of users, the transactions on ETH were truly reversed. Immutability is a mirage. (This is not necessarily a bad thing though.)
They cannot roll it back. Anybody can create a hard fork, and nobody is forced to use that version. In fact, the version that was not rolled back still exists, and we are all free to use it if we wish!
This ignores network effects at play. As soon as large parties or developers of popular front-end software announce their support, the majority of smaller users will quickly follow - simply because not following would put them on a massive disadvantage.
The developers of the clients do have a massive advantage here.
I disagree, a fork with a non-Google app store could absolutely threaten Google.
The Oculus Quest runs an Android fork for example. Are you saying if Google gets into VR Facebook will not be able to compete because of the fact they are using Android?
Or, I mean, hear me out: buy a Kill-A-Watt for $50, plug it into the wall, and then check what the dial says when your computer is neutral vs. when it's looping your code.
How is that a counter-example? A paralyzed human can still exhibit a chemical or physical response to an external stressor or stimulus in general, such as body temperature, sweating, neural activity, etc.