Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

SerenityOS is interesting because of its monolithic repository concept with everything from the kernel to the web browser as a single unified project. They even write their own image and video codecs and stuff like TLS and OpenGL that everybody just lifts from somewhere else.

I would say that creating their own language to write the system in is pretty innovative. The power of the mono repo is really going to come through when they convert everything from C++ to Jakt.

Perhaps the most impressive and innovative thing about SerenityOS is the way they are building their community though. I cannot think of another project with so many contributors developing so openly on YouTube. The rate at which the project is evolving is amazing.

The SerenityOS project is extremely pragmatic so it is not going to charge off in truly experimental directions. That said, they borrow an impressive number of ideas from a fairly diverse set of influences. The pledge / unveil stuff from OpenBSD is interesting. The way they propagate errors throughout the stack is cool, and the fact that they built their own standard library for C++ is quite interesting.

One area where SerenityOS may truly innovate is in the browser since the project founder used to build web browser engines for a living.

If you do not think SerenityOS is interesting, maybe take a deeper look.



Sorry to be so direct but exactly the things on which you expanded here are a very large part of my deep skepticism about SerenityOS.

All that NIH without improving anything on the status quo is imho pure insanity!

But OK, the project is mainly meant as a "therapy" for some mental illness, so this "makes sense" actually… (Just coding without thinking or carrying is quite some fun and liberating, indeed!)

Besides the crazy amount of NIH the rate at which this project evolves is another very bad sign. (Reminds me strongly of "80% boy & his Redux OS"…). If you rush everything there is no time for planing or evaluating ideas. OTOH this is of course not needed if you do not intend to innovate on anything—and just rebuild once more things that already been built hundreds of times.

I think alone scope creep will be deadly to this projects in the long run. For example one of the strongest reasons for Linux's success is imho that Linux concentrated solely on the OS. Where you end up when you want to do everything at once (especially without any research projects backing that effort!) at least I'm quite sure to know.

Alone building a serous programming language is a life's work! (But OK, once again, Jakt isn't serous. It's not going to be even competitive with Carbon, as I see it, which itself isn't of any interests at all besides "Google is selling" it. Jakt is just the next fun NIH project, "because we can").

Regarding the community: Well, this dude attracted quite some attention with his personal life story. People seem to feel compassionate about him. So there is a lot of momentum. And sure, he's a nice guy. Only that he's quite off to when it comes to what he's producing. (Which is once again a very good prove of the fact that social circumstances have much more weight than any technological considerations; people care in the end about people, never really about the tech).

Bottom line: I came to my conclusions about SerenityOS because I've looked at it.

I try hard to not have any opinions on things I don't at all know about.


This sounds very much like the Tannenbaum ( sp? ) vs Torvalds argument all over again.

GNU scoffed at Linux as you do SerenityOS but where is HURD? Even BSD was better than Linux technically. So, why did Linux win?

Obviously I have no desire to argue you out of your opinion. For somebody that is claiming the technical high ground however, I find it notable that you went straight for the emotional angle.

You and I clearly disagree about what drives progress in the world. I think Linux changed the world because it ignored the argument that it was pointless and offered nothing new. The joke is that Linus did not expect to build “anything big and professional”.

There is nothing else like SerenityOS. If it succeeds, it will be a new status quo. There is no guarantee at all that it will be successful but an engaged and growing community may be the most important element. How many active contributors does HelenOS have. Where will it be in 4 years?

The one “engineering” argument I will make though is that the mono repo idea is not driven by NIH in the way that you imply. Your core point is that SerenityOS is too derivative and steals too shamelessly from everybody else. The project founder has stated multiple times that the motivation for a mono repo is the reduced complicity, greater agility, and velocity that it brings. The Linux ecosystem is characterized by massive complexity and massive dependency. Innovating in Linux is more politics than technology a lot of the time. Think Wayland, Systemd, GUI toolkits, or many other areas where progress has been slow and fractured for years. SerenityOS can change whatever it wants in the core ecosystem. Of course, not everything is in the core ecosystem. The project has a large and growing ports collection that they celebrate. They just do not want to depend on it. That idea is quite novel if you ask me. Given the progress in the last 4 years, they may be on to something.

Oh, and I cannot resist one emotionally technical argument. Carbon is going nowhere. Time will tell but I am happy to have that on my score card.


FWIW, Tannenbaum considers himself vindicated after it was revealed that MINIX was buried in every Intel processor.


> Even BSD was better than Linux technically.

Was it? It's just one Unix clone over the other. This "shadowboxing" is going on since inception of time (I mean, Unix epoch).

> I find it notable that you went straight for the emotional angle.

It is a result of my impression that there is just nothing on the technical ground that is worth investigating.

The whole project builds up on emotions. What else is there to say?

> I think Linux changed the world […]

Did it? It just prolonged the eternal rule of Unix, imho.

Linux, in some sense, freezed the long standing status quo in time… (Which is btw. part of my "no progress" argument).

> There is nothing else like SerenityOS.

I would say there were already quite of those projects.

Nothing else is more popular than building Unix clones! It's a special feature when a system is not a Unix clone. Not the other way around.

> Your core point is that SerenityOS is too derivative and steals too shamelessly from everybody else.

No, that's not my argument.

It's more that SerenityOS does not add anything new, or even mildly interesting. It's technologically stuck far back in the 70's, like almost all Unix clones.

Even Google, know for their "boring tech" mantra, arrived in the late 80's with their Fuchsia OS.

Actually also MS does have more modern concepts stashed in the drawer. But SerenityOS? No, nothing there.

The point is: When you're anyway rebuilding the world this would be the perfect chance to bring some innovation. Stuff that's laying around in academia for 30 - 50 years, where the main reason imho for not using it is the necessity to rebuild too much things form scratch. Now someone started to rebuild things form scratch. And what? Again the exact same stuff that we have already for 50 years… That's more than disappointing!

But I understand: Trying to be innovative has a high risk of failure and it's at times quite likely going to be frustrating. But the person behind this project wanted some fun distraction. A "game" where he knows for sure that he will win eventually (in the sense of getting something up and running). The reason for this undertaking is that such a "game" is stress relieving and distracting from otherwise hard times.

> Innovating in Linux is more politics than technology […]

I would generalize this to "Innovating is in reality always more politics than technology".

And because everything's a people and economical problem real technological (or also scientific) progress is so hard. It's hard to convince people about new ideas. It's hard to find founding for them.

Having something that will quite likely "succeed" (according to a very narrow and / or shallow definition of success usually) is on the other hand an easy sell.

When you're able to present some shiny stuff (especially quickly) that will attract people.

When then again you come with some "abstract nonsense" and some weird ideas nobody ever tried before it's a very hard sell. (You know, "exceptional claims …" and such).

> SerenityOS can change whatever it wants in the core ecosystem.

One could see this in the opposite way also: Nobody can change there anything without approval form the BDFL, or a complete fork of everything.

That works not even 100% proper for Linux, though it works mostly fine there. But it works mostly fine because of the much narrower scope of Linux.

When you have instead just everything in one place there is not much room for anything that could diverge. Which is in the long run a killer to any substantial change. Ever heard the story that Google's not able to update anything in its core anymore because everything depends on everything?

Also there was a project that was not much different than SerenityOS: Redox OS. It was highly hyped in the beginning. It also tried to rewrite the world. It also was an extreme example of NIH syndrome. (The only difference being that I suspect that the Serenity dude is much more skilled than Redox's "80%-boy"). Where is it now? It had at least some promise of slight innovation (Rust, micro kernel, some nonsense around URLs, etc.). SerenityOS doesn't even have that.

> Carbon is going nowhere. Time will tell but I am happy to have that on my score card.

I'm not sure I really understand.

If you're saying that it's not more than a temporal blib in the blogoshere I would fully agree!

I also don't see it going anywhere.

Actually for the same reasons like SerenityOS: It does not offer anything special that could justify its existence. I would even put higher bets on CPP2 (even though I'm skeptical there also, but for other reasons; don't see enough traction there).


Thank you for the reply. Truly. To get further into this we would need something more conducive than the comment section.

I wish I understood why you see Redox and SerenityOS as so similar ( other than POSIX of course ). I love Redox but it seems to have very different ambitions and choosing Rust felt like its biggest decision. In terms of innovation, the Redox filesystem seemed to be swinging for the fences the most. The filesystem is the one area that SerenityOS has shown very little interest. I hope Redox is not dead ( though it does “feel” slower ). It would be nice if Relibc got some traction outside of the Redox project as well.

To repeat one point, the hope I have for the mono repo is precisely that it will protect the project from getting trapped in technical stasis and frozen in a wasteland of dependencies. If SerenityOS gets popular, it could be exactly the vehicle for taking some of those academic ideas you cite out of the lab and into the real world. If it is to do this, becoming popular first is why it may succeed where decades of projects have failed. SerenityOS made a change not that long ago which altered what is returned by “main”. The mono repo made that possible.

Oh, and I am not sure Andreas has set himself up as the BDFL. SerenityOS has substantial chunks that have been added without him and I am believe there are already at least a few areas that he does not even have to approve or review. SerenityOS has its own Linus for example and I am pretty sure he can check-in without Andreas now.

Anyway, thank you for the back and forth and I hope you see an OS emerge that interests you. I hear what you are saying.


>It does not offer anything special that could justify its existence.

I am sure there are ideas they're trying out in there.

Doing so in a known framework (unix-like system) means they're not trying too many things at once, which produces better research.

Still, I wish they'd went the microkernel multiserver route like Managarm.


So far they have been quite clear that there is no plan on converting everything into Jakt, because they are quite pragmantic about their need to keep using C++ in some parts.


They have been clear that they are not even writing anything new in Jakt because it is not ready yet. If you start seeing them wrote stuff in it, you will see them re-wrote stuff too.

They can make the change whenever they want because of the mono repo. You can make changes all across the project on any given check-in.

As you said, it is a very pragmatic project.


I'm kind of biased towards hypothetical OS'es built from the ground up in a memory-safe system language like Rust (assuming one exists, which I'm not sure). All you have to do is look at the litany of security holes of the past decade or 2 to see how often a lack of memory safety led to a security bug. Do you know of one?


SerenityOS isn't a memory safe OS. That's for sure. No innovation here…

But anyway, there are not much safe OSes out there I guess.

There are all the Rust experiments (with usually a shitload of `unsafe` code in there).

There was the Midori experiment by MS (no clue whether there is source code available).

There have been Java based OSes.

But all in all, there doesn't seem to be anything that has got any traction.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: