In line with the release of the COSMIC alpha, parts of which are also available for Redox, we’ve got another monthly update for the Rust-based operating system. First, in what in hindsight seems like a logical step, Redox is joining hands with Servo, the Rust-based browser engine, and they proposed focus will be on Servo’s cross-compilation support and a font stack written in Rust. It definitely makes sense for these two projects to work together in some way, and I hope there can be more cross-pollination in the future.
Simple HTTP Server, an HTTP server written in Rust, has been ported to Redox, and the Apache port is getting some work, too. Wget now works on Redox, and several bugs in COSMIC programs were squashed. UEFI also saw some work, including fixing a violation of the EUFI specification, as well as adding several workarounds for buggy firmware, which should increase the number of machines that can boot Redox.
Another area of progress is self-hosting, and Redox can now compile hello world-programs in Rust, C and C++ – an important step towards compiling more complex programs and the end-goal of compiling Redox itself on Redox. There’s way more in this update, so head on over to get the full details.
A really interesting release. The fact that even simple programs are building means that applications as complicated as the Rust compiler are working. Along with the ambition of having an application of the complexity of Servo with SpiderMonkey running means that Redox is entering a new phase of capability here. Adopting COSMIC is going to add some real polish too.
Fascinating that SerenityOS is pushing their browser away ( ok, I know it is the other way around ) and Redox is teaming up to incorporate Servo. I guess they both make sense for the same reasons–funding!
I cannot wait to see where Redox goes next.
I have mixed thoughts about Redox. It makes a big thing of its inspiration from Plan 9, Minix et al, and indeed there are some innovations. But is it ambitious enough? Liam Proven reckoned it was somewhat conservative in his article on v0.8 and that Genode and 9Front are innovating much more.
Despite this, its development is a fine accomplishment, and I’m sure provides Jeremy Soller some escape from the banality of linux that makes up his day job.
Harvey OS’s r9 (Plan 9 implemented in Rust – recently discussed on this site) and Theseus represent more avant-garde OS written in Rust.
https://www.theregister.com/2022/11/29/redox_os_version_08/
I guess it depends on what your ambitions are. Redox wants to both innovate in some important directions and be USED. Half-implementing Plan 9 over the course of 50 years for an audience of hundreds is not going to move the Operating System needle.
Is Redox ambitious enough? I think so. It is written in Rust. It is a micro-kernel. If it becomes a viable way for even a moderate number of people to run software that they would otherwise run on Linux, it will become a new base from which to iterate. Future articles can talk about being inspired by Redox ( a working OS ) instead of still unusable projects from the 1990’s whose most recent releases are already more than a decade ago.
This is the HURD vs the Linux kernel. From one point of view, Linux was not nearly ambitious enough ( ask the author of MINIX ). From another point of view, the HURD has made absolutely no impact on the world and Linux has completely revolutionized it–including a fair bit of operating system innovation.
You make some excellent points. Redox is aiming at being a practical operating system. Is the idea that the intention is Redox + COSMIC will become PopOS sometime in the future? System76 would then own its entire stack.
“Is Redox ambitious enough? I think so. It is written in Rust. It is a micro-kernel.”
I would suggest the microkernel structure is more indicative of innovation than rust programming language. If writing something from scratch you need a programming language (unless everything is assembly or something) and Rust is probably the most sensible choice as things stand.
“This is the HURD vs the Linux kernel.”
Now this is an interesting thing to bring to the table. I reckon Redox *is* a “Hurd” of Unix Replacing Demons in its own right. If Redox were successful that would seem to vindicate HURD after all.
But we already had a Rust based operating system that is currently used in commercial context:
https://github.com/vsrinivas/fuchsia
Google’s Fuchsia is a micro kernel (Zircon) based system. And it is already deployed into millions of smart devices (the Nest displays and I think also speakers).
Problem?
Not easy to replace an entire ecosystem of Android or even Chrome.
sukru,
Google was / is in a good position to use fuchsia in an upcoming android.. And I really don’t think end users would protest replacing the underlying kernel, but android is already doing ok as is. Change would have been feasible for google but it would have costed money that evidently google is too cheap to commit to these days. Why not leave well enough alone? Of course we have discussed plenty of problems with android with linux, because these issues are mostly vendor locking and planned obsolescence – for better or worse many manufacturers actually benefit from these problems.
Alfman,
Back in the day, when I was interviewing with Fuchsia for an internal transfer they were still trying to sort out WiFi drivers. (The transfer did not happen, but that’s another story).
The point is building an operating system is a much larger challenge than writing a kernel or getting gcc running. Haiku can do that since at least 2015, but they cannot even support basic hardware acceleration for video yet:
https://dev.haiku-os.org/ticket/9919
And this was on Linux since 2008(?).
So, the reason “Google being cheap” is, it is really going to cost too much. Even at Google scale supporting an operating system is not cheap.
Circling back, having another open source kernel, and a second(?) viable one with Rust is welcome.
I am just not holding my breath for a quick viability.
Exactly, treating device drivers as first class citizens. That is one major thing that GNU/Linux got right and on why it’s such a success. On top of that it runs on blobs just fine. The licence rather perfect to prevent fragmentation, big thanks to Stallman. Others should learn from it if they ever want to compete. Fuchsia stood no real chance in replacing Android, hope that Google learned a lesson and starts investing more effort in GNU/Linux directly, considering it relies heavily on it. Without GNU/Linux they are basically non existent player in mobile and desktop devices segment and beyond.
Geck,
You’ve got it backwards, without android, linux are basically a non existent player in mobile. GNU/linux phones failed, Fuchsia’s value proposition was low because google already own and control android, they would just be displacing themselves for zero net gain. Fuchsia would have stood a much better chance if google didn’t already own android and was competing with it instead.
Yeah, like zero chance. Competing with iPhone with a non existing kernel or Java or … And 15 years later, trying to compete with Linux based Android with an in house solution, and failed. On desktop too, ChromeOS. Google is much much more dependant on GNU/Linux then GNU/Linux is on Google. Time has now come to acknowledge that and to start acting accordingly.
Geck,
You forget that history is on google’s side. God knows android users don’t care about the linux kernel. Without google, linux on mobile could have turned into a dead end. I am somebody who actually likes using linux and would like to see more linux on mobile because it’s practically invisible with android not to mention how difficult it is to run “linux” software on android.
History is on Google side, due to Google being the one that adopted Linux on mobile. GNU/Linux can on the other hand manage just fine, with or without Google, everywhere. It’s not dependant on Google in any meaningful way. That can’t be said for Google, to manage just fine without Linux. Without GNU/Linux Google is non existent in mobile, desktop and cloud. So lets get real.
Geck,
Don’t kid yourself, you’ve previously admitted that users don’t care about linux on mobile and moreover gnu/linux on mobile has been a market flop. You were even afraid that google would succeed using a linux alternative. If not for google’s organizational problems, it certainly would have been within the realm of possibilities.
Your world view requires you to live in denial about a lot of facts. Linux owes so much of its market share to google and you don’t even realize it. They could have gone with a BSD or something else and that would have become apple’s competitor in the duopoly.
Indeed it doesn’t matter all that much if people care, Google does. As for the ideas on how they could have easily chosen something else or that they mismanaged their own attempt. You are just in denial here. Without Linux and at that point Java there is basically no Google as we know it. Without Google there is still GNU/Linux going strong. It’s not like Google has a choice here or that GNU/Linux depends on Google.
The reason i am setting this things straight is to say that if Google ever wants to be as vertically integrated as Apple is, then they must embrace the GNU/Linux way. Everything else they have done or are thinking of doing, i will give them some benefit of a doubt, but likely it won’t ever come close. So upstream GNU/Linux device drivers, for their line of devices, that is the very first thing to do. Instead of wasting time and money on solutions that are historically proven to yield much worse results. When it comes to things like device life expectancy and support.
Geck,
There’s virtually nothing about android that depends on linux. Yes it happens to be the kernel used, but that’s completely different from saying it had to be. Hell even IOS has BSD heritage, your insinuation that android could not have used anything else is an egotistical argument, not a factual one.
https://thenewstack.io/apples-open-source-roots-the-bsd-heritage-behind-macos-and-ios/
What you completely fail to consider is that even linux itself was very poorly supported on these devices before android. As a linux user in those days, linux hardware support sucked! You have nothing but criticism for google but the fact remains that linux popularity on mobile is almost entirely due to google’s efforts to popularize Android on mobile. It’s because of android’s success that linux was successful. Technically it could have just as easily been another kernel and android would be no worse off for it.
Such hardware had perfect support under GNU/Linux at that point in time, that is on why Linux won. It’s just that you didn’t have access to the device drivers blobs, that is on why you thought the support sucks. GNU/Linux ran perfectly fine on a whole lot of commercial ARM devices. OEM has access to both GNU/Linux and device driver source code and can pretty much do anything with it. Especially if it’s commercially viable. The problem here is, compared to lets say Apple, Google, on Android, doesn’t treat device drivers as first class citizens. That prevents them to be as vertically integrated as Apple. Once they will upstream the device drivers, for lets say their Pixel line of devices, from that point onwards they will match or even surpass Apple, when it comes to thing like supporting their devices (indefinitely). Until then, good luck with that. It just won’t happen. I mean theoretically it could happen even with blobs but i don’t feel anybody would see that as being commercially viable. To fiddle with blobs for lets say a decade. Even when it comes to Fuchsia, if it would actually succeed. You would get around 5 years and that is that, EOL and no further support.or for example Redox. Redox is basically what you are advocating for, microkernel and rust. Lets see then on how the situation with device drivers will be addressed in the future. How many years of support you will typically get out of it. A device running Redox or Fuchsia or … Compared to Microsoft, Apple devices or GNU/Linux. On who is best in this regards.
Geck,
You’re being completely disingenuous! Those of us wanting to install GNU/linux on these devices have been suffering for ages because it’s NOT SUPPORTED. Even you personally have been spewing rants about how it’s google’s fault that linux doesn’t run better on android hardware. Claiming that GNU/linuxs works perfectly on the hardware in the absence of android is a load of baloney.
Well no crap, android manufactures support android. But good luck running GNU/linux without their support. It may be getting better today, but let’s not pretend it’s been anything short of awful for us for a long time.
Linux has all of these problems as well. When it comes to others, your so eager to point an accusatory finger complaining about blobs, driver issues, EOL, etc, which could make some good arguments but the sheer hypocrisy and dogma is too much. Every one of these issues has been a serious problem we’ve been complaining about for years with linux!!! Please take off the fanboy glasses and see there’s a lot more than black and white.
It’s like you don’t even want to hear the arguments yet alone refute them. You are technical enough to know they are true. That is each time i list the arguments, on why GNU/Linux is better at something, you instead just go bananas. Ha ha. You just don’t like that, do you? It pains you to admit it, on where GNU/Linux is clearly better. For some reason you are unable to accept such fact as is. You immediately go in some cycle on how everything else is better. Anyway. I stand by everything i wrote in this and other debates. And no, what you are saying that i am saying, that is not exactly correct. Read again. I am rather verbose in my comments. There shouldn’t be all that much ambiguity involved. Otherwise ask.
Geck,
I’m not anti-linux, but come on man, arguments that lean heavy into dogma territory deserve to be called out. You could make a stronger case by acknowledging there are legitimate counterpoints.
Straw man as I did NOT say that. What I did say is that nothing of linux identity shows on android’s surface. It could have been anything else and nobody would really see much of a difference.
So do you deny blaming google for linux support issues on android/arm?
C’mon man. Google didn’t even invent Android, GNU/Linux, Java … You being so nonchalant about it, saying on how they could have basically used anything else, and would still succeed. Well, they tried 15 years later, and failed? So give me a break. And this are pure fact i just wrote. This has nothing to do with some bias it’s what actually happened. So. Can you or can’t you? Admit it? That GNU/Linux is just better. Until i guess something better comes along. Maybe it will be Redox, maybe not. We’ll see.
Geck,
So what? It doesn’t refute that android doesn’t need a linux kernel specifically. And the user base does not care one iota about linux. Had android been developed on BSD, it would have worked just as well. With the java oriented userspace, a linux kernel makes very little difference.
I like GNU/linux, but no I will absolutely not admit that “GNU/linux is just better”, that’s purely subjective.
I don’t have any need or desire to play down BSD, said that i don’t agree that it wouldn’t made any difference. That is if Android would be based on BSD. In my opinion GNU/Linux would still have became the industry standard, Google soloing wouldn’t change that. It would likely only introduce difficulties, for them. In terms of pressure for Google to support the industry standard in terms of existing device drivers and such. As for not admitting, go figure. OK, then lets try again, on something more objective, the example i gave you in one of the previous discussions. On where a device driver isn’t available for any supported Windows version any more but on the other hand it’s still provided with the latest GNU/Linux kernel. Can you or can’t you. Admit it. That in this specific case GNU/Linux proved to be better? You know, for the people that simply don’t care as long as it work. And when it comes to device longevity in terms of using the latest and greatest OS and kernel.
Geck,
Great, I think we can agree on this. It’s your opinion, not some factual truth.
Also you keep saying “GNU/Linux”. Typically this refers to the whole OS, but I hope you can agree that GNU/Linux did not become the industry standard on mobile…right?
Sometimes it can be better, but I don’t accept the blanket statements.
At bare minimum GNU means a licence Stallman provided and Linux uses. That is one pivotal point of Linux and even Google still uses it to this day. No, i don’t feel it’s only my opinion and not a factual truth. Even BSD folk admit it, that GNU/Linux left them behind, not due to Android but in general. Ask them. As for admitting it. OK then. There is still hope. Otherwise it wouldn’t really make much sense any more, to discuss anything. If there would be no ability involved, to accept just about any fact that speaks much in favour of GNU/Linux.
Geck,
Well, that’s a shame. Insisting that your opinions are facts gives much more credence to those who take swipes at our community for being one sided zealots. IMHO fanaticism does more harm to our community than good, which is why I try to counteract it. Meh.
Your agenda to discredit google is distorting the fact that nearly all of the demand (and support) for linux on mobile is via android and not GNU/linux.
If BSD folks are saying it, that IMHO counts as being a factual truth. I don’t know what else is to say here. It just doesn’t bode with your initial idea well, i can understand that, claiming that Android could have used whatever they choose to, and succeed. Instead of admitting it that GNU/Linux was indeed a key to their success on mobile, desktop and in cloud and without it their chances would be slim. Was true back then and it’s still true today. This are not just opinions, this are IMHO facts. After 15 years or so, they even tried with an in-house alternative, and failed. So give me a break in claiming this are not factual truths but just opinions. As for discrediting Google, i am just calling them out. That is their failed attempts yield worse result compared to GNU/Linux. So it’s time to get their act together and to do it on how it was always intended, to be done. By design. And not to promise things like we will give you years of support, for Android devices, on where doing it GNU/Linux way it could have already been 15 years. That is their first mobile phone to still be supported by the latest GNU/Linux kernel. If not for the bloat, hence latest Android could still have run on it just fine. Anyway.
Geck,
The Android stack is very abstracted, there’s little that depends on a specific kernel like linux. Of course linux works, but it’s never really been a hard requirement. It’s your opinion that android couldn’t have worked with a BSD base, but that’s not a factual statement. Denying this means that you are more willing to bend facts around your world view than to adjust your world view around facts. Unfortunately it’s hard for me to get along well with people who do this because it’s just impossible to have an objective conversion.
I really don’t take issue with your opinion as such, but declaring your opinions to be on the same level as facts is not a valid way to dismiss other opinions. BTW “IMHO facts.” is contradictory.
You’re not using the term “GNU/Linux” the way the rest of the world does and it’s been really distracting. When you say “GNU/Linux” people (myself included) are going to understand that as explicitly referring to the whole OS and not the linux kernel. Your usage re-ambiguates the term GNU/Linux, which was specifically coined by Richard Stallman to disambiguate the Linux kernel from the whole of the OS.
https://www.gnu.org/
I don’t feel it’s really my opinion, listing events that actually happened in the history. As for the abstraction and the debate we had, not all that relevant. That is there is a reason GNU/Linux is used in Android and not something else. You can’t just replace it with BSD kernel, Zircon, Redox kernel … and expect to get away with it. For the world domination to continue. So in the end it’s GNU/Linux that made that a possibility for Google and it still does. Without it they have, as you say, abstraction. So what you are insinuating here, that abstraction means they had or have an alternative, they don’t. Google is dependant on GNU/Linux and without it there is no Google as we know it. And yes, that is a fact and not an opinion. This could change in the future, still historically speaking this will stand as the truth for at least two decades. Or more. Nothing is “bended” here, it is just a description of what actually happened.
Geck,
We all know android went with linux, nobody’s debating that. What’s debatable is your opinion that android could not have worked with something else like BSD. That’s your opinion and not a fact.
Heck, even the java framework on which android was based was designed for portability. It’s pretty obvious that Android didn’t need the linux kernel specifically. But when it comes to linux, you are much more interested in dogma than objectivity. Unfortunately this is why we can not agree.
If they would have went with BSD then they would be in it alone, Google. At that point in time i feel that GNU/Linux was already established as an industry standard so the selection was for sure not random. Choosing BSD would hence likely seriously reduce their chance in succeeding. But hey, for sure they will try again? For sure there are still people inside Google that share your opinion? For GNU/Linux not to be an essential dependency for their success and lets do better? So lets see on how the next attempts goes and if they will again fall back on GNU/Linux, or not. I do expect for there to be one attempt every decade or so. They have to spend their money somewhere and it’s always more prestigious to work on new and shiny things, isn’t it? Will be interesting to see if the ones that want to replace GNU/Linux or the ones that want to upstream Android device drivers will get there first! We’ll see.
So which side do you want to win in the next decade or so? The one wanting to replace GNU/Linux in Android altogether or the one that wants to upstream Android device drivers?
Geck,
Great, I accept that as your opinion.
I’d agree GNU/linux was established within internet companies yes, but not as much with consumers. You could have found GNU/linux in headless consumer appliances like routers and such, but there was also BSDs, QNX, etc. Products were being built on all these platforms and for their part users didn’t really select produces based on the kernel underneath user facing interfaces. They were (and still are) oblivious to kernels.
In terms of the mobile market we’re talking about specifically, GNU/linux was being eclipsed by Symbian and Blackberry OS. Arguably it really was android’s rising popularity that lead to widespread linux adoption on mobile.
It’s Android/linux, not GNU/linux. Although I’m a proponent of linux, I also see the danger of monopolization. So I’d like having more choices.
Alfman,
It is interesting that you brought up QNX.
I think in an alternate timeline, instead of RIM (Blackberry) buying QNX, if Google did that and open sourced it, we would have been living in a very different world right now.
(Android 1.0 was ~2007, QNX purchase was ~2010)
QNX is not only a microkernel, and real time, it would not have the driver issues we have with Linux at the moment (as they would be controlled by a single entity instead of current state of Linux Kernel -> Google Android -> Chipset manufacturer -> Phone manufacturer -> Cellphone network staggered version mess)
sukru,
Yes. I agree this is a possible alternate timeline and it could have reshaped the industry as we know it in interesting ways.
I checked and although the info i found is very sparse but apparently Android first tried using NetBSD and due to lack of maturity replaced it with more mature option GNU/Linux. If true, that is consistent with what i was saying and hence it’s not just about being my opinion. The best option won and around 20 years later GNU/Linux still found no real match and that is on why Google is still heavily reliant on it. While on the other hand GNU/Linux doesn’t directly depend on Google in any meaningful way. Was running on billions of devices before and would after. If Google would someday replace it in Android. So best if we all accept that as a fact and not to claim this is just an opinion of somebody. As for having options. What about Redox, microkernel written in Rust. Why don’t you then just go with that? As for you being some strong GNU/Linux proponent. Ha ha. Good one. You would like for Google to replace it with just about anything out there or for GNU/Linux to change completely, stable ABI, microkernel design, rust … Likely inside Google similar culture exist. That is i am sure that a bunch of people would like to replace GNU/Linux. In first two decades not much to show for. Now as for opinions, or predictions. What will in my opinion happen in the next decade, Google will likely still be throwing extensive resource to some basement project, the idea being next time we’ll replace GNU/Linux and put all our abstraction to use! But what will be happening in parallel is ARM chip makers will start to upstream device drivers more and more. So by the time we get to there, the end of next decade, Google might finally have a viable microkernel but all to no avail. As it will turn out such foundation is rather rotten, that is basing your kernel on other people blobs. As by that time GNU/Linux will likely already support ARM devices out of the box. With decades of support. So either Google would be extremally dumb, to go against using that, or some other party will leverage it and likely to send Google to the history. As history teaches us you can’t stop progress. Anyway, i am confident i will get my GNU/Linux phone working in similar fashion as my GNU/Linux desktop and my GNU/Linux server are working and i am more than happy with that. I will get that with or without Google. Display server, sandboxing, actual dialler … no abstraction whatsoever involved, apps written in all existing languages for it … If Google doesn’t embrace this, next decade or so, then somebody else will and it will obsolete Android.
Geck,
What do you mean “if true”? Did you just make it up? Either you have a source for it or you don’t. If you don’t that’s really sus.
Linux has a bit of a stigma for being elitist, and I try to convince people it’s not, but that’s really hard when people like you pretty much reinforce this type of criticism of our community.
How do you really expect to change my mind with opinions that come across as fanatical and biased? Look, I really like linux and I like FOSS, but you’re doing a terrible job of convincing me that nothing else can work. You’re trying to convince me I’m wrong based on your subjective opinions. It might make sense to you because you already have a predisposition to believe it, but think in terms of a somebody who doesn’t share your subjective world view…try to make an argument that would make sense to that person.
Through the whole of this debate you avoided refuting arguments. You persisted in claiming things like on how i am biased, it’s just mine opinion … No. The whole time i just stated facts, historical facts, you just have issues in accepting them. As it clearly goes against your own opinion, bias … On top of that i don’t really buy it, for you being a GNU/Linux enthusiast. You would be perfectly happy if Google would to drop it for something else. Furthermore now you are again accusing me i made something up. Jeez. Look, i don’t owe you anything and no i don’t make things up. I know that arguments are on my side and there is no need for that. I said info is sparse but if you will at least try you will find sources like: https://www.reddit.com/r/NetBSD/comments/ar6h24/why_do_you_think_andy_rubin_abandoned_netbsd_in/
Geck,
What you provided was speculation about what could have happened, not factual.
You don’t believe I can be a linux enthusiast on account of my acknowledging that other platforms work too? The hubris! Haha.
You were making claims that couldn’t be corroborated. Seeing the link for myself, I have to agree that it’s very sparse. It’s also hearsay from over a decade after the fact.
In the interest of coming to some sort of agreement, I do agree with you that they felt that linux worked for them. But that is not logically equivalent to claiming that android would not have succeeded otherwise.. Can you at least admit that we (both you and I) cannot know in factual terms what would have happened if android was based on something else? Because if so, then I think that would be a fair conclusion for the discussion.
If you are so much into GNU/Linux, why does it bother you so much? That it was GNU/Linux that won 20 years back and still going strong? Why would you want it to be replaced by just about anything out there not named GNU/Linux? As for admitting something for the sake of saying we agree. Why then, why is abstraction there and why nobody succeeded? In replacement? For sure they tried. My honest opinion and i feel it’s a fact is Google couldn’t have care less about GNU/Linux and would drop it as soon as something better, for them, would emerge, especially if Google could have had a tight grip over it. Sort of what you are reasoning for. Anyway. The thing is it hasn’t happened, past 20 years or so. And for me that is telling enough and perfectly answers your question. Back then and still, GNU/Linux just tops everything else out there in existence. And that is it. That is this doesn’t really come down to ones opinion. What we basically determined in this debate is it pains some more, then others, to admit it.
Geck,
Linux enthusiasm doesn’t bother me. I just feel it’s important to have a balanced perspective, otherwise one can take things too far turning into a one-sided fanatic. I find extremism distasteful. I wouldn’t want to embrace that kind of world view.
Why does anything fail? Not for nothing but GNU/Linux mobile initiatives have failed too. Android/Linux hit it big with google’s backing. Had google gone a different route, it’s conceivable that android/linux could have failed like the rest who failed.
That is obnoxiously pretentious. You’re only using that line of argument here because linux is a benefactor of the ios/android duopoly in mobile. But I’m sure we can find other markets where you’d protest the same reasoning. “Windows just tops everything else on desktop. And that is it.” or “Chrome just tops every other browser. And that is it”. The point being, having a minority market share doesn’t automatically imply a lack of merit or utility. It’s a really superficial way of looking at the world.
Just as i didn’t accept your categorization, on how it’s only an opinion and not a historical fact, or that is it a product of bias … the same can be said for you now saying things like not having a balanced perspective, being fanatic, extremism. Just no. You are now again trying to relativize everything. To diminish the value of GNU/Linux historic achievement. To again claim on how it could have work with just about everything else. It just pains you to admit it, that GNU/Linux was pivotal to Google success. That is all there is to it. And the other side isn’t biased, extremis or lunatic because of it. Yes, it even toped Windows. Lets not forget Microsoft competed too, back then. As for desktop here indeed we have work to do but for me personally not much will change. For me it already works in a way i am happy with it. But sure, why not, lets top the desktop too. Why not.
Geck,
Well what can I say, you’re being totally unreasonable. It’s delusional to categorize your speculative opinions about what could happen as established fact.
Something doesn’t cease being a historic achievement just because one has the intellectual capacity to contemplate alternative possibilities. Your continued assertions that mobile devices could not work without linux are just as stupid as somebody claiming non-linux software like Adobe Premiere Pro could never be made to work on GNU/linux. No that’s not an opinion, it’s actually a historical fact. GNU/Linux just doesn’t work and the fact that they only support mac and windows is all the proof we need. It just pains you to admit it. That is all there is to it.
Do you agree with the above? Well, it’s bullshit when you say it too. I’d like to get past the bullshit, but you’ve been absolutely incessant with it. So please tell me how do we get around this without my having to agree to the false premise that just because we went down one path, other paths could not have been possible.
Geck, Alfman,
I am not sure why we are discounting some of the largest BSD install bases to date:
macOS and all derivates (iOS, ipadOS, watchOS) are based on FreeBSD:
https://en.wikipedia.org/wiki/MacOS
pfSense, opnSense, freeNAS, trueNAS are some of the most popular networking operating systems. (Plus proprietary ones from Juniper, etc)
PlayStation operating system is also FreeBSD with over hundred million users across PS4 and PS5. And of course the mobile version PS Vita:
https://www.playstation.com/en-us/oss/ps-vita/
I expect there are others I missed in the embedded and/or mobile category.
BSD has been a solid choice especially when licensing is considered.
@Alfman I see, now i am even delusional, you must really be butthurt, that GNU/Linux has won and just about any other option out there didn’t. For such a GNU/Linux enthusiast, as you are, it seems to really hurt. Ha ha. @sukru the question was could BSD be used instead of GNU/Linux in Android and still succeed. And as it looks like NetBSD was initially considered but it was after replaced with GNU/Linux, due to GNU/Linux being more mature. Note that this is still an ongoing battle. Google wants to develop something to replace GNU/Linux with but mostly failed, so they will still try in next decade and beyond. So GNU/Linux needs to achieve things like ARM device driver support, for Google to not having a real option here, replacing it. Due to GNU/Linux being superior choice. As for the licence remark. I feel that the licence GNU/Linux uses if one of the key point to GNU/Linux success. It enforces collaboration in open source development and due to such software being generally available it helps with adoption. That is for example on why GNU/Linux is used everywhere and on why it could reach the level of maturity it has, due to everybody developing it. Anyway, time to move to some other discussion now. This one has served its purpose. And lets hope that people claiming they are into microkernels and rust really did try out Redox.
Note that when i said ARM device drivers support, i didn’t meant blobs. Blobs already work just fine with GNU/Linux, due to vendors having source code for both and can technically support some device indefinitely. I meant upstream ARM device drivers support, the trend currently ongoing in regards to GNU/Linux. That, when achieved, will in my opinion always be a superior options to microkernels running on blobs. So fingers crossed for at least another 20 good years, on where it comes to GNU/Linux on mobile devices. Exciting times ahead for sure.
Geck,
You said you weren’t going to make things up. Sources please. Clearly they went with linux, but we do see BSDs being used successfully in many products. as sukru pointed out. Looking beyond a single android/linux data point we see GNU/linux products fail too. I shouldn’t even need to say any of this because it should be self evident, but…the truth is there are far more factors that influence a product’s success than just what kernel they went with. There’s a whole gamut of possibilities, you will not get a deep understanding of the world if you only look at one aspect.
I am allowed to be a linux enthusiast without subscribing to “linux is the chosen one” dogma. Whether or not your home team wins the outcome of one scenario does not mean they’d automatically win all other scenarios. This isn’t rocket science but you’re currently stuck in a reality distortion bubble that holds back your objectivity. I probably cannot convince you to change because you’ve elected this world view for yourself, but I have seen apple and windows fanatics who grew out of their ideological obsessions and are much more candid today. So maybe with time you’ll grow out it too.
I’m glad Redox is progressing and starting to build in components that provide it a viable use case.
I have the worry that at some point Linus will step back/retire and the Linux benevolent dictatorship will descend into (incompatible) chaos. We need alternatives that are mature for when that happens.
Adurbe,
I am skeptical of new platforms displacing the dominant ones, they’d be fighting the powerful positive feedback loops that keep incumbents in power. But hypothetically if the linux kernel project collapsed from internal conflict, I guess that would be one avenue by which new operating systems & kernels could have a chance. I don’t necessarily think this is likely, but it does seem more likely than alternatives winning a head on fight. Another plausible scenario might be the linux kernel breaking up into different factions. Who knows what will happen, maybe nothing happens. But I think you’re right it probably would be the best shot for new projects to gain market-share.
Alfman,
They might be underestimating the “embrace and extend” power of established behemoths. Yes, large entities are slow to move, but then when they change direction, they can bring a lot of momentum.
Look at Windows, they fought Linux for a long while, but now implement it as first class in their operating systems and cloud offerings. Or Visual Studio, which embraced Electron for a “VS Code” that took away almost all the interest in other open source editors like Eclipse. (Where is Eclipse today?)
If Linux realizes Rust would be a major change, they can embrace it. They already have experimental support in the kernel.
sukru,
Microsoft successfully killed off Sun, but then microsoft didn’t seem to have a game plan after they won. Ironically microsoft failed to capture sun’s userbase when sun fell; viirtually everybody migrated to linux. which ended up being as big a threat for microsoft as sun. Unlike their war with sun, microsoft’s could not win against their new FOSS foe. Microsoft had no competitive advantage and they’d end up loosing most devs to linux, myself included.
I think everyone implicitly understands that safe languages could be a game changer, which is why they’re dipping their toes in the water to “support rust”. But they haven’t fully committed yet either, there are still a lot of holdouts who don’t want safe languages to replace C.
Alfman,
As good as Rust if for memory safety, it is still lacking for general purpose.
Just a disclaimer: I can read Rust, but have not actually written in it.
That is why they need to do these “toy” implementations (sorry), and figure out ways to write optimal code easily.
In C, or even C++, the language concepts can directly map to machine code. They started as a general purpose assembly language or sorts after all.
In Rust, you have to take extra care with basic pointers. For example, look at the simple problem of iterating a Linked List with two pointers (fast and slow) and mutating it during the process:
https://stackoverflow.com/a/54028683
This would be half or even shorter length in C or C++.
Until then, Rust will not be a prime choice for mainstream operating systems like Linux.
(Here is the C++ version by ChatGPT. I admit it was not half as short, but at least more readable: https://pastebin.com/jZQhLhT7)
sukru,
I find rust and C++ to be similar levels of verbosity. C++ is closer to rust than C (not syntactically, but in terms of creating safe abstractions). I acknowledge some devs don’t like to declare their intentions, but the verbosity is not without reason. the compiler needs information about object ownership to validate memory correctness. Without that things get ambiguous and we’re back to compiling code without knowing a developer’s intentions. Making those intentions explicit may be annoying but it’s also what makes the language safe.
We can debate whether this is worth doing. Surely some people will never think it’s worth doing, but to the extent that we keep using such software, then I believe that memory faults will remain with us indefinitely.
Maybe some day AI will be able to give us a compromise. Developers will not have to declare their intentions, but rather AI can guess based on context and then the AI will fill in the blanks to enforce memory safety. This could be possible but I also think we might have AI that renders human developers obsolete altogether such that dangerous human written code isn’t needed anymore.
Rust syntax isn’t my favorite. Part of me wishes they used a different syntax. Personally I like dlang. Based on C++ while cleaning up some of the ugliest properties. Rust feels much less familiar, to C devs. which is a bit unfornuate IMHO. It is what it is..
Alfman,
C++ can still declare intentions. It is has done so in the past.
Currently, C++ standard library offers these constructs with a combination STL primitives, like unqiue_pointer, optional, const interfaces, RAII, and of course language improvements like move only types.
The main issue, and a big issue, is having the discipline to use them everywhere and also correctly.
The secondary issue, is that STL parts cannot be used to prove correctness at compile time. And we require “mostly correct” static analysis to handle common patterns (LLVM does a great job here).
And yes AI / LLMs will push it even further.
Yet…
The past experience with C++ extensibility gives some options. Like Microsoft’s older C++/CLI work for .net interoperability gave us the type^ syntax in addition to the existing type* for reference types (and instead of pointers, I think they were called handles).
Something similar could be done to represent some of these constructs like the non-nullable pointers.
Of course another issue would be getting the community approval. At one point there was significant amount of momentum around C++ (C++0x and C++13 years). But the interest is no longer there as much.
The difference with Linux (and many FOSS projects) is that they are completely reliant on a single individual rather than a corporation.
A corporation can change leadership and continue to provide the product using the same policies and principles.
As and when Linus steps back, who will have the level of control he does? Effectively a veto on any and all changes to the mainline? Can you realistically see anyone other than the founder being given that level of power for something buisness critical for Trillions of value?
My actual expectation is Linux as a concept with splinter. With Redhat/IBM/Cannonical/Amazon all forming their own competing platforms. More of less mimicking what the Unix market became.
Adurbe,
I agree that’s true for now. If there’s a significant shakeup in linux kernel circles it seems within the realm of possibilities that a corporate player like IBM/redhat could effectively (if not officially) take over the future of the linux kernel.
Several companies could put their hat in the ring. My guess is that IBM/redhat would probably win if it came down to that. I’d avoid amazon linux kernels on my own machines. And IBM/redhat is more popular than cannonical so we’d probably end up standardizing on the IBM/redhat linux kernel version.
Adurbe,
Given examples like Google after the Larry and Sergey duo left, Microsoft with Ballmer, Boeing literally killing people after McDonnell Douglas merger, and many, many other examples, I do not think Linux or open source projects are alone in this.
If you don’t have a good leader all things falter.
There are a lot of people out there believing microkernel and Rust should be the future of consumer grade operating systems. Environments, such as Google or Microsoft work space, can never ever produce that. At best they can steal or buy an existing project that is gaining traction and after usually to dispose the creator(s), claiming they aren’t suitable for the corporate environment. Go figure. So yeah, good luck to Redox, basically the only project with having a remote shot at it. Although, even if it succeeds and it will run mostly on blobs, i will advocate against its usage and will recommend GNU/Linux instead. We’ll see and lets give it a shot then. As for things like writing a web server in addition to everything else, that is likely a bit naive take on it. To create and maintain a general purpose oriented operating system and on top of it to in addition cover areas like the web stack, for yourself. It’s just too much to stand a shot.
I agree. Any empire at its peak seems permanent and a natural order of things, but they all eventually degenerate and fall. GNU/Linux might seem unassailable now, but with all that sunk cost and code base, will likely not be able to adapt to these new paradigms you mention.
OSNews, despite being on the face of it a place for enthusiasts of diverse operating systems, clearly has its share of “Realists” keen to vigorously defend the status quo – Linux is too powerful to fall, if these innovations were a threat then Linux would simply assimilate them, etc.
I am not sure Redox is “the only project with a remote shot at it”. In the interests of diversity we should continue to play with everything from Haiku to R9 (Harvey OS). Resilience through diversity was the conclusion drawn here from the crowdstrike crash a little while ago, now apparently forgotten as we all shill for Linux. Aside from technical discussion about diversity, there is also the aesthetic consideration that when something dominates to the extent of linux it becomes numbingly banal, even though I am old enough to remember when it was an edgy new thing in the 1990s.
Squizzler,
Microsoft actually has pulled this… multiple times.
The largest change is of course “OS/2 New Technology”, which became Windows NT. It was a micro kernel with different personas for running OS/2, Windows and UNIX applications (yes, Windows was POSIX compliant long before Linux ever was). It even had a platform independent device driver system (HAL, “Hardware Abstraction Layer”).
That being said, the issue with growth is, it makes existing systems harder to replace. I think I mentioned it recently, but you not only need to handle basic things like booting into protected mode or loading file system drivers, you need to handle many advanced concepts, including lightweight threads (fibers), multimedia and hardware acceleration, digital rights management, network stacks, optimizations like “zero copy”, GPU kernel support, and recently ML support (AI cores / APIs).
If you do not do almost all of these, at least most, it is very difficult to compete on neither desktop, nor mobile, not even the datacenter.
That puts all the alternate operating systems, even those coming from larger companies at a disadvantage against established ones like BSD, Linux, NT, and similar.