Mobile NixOS: The Present and the Future
samuel.dionne-riel.com
samuel.dionne-riel.com
I think Nix and NixOS is the best thing that happened to the Linux ecosystem in the last ten years. Good that it spreads to mobile.
What do you think a graphical installer should do for the user?
Like, you choose the type of the PC and then it takes you through some steps to get the right config and packages going.
NixOS is definitely the perfect OS for fiddlers. Practically nothing is usable without at least some minor tweaks, but once you've tweaked it you won't later lose those tweaks. For anyone who stopped enjoying that after redoing the same config for the fifth time, it's great.
This is kind of a silly absolutist opinion. Sure, you should have an option to have a completely open mobile OS... but to say that any OS with other priorities than complete “openness” is disrespectful is to throw literally every other consideration to the wind. I mean... really, what about security?
Ideologues tend to forget about reality, sometimes, it seems. Verified app stores, for example, are about providing security to the end user, not about disrespecting the end user.
I can’t help but feel like ideologically driven projects like often almost immediately discredit themselves with crap like this. Their software comes off as about making some statement, not providing something great, novel, and beneficial to people.
Also, in case you didn't know, there's been a lot of thought and effort expended over the decades about the philosophy, morals and implementation of ownership with regards to hardware and software. I recommend starting with a resource like http://www.gnu.org/philosophy
You can't think of anything connected to the Internet as completely "owned" by any one person. The Internet is a hivemind of machines and humans, and every single person has the ability to impact many other people. Even unintentionally, even unknowingly.
If we want complete personal ownership of every device in our possession, I'm all for it. But that would require every person who owns a device connected to the Internet to take full personal responsibility for anything that happens on/from their device that negatively impacts others. Would you be okay with me suing you personally because one of your devices got infected with malware and slowed down my home Internet connection? Would you be okay with me suing your grandmother?
There is hardware and software out there for people who can handle that responsibility. The majority of Internet users can't handle it, though. That's why the majority of Internet-connected devices don't allow people to meddle with things they can't understand.
The GNU philosophy is a great ideal to strive for, but like with most ideals it doesn't handle reality very gracefully. With complete ownership comes complete responsibility, and very few people are ready to take complete responsibility for what their Internet-connected device does.
That's definitely not the status quo, it's also a pretty extreme position.
The statement you quoted is what would happen if everyone were to actually completely own their own Internet-connected devices and took full responsibility for them. It's not a comforting idea. People like to throw around words like "ownership" but shy away when related words like "responsibility" show up.
I'm personally liable for the damage my car causes, because I own my car. I'm not personally liable for the damage my computer causes. Do people actually want to be? That's what ownership means.
If you modify your car to be unsafe, then you're responsible.
People can own their phones/computers, they can be allowed to disable safety features, while still holding companies responsible for implementing a safe product.
It should be entirely possible to completely own your car/phone/whatever while still largely holding the company responsible for the users safety.
No, but close. Lack of responsibility is incompatible with ownership. You can own something that's potentially unsafe (cars, guns, pets, fireworks, etc) as long as you're responsible for the damage they may cause.
Hypothetical Apple car aside, cars are a great example of ownership and personal responsibility. If I change my tire incorrectly and it causes my car to damage another person's property, yes I am 100% liable for that damage. That's why we have car insurance, to cover that liability.
If I administer my computer incorrectly and it gets infected causing damage to other Internet-connected devices, where's my liability? I have none. What damages do I pay to other Internet users? None. How do I get paid damages from the person who infected me? I can't.
The point is you can't talk about ownership without talking about responsibility. If you can't be held responsible for what your device does, you don't own it.
About cars, your favorite examples, if the car breaks are broken because of the manufacturer it is not my fault as an owner that I was sold a broken car, so for computers you may need some regulations when the OS and app developers are responsible and not the current state "this software can kill your cat we are not responsible thing you see in the EULAs"
You can have your computers and smartphone designed for grandmas and that is fine, many people would like this grandma proof hardware. I don't like the extremist arguments you bring to prove your points, defend Apple and ignore valid issues brought to your broken analogies.
I'm very aware.
Also, in case you didn't know, to imply morality or correctness of a philosophy simply because some n individuals spent y time thinking about it is a logical fallacy.
The GNU philosophy is great when you want to wax poetic about a technological utopia, but it simply falls flat when you try to apply it in reality.
In the modern, interconnected world, it is technically trivial to compromise and marshal many thousands of devices to use in co-ordinated attacks. I simply do not trust other users, regardless of their technical aptitude, to maintain a secure posture, and they have no obligation or responsibility(outside of a tenuous at best philosophical stance) to do so.
I trust companies like Apple to utilize their economies of scale and collective engineering acumen to deliver a safer UX far more than I do their individual users in a freer ecosystem.
One could argue there is already a "live" experiment with a more open mobile ecosystem. Android is far more lax than Apple's walled garden, and this is my shocked face that it is rife with malware.
I understand there is some small fraction of the population that will cry foul at whatever egregious transgression Cupertino commits against the utopic vision of our lord RMS, but at the end of the day most of us have other things to do with our time and want to know, generally speaking, we're protected against all the other idiots.
They quite literally cannot do that. It's security theatre.
Everything a company does is for the bottom line.
App stores are there for lock-in, and for taking a percent of the sale.
The security features are a (fortunate) side effect: the company uses it as selling point.
I am thinking of making Sciter Engine as a chrome for mobile devices. So mobile UI can be defined in terms of HTML/CSS with code-behind-UI written in C/C++ or script.
Conceptually that would be close to FirefoxOS but more inclined into native side. Or at least will have more flexibility in this respect.
Is it interesting at all?
Are you still considering open sourcing Sciter? I personally hope so - but also know how much is involved in going down that path.
As of OpenSource, yes I have plans for that. The only problem is that OS is a great responsibility, at least for me. It is going to be a significant effort to document source code, etc. I am actively looking for sponsors for the effort.
Regarding Open source / sponsorship / support: - Andrew I will follow up directly via email over weekend.
How can I reach out to you?
Do you plan on allowing other projects such as AOSP forks, UT, Sailfish, postmarketOS to work on top if Mobile NixOS? So a project like Mer was?
[Edit: To answer my own question: GitHub page says its heavily based on postmarketOS]
Of course knowing why it happens didn't make it less frustrating, but it's hard to fix. What you can do is build your system remotely, on a more capable machine, perhaps with nixos-rebuild --target-host.
(That's a shell script, and fairly readable.)
This typically means several hundred packages at least, plus a lot of code that's not as easily classifiable as "packages". The config file generators are written in the same language.
Other operating systems punt on the challenge; there's no equivalent in e.g. Debian.
If we're talking about a file system with 100,000 files, that's 20 kb of metadata per file. Actually, more than that because it exhausted the ram.
Those numbers just don't add up.