You can have a machine where you are actually more free to experiment than simply being unrestricted. If you have a machine where you can roll back changes to a saved point, you are more free to experiment, even with dangerous and esoteric mechanisms. This is what we had in Smalltalk. Smalltalk used to be an OS. (There are 4 hooks in the old Smalltalk-80 image for lifting the drive head, putting it down, and moving it in and out.) When I used it, it was no longer an OS, but this is how I know that doing
Semaphore allInstances do: [ :each | each release ]
Locks up your image so hard, there's often lag when you try to kill the VM process. I can do that with un-checked in code in the image, then restart from a saved image, replay all of my actions from the change log except for the last one, and I'm back in seconds, all of my code nice and safe.This degree of rollback ability would also be great for simplifying parental IT. You'd need to add some sort of cloud storage for storage of authentication secrets and the most important data, but then it would be almost bulletproof.
In the hands of corporations and governments, imposed on individuals, this becomes DRM and is clearly horrible. It's so horrible, there should be laws heavily regulating it's use by organizations against individuals. However, the same asymmetries that make the issues of disclosure and privacy different between corporations and individuals also make trusted execution different between corporations and individuals.
It's bad for society and individuals when individuals have their information disseminated against their will. However it's very good for society when corporations, governments, and other organizations are required to be open and disclose information. This is why Trusted Execution should be used by individuals against organizations. Aimed in that direction, it compensates for the power differential. Used as DRM, it exacerbates it.
Trusted Execution combined with sandboxing can provide individuals with very good protection against things like malware and the Sony rootkit. My ideal PC would have an inviolate hypervisor kernel supervising an open "dev" VM which can be rolled back, along with various "appliance" VMs where sandboxes with Trusted Execution can protect the individual from the execution of other people's code.
That's the whole point of having certain things in the cloud!
nor should the billions of people not have privacy
You can have a relatively open machine that implements rollback mechanisms using local storage and have privacy just fine. Did you just have a reading comprehension failure?
The boot screen coming up each time if I put my machine into dev mode is something that really icks me. At least, I should be able to switch it off (without resorting to EFI hacks). Also, it's really easy to wipe your device on that screen if you accidentally press the space bar.
If that one screen was a bit more configurable and the driver situation was a little bit better (less blobs/hacks), my ARM-based chromebook would be my daily driver by now.
What about what that curation entails. Should I be forced to watch ads the manufacturer sends me before I can do anything? Should I be forced to pay a rental fee or lose all access to my data? Should all financial transactions be controlled by the manufacturer's prefered system?
The problem with walled gardens is lockin and shareholders would be irrational not to encourage the manufacturer to maximize the profit they can extract from each device. I don't want a device where my every interaction is controlled and monetised to maximize my consumption.
It doesn’t seem unreasonable to think iOS devices will replace 95% of all Macs, with exception to professional users who need massive workstation resources, unfettered system access, etc.
I don’t recommend Macs to family or friends anymore, they’re completely unnecessary. The new iPads with the keyboard are enough for normal people. That trend seems to be solving the problem, gradually, leaving the technical system for technical people.
The big fear shouldn't be that you won't have anything to run so much as the idea that popular general Operating Systems in the future will integrate too many advanced features and introduce hurdles to general interoperability that makes it harder for open source alternatives to be useful.
So far it hasn't been too big of a problem, but if operating systems start being augmented by substantial amounts of AI or machine learning derived efficiency improvements upstarts might have trouble keeping up, but I wouldn't count out the creativity of the Open Source community to address these issues.
I beg to disagree. Ubuntu for example has apparmor enabled by default [1] and snaps running in containers [2]. And compartmentalization is a huge part of the linux kernel [3].
---
[1] https://en.wikipedia.org/wiki/AppArmor
Ubuntu snaps are not sandboxed yet [1]
Containers just offer just the same environment as a normal unix. Kernel apis like e.g. Video4Linux or even more basic stuff like the filesystem are not designed for this. How does an app ask the user for permission to use the camera? How does an app ask to open a file outside of its sandbox? Basic things like that are just handwaved away or implemented with extremely complex systems that regularly have security holes.
[1] http://www.pcworld.com/article/3063134/linux/ubuntus-snap-pa...
That's quite a blanket statement: of course they are. Snaps are sandboxed by a set of interfaces requested by the snap in question. If the snap requests networking, it gets networking. If it wants to access the sound card, it gets the sound card. Some of these interfaces are more powerful/dangerous than others. If the snap requests X, it gets X. That makes that particular snap certainly less safe, but it says nothing about snaps that don't use the X interface at all. The user can also disallow access to X (though that probably makes the application less useful) by disconnecting that interface: snap disconnect <snapname>:x11
http://blog.jacobtorrey.com/langsec-taming-the-weird-machine...
http://www.bromium.com implements that approach within Windows.
At this point we need to accept that severely locked down and curated devices are the easiest and least painful road ahead for the majority of the world's citizens to participate in digital transactions, while unrestricted computing devices can used by those who are learning or specifically involved in technical tasks or are simply those who agree that they know what they're doing and the tradeoffs involved.
Am not saying unrestricted devices should be banned. It's just that they should come with warnings on the box and an advisory to use locked devices if the intent is to simply buy it and mindlessly use it.