[HN Gopher] The 4th Year of SerenityOS
       ___________________________________________________________________
        
       The 4th Year of SerenityOS
        
       Author : crecker
       Score  : 317 points
       Date   : 2022-10-10 14:12 UTC (8 hours ago)
        
 (HTM) web link (serenityos.org)
 (TXT) w3m dump (serenityos.org)
        
       | [deleted]
        
       | nonbirithm wrote:
       | I think there is more behind SerenityOS that elevates it above
       | being just another OS project. They've attracted hundreds of
       | contributors and have instilled a unique sense of culture within
       | their community (as an example, going as far to devote an entire
       | GitHub repository to documenting a list of "yak-shaving" yak
       | emojis[1]).
       | 
       | I think that kind of social endeavor isn't something a lot of
       | maintainers can accomplish, not even those with the skills to
       | work on such a project all by themselves.
       | 
       | [1] https://github.com/SerenityOS/yaksplained
        
         | chillfox wrote:
         | Super welcoming community + a clear and strong vision to guide
         | the project.
         | 
         | Other OS projects I have seen either lack vision (same as x,
         | but written in y), or they are just for the personal learning
         | of the developer who started it.
        
         | edgyquant wrote:
         | I think it's that most people are doomers and/or are defeated
         | by doomerism. Most people think it's impossible to build an OS
         | or a web browser (and are told this when they ask for help
         | building one.)
         | 
         | In reality engineering is straightforward, you just need
         | someone to show you how to properly write data structures and
         | algorithms and to break problems down.
         | 
         | Andreas showed these kids this, reinvigorating the web based
         | hacker culture I grew up in. Anything is possible and even if a
         | problem ends up being more than you can handle at least you
         | learned a ton along the way.
         | 
         | Now days searching for how to code leads you to a ton of
         | tutorials about gluing modules together. I feel sorry for young
         | people with that thirst who won't be satisfied thanks to the
         | commoditization of learning to code.
        
           | systemvoltage wrote:
           | One of the comments on Kling's YT stream read:
           | 
           | "Wish we could go back to 2004. Modern web has become toxic
           | af" which embodies the spirit of this community pretty well I
           | think.
           | 
           | Andreas Kling is the messiah that is leading a group of
           | people that are fed up with modernity.
        
             | phist_mcgee wrote:
             | Ironically, by using modern tools.
        
               | jbirer wrote:
               | Modern tools are good, but the culture around it is
               | pretty toxic, and in my own opinion, cringy. 10 years ago
               | you would get booed for saying things like "Unused RAM is
               | wasted ram, so let's build this in Electron". I am happy
               | to see a pushback.
        
               | systemvoltage wrote:
               | I think revisiting vintage technologies with better
               | modern tools = Win.
               | 
               | It takes advantage of sharp hindsight and correct what
               | was bad, and more importantly keep what worked.
        
       | beeman wrote:
       | I found out about SerenityOS because of the post about Ladybird
       | here on HN a few weeks back.
       | 
       | I have since watched hours of his stream and found it super
       | inspiring. To the extend that I now want to learn some C++ and
       | make some contributions to the project.
       | 
       | It's really refreshing to see people code for fun and build
       | whatever they feel like.
       | 
       | I think a lot of profesional devs lose that when they go all in
       | on their work (which is understandable) so it's awesome to see
       | something like this!
       | 
       | Congrats on the 4 years! Looking forward to what's next!
        
       | pjmlp wrote:
       | It is a great project and who knows, one day might come as
       | standard in some OEM system.
       | 
       | Happy birthday.
        
       | phendrenad2 wrote:
       | Is this ever getting GPU acceleration?
        
         | cies wrote:
         | Not sure why downvoted... I searched Github for you and found
         | this:
         | 
         | https://github.com/SerenityOS/serenity/tree/master/Userland/...
         | 
         | See also LigGPU and LibSoftGPU in the same folder.
        
           | jeroenhd wrote:
           | LibGPU seems to load the soft GPU, doesn't seem to do all
           | that much. Which is perfectly understandable, GPUs are their
           | own special part of operating system programming (messing
           | with firmware, boot timings, etc.).
           | 
           | If it'll ever get GPU support, I'd expect it to be based on
           | QEMU/libvirt GPU acceleration rather than any direct hardware
           | support.
           | 
           | Unless someone knowledgeable and motivated enough has a crack
           | at it and writes a driver forttheir GPU, of course That's an
           | immense task, though, so I wouldn't expect it any time soon.
           | Maybe an Intel engineer will get bored or something.
        
           | cies wrote:
           | See this also from the birthday announcement:
           | 
           | https://www.youtube.com/watch?v=9yLESYN4_5w
        
           | asddubs wrote:
           | just to clarify potential misunderstandings: this is for
           | opengl compatibility using CPU rendering. although obviously
           | having this sort of thing will be useful for transitioning to
           | gpu support independently of having drivers written
        
         | bpye wrote:
         | I think all the BSDs got GPU acceleration by adding a compat
         | layer around Linux's DRM subsystem. I'm sure someone could do
         | that for SerenityOS if they were so motivated...
        
         | asddubs wrote:
         | my personal guess is probably, although andreas always insists
         | that there is no plan in response to these sort of questions,
         | so don't expect official confirmation or a timeline
        
         | adamrt wrote:
         | They don't plan ahead for features typically. They add stuff
         | when someone wants to do the work.
        
       | akling wrote:
       | Happy birthday, SerenityOS! :^)
        
         | codetrotter wrote:
         | Congrats Andreas, on building such a cool project and
         | community! SerenityOS is a wonderful project, and the world is
         | better for it existing :)
         | 
         | And also all of your wonderful videos that you've made about
         | the development of the system over these years. That's the most
         | valuable part of it all for me.
        
       | Aaronstotle wrote:
       | What an amazing project, first heard about it here when it
       | launched.
        
       | gjsman-1000 wrote:
       | Fantastic progress.
       | 
       | My only concern is looking at it... I can't help but worry
       | slightly about feature creep. We went from an OS, to an OS + Web
       | Browser, to an OS + Web Browser + Programming Language. Next year
       | it might add an Office Suite at this rate.
       | 
       | Edit: I don't mean this as a bad thing, just that it would be a
       | shame to get so large that everything becomes half-baked and
       | overwhelming to finish.
        
         | BirAdam wrote:
         | Well, there's tons of room for improvement over that tools that
         | exist on other OSs/platforms, so why not?
        
         | forgotpwd16 wrote:
         | For many people a web browser and an office suite is all they
         | use a computer for. If anything an office suite should be
         | expected.
        
         | armchairhacker wrote:
         | this is actually mentioned in the article, by one of the quoted
         | people.
         | 
         | It works out because of loose coupling + many contributors.
         | People will work on the web browser and others will work on the
         | main OS, and there aren't too many conflicts or places where
         | each team has to coordinate.
         | 
         | It also works because making a basic OS or web browser or
         | programming language is not hard, 90% of the work goes into the
         | final 10% of perfection. You can a) make minor improvements to
         | the base OS, or b) create an entirely new program and a burst
         | of seemingly-rapid development; SerenityOS is a passion
         | project, so many people choose b.
         | 
         | Furthermore, many of the people working on the OS are still
         | doing so, and some of the people working on the web browser may
         | not have joined without it. So maybe it's slowing down progress
         | on the main OS but not by too much, the main OS is still
         | improving.
         | 
         | Honestly I kind of predict people will start to branch off and
         | work on a Serenity office, and Serenity painter and Serenity
         | DAW and Serenity calendar and Serenity game engine. This is
         | basically what KDE has done.
        
         | trashburger wrote:
         | Feature creep kinda defines the project. It's not a bug, it's a
         | feature. :^)
        
           | aliqot wrote:
           | while endearing, it does endanger the trajectory of the main
           | feature. 'how many paid FT devs are being added per feature'
           | is what should be asked.
           | 
           | People asking "Is it fun" are missing the point.
           | 
           | Don't 'fun' yourself into a job under terms you didn't get to
           | negotiate, state your requirements and adjust your work
           | funnel accordingly. I've witnessed a lot of 'fun' projects
           | manifest themselves into serious projects that fall apart
           | because this forethought was neglected.
        
             | bee_rider wrote:
             | I'm not sure what the financials of the SerentiyOS project
             | look like. It sounds like he streams the development. If
             | that's his primary source of income, then doing the fun
             | stuff seems like it enhances the revenue stream?
             | 
             | (edit: based on other comments, it sounds like donations
             | rather than streaming revenue are the major source of
             | income, although I bet the goodwill from having such an
             | open development process help with the donations).
        
             | mynameisvlad wrote:
             | > how many paid FT devs are being added per feature
             | 
             | Well, considering this is a fun project being worked on by
             | volunteers (some of whom are sponsored by the community),
             | I'm going to go out on a limb and say the answer to this
             | question will always be "zero".
        
             | Huh1337 wrote:
             | The only question that should be asked is "is this fun?"
        
             | wtetzner wrote:
             | > People asking "Is it fun" are missing the point.
             | 
             | Are they? I thought the whole point of the entire project
             | was fun.
        
           | russtrotter wrote:
           | Absolutely agreed. I've watched lots of his long-form videos
           | on all those topics and initially I was always scratching my
           | head as to why he'd want to reinvent all these wheels from
           | the molecules up, but as I watched more, I realized that he's
           | a journey guy, not necessarily a destination guy. To his
           | credit, he's attracted a similarly-minded following of
           | contributors along the way.
        
         | chatterhead wrote:
         | Would it still be feature creep if the number of competent
         | volunteers/workers increases in equal measure? Couldn't we just
         | call that a more robust feature fulfillment pipeline?
        
         | esprehn wrote:
         | You missed GML, the compile time markup language for the UI:
         | 
         | https://man.serenityos.org/man5/GML-Introduction.html
         | 
         | Ex.
         | 
         | https://github.com/SerenityOS/serenity/blob/master/Userland/...
         | 
         | In general the scope creep is because Kling and co are all
         | about fun and code beauty. And to their credit, the code is
         | beautiful. :)
        
         | nurbel wrote:
         | Well, there's been a spreadsheet app for a while :^)
         | 
         | https://github.com/SerenityOS/serenity/tree/master/Userland/...
        
           | emptyparadise wrote:
           | Just need a MacWrite-grade app that can export to PDF and
           | SerenityOffice can be sold in a nice big box with a pile of
           | floppies.
        
         | bombcar wrote:
         | An OS without a web browser is hardly an OS anymore; Microsoft
         | won on that regard (credit to Bill for recognizing that).
         | 
         | But in general if you have something like this, it's often
         | better to let it go where it wanders, even if it never attains
         | the success of Linux, etc. Forcing a restricted scope often
         | leads to burnout which kills it even faster.
        
           | bornfreddy wrote:
           | > An OS without a web browser is hardly an OS anymore;
           | Microsoft won on that regard (credit to Bill for recognizing
           | that).
           | 
           | Sorry, but no, just no.
           | 
           | MS (correctly) recognized the threat that browser poses to OS
           | through webaps. They bundled IE with Windows, however their
           | bundling was a simple and effective (and monopolistic)
           | strategy to take away market share from the then-leading
           | browser, Netscape.
           | 
           | Yes, OS needs a browser. No, MS and Bill had nothing to do
           | with that (and they artificially slowed down web the best
           | they could - hello IE6!).
           | 
           | I do agree with the rest, but to credit MS that every OS
           | needs a browser nowadays... Just no.
        
             | moreira wrote:
             | It seems like you -are- crediting MS for bundling a browser
             | with an OS.
             | 
             | Their reasons are irrelevant.
             | 
             | OSs didn't come with browsers. Microsoft bundled IE with
             | Windows. Now every OS comes with a browser.
        
               | bornfreddy wrote:
               | Of course they did, or if they didn't, browser was one of
               | the first things installed. Windows was nothing new in
               | this regard.
               | 
               | What was new was that OS was _deeply_ connected to
               | browser, so that uninstalling it was not an option. But
               | that is not what GP claimed, and that is of course not a
               | rule with newer OSs.
               | 
               | But anyway, let's talk about this great new SerenityOS
               | instead. :) Over and out.
        
         | [deleted]
        
       | breckinloggins wrote:
       | Some of the comments demonstrate that there are a lot of people
       | here who have never encountered programming in an artistic
       | context before.
       | 
       | That is a sad (though understandable) state of affairs.
        
         | rvense wrote:
         | Well, our prophet pg did write somewhere that the reason to
         | join a startup was to get rich. These people aren't coding for
         | the lambos? Seems immoral to me /s
        
         | fuckstick wrote:
         | Which comment specifically, because I didn't see one.
        
         | sph wrote:
         | Even though I agree with you, there are no such comments that I
         | can find, or not enough to warrant your knee jerk reaction.
         | 
         | No need to build a straw man.
        
           | [deleted]
        
           | djbusby wrote:
           | Here http://www.paulgraham.com/wealth.html
           | 
           | And here: http://www.paulgraham.com/richnow.html
           | 
           | First DDG results for "Paul gramm get rich"
        
             | simonh wrote:
             | Neither of those are comments here.
        
               | openthc wrote:
               | Above reads "pg did write somewhere"; the links provided
               | are somewhere.
        
               | rvense wrote:
               | They weren't referring to my dumb joke, but to the claim
               | that there were negative comments. I thought I saw one or
               | two as well, maybe they were deleted.
        
               | breckinloggins wrote:
               | A couple look like they were, yes.
        
       | rewgs wrote:
       | This is just so cool and inspiring to me. I check out pretty much
       | everything Andreas puts out.
       | 
       | I wonder if we're watching something comparable to the birth of
       | Linux. I'm not insinuating that Linux would go away or die or
       | anything -- that's absurd -- but I just mean perhaps over time
       | SerenityOS will become more and more used as a "real" OS. For
       | what purpose(s)? No idea. But the whole project really seems to
       | have staying power.
       | 
       | That said, I'm fully with Andreas that having fun and simply
       | building something because you want it to exist are valid goals
       | in and of themselves. Couldn't be happier for him and everyone
       | who contributes to the project.
        
         | systemvoltage wrote:
         | He streams regularly, check it out and support if you can:
         | https://www.youtube.com/c/AndreasKling/videos
        
           | bee_rider wrote:
           | Where does the money for this project come from?
           | 
           | I kinda wonder if "streamer who develops code" could be a
           | viable open source business model, haha.
        
             | forgotpwd16 wrote:
             | Mostly donations. See:
             | https://awesomekling.github.io/I-quit-my-job-to-focus-on-
             | Ser...
        
             | Huh1337 wrote:
             | Sponsorship via Github is the primary stream AFAIK
        
               | akling wrote:
               | That's right, as of May 2021 I'm working on SerenityOS
               | full time, supported by donations. :)
               | 
               | I posted this about it at the time:
               | https://awesomekling.github.io/I-quit-my-job-to-focus-on-
               | Ser...
        
         | BirAdam wrote:
         | I think this is similar to the birth of Linux, but with two
         | very major differences.
         | 
         | (1) we are in a world where open source is _the way_.
         | 
         | (2) it's somewhat a reaction to the state of modern software,
         | both in UI paradigm and in increasing cartelization.
         | 
         | To me, it's hope.
        
           | abiloe wrote:
           | > we are in a world where open source is the way.
           | 
           | I think you're in a bubble. The world still runs primarily on
           | closed source and proprietary software and services.
        
             | BirAdam wrote:
             | Linux, Nginx, Apache, PHP, MySQL, WordPress, Chrome,
             | Firefox, various open source NoSQL DBs, NodeJS, Python,
             | RoR... most software is definitely open source. There are
             | the Oracles, z/OS, and MS products and some SaaS stuff, but
             | open source is eating the Earth.
        
               | layer8 wrote:
               | Most software that is written commercially is closed
               | source.
        
       | sneak wrote:
       | Is this a viable daily driver on bare metal or does everyone who
       | uses this run it in a VM?
        
         | vkoskiv wrote:
         | It's still in rapid development mode. Can be booted on bare
         | metal, but it's not ready for prime time yet.
        
       | timc3 wrote:
       | Congratulations to SerenityOS! Quite amazing seeing the progress
       | over this relatively short time.
        
       | miki123211 wrote:
       | I wouldn't be surprised if, at some point, some commercial
       | project adopts a part of Serenity and turns it into a huge hit,
       | even outside of tech.
       | 
       | Such things have definitely happened in the past.. Not many
       | (average) people have heard of KDE or its web engine, KHTML, but
       | almost everybody these days uses Chrome, which, through Apple's
       | WebKit, is descended from KHTML itself.
       | 
       | Serenity uses its own libraries everywhere, to the point of
       | replacing C++'s std with their own library, AK, which might make
       | stripping it for parts more difficult, but it's certainly not
       | unimaginable.
       | 
       | If Serenity's web engine gets good enough, I can even imagine
       | some EU government sponsoring an independent competitor to the
       | Google / Apple browser duopoly.
        
         | varajelle wrote:
         | Fun fact: Andreas contributed to KHTML
         | https://github.com/KDE/khtml/blob/41057a9a8e491b72c8296bf5ed...
        
           | aeyes wrote:
           | I think he worked on the browser at Nokia before Apple took
           | over.
        
         | cardanome wrote:
         | Which is why I wish they would use a less liberal and more
         | copy-left license to keep the tech monopolists out.
         | 
         | It is a huge problem that a certain tech monopolist controls
         | the most popular browser in the world and a shame that this
         | browser was build using the free labor of naive volunteer
         | contributors that just wanted to help out an open source
         | project.
         | 
         | Linux would have never been so successful and kept being a free
         | operating system without its GPL license. And even that turned
         | out to be not enough protection, as the user-hostile Android
         | system proves.
        
           | zozbot234 wrote:
           | > Which is why I wish they would use a less liberal and more
           | copy-left license to stop this scenario from happening.
           | 
           | Huh? You wish SerenityOS's browser engine was not a viable
           | competitor to the Google/Apple browser duopoly? Kind of a
           | weird POV, if you ask me.
        
             | andrepd wrote:
             | How on earth is that what you extract from that sentence??
        
               | jbirer wrote:
               | Putting words in his mouth to try to save his argument.
        
             | cardanome wrote:
             | I am saying it can only be a viable (user-freedom
             | respecting) alternative to the browsers of the tech
             | monopolists if it enforces copy-left and manages to keep
             | the greedy hands of these and other monopolists out if it.
        
       | emptyparadise wrote:
       | I want to become powerful enough to contribute to SerenityOS.
        
         | cies wrote:
         | Shave a few Yaks :)
         | 
         | No, kidding... But their Jakt[1] language will make it much
         | easier to contribute than in arcane reality of C++.
         | 
         | [1]: https://github.com/SerenityOS/jakt
        
           | thom wrote:
           | This will hopefully be true, but Serenity is nevertheless one
           | of the most pleasant C++ codebases to read that you're ever
           | likely to come across.
        
         | boricj wrote:
         | Just do it.
         | 
         | Seriously, you don't even have to know programming to
         | contribute. Writing documentation, porting software, trying to
         | boot on real hardware, trying out websites with the web
         | browser, looking for bugs in the user interface... There's no
         | such thing as a barrier to entry with SerenityOS as long as
         | you're motivated to learn.
        
           | chatterhead wrote:
           | Thank you for saying this!
        
         | akling wrote:
         | You are already powerful enough! Some of our most active
         | developers today didn't even know C++ when they started. If
         | you're interested, look for something small that annoys you,
         | and then see if you can't figure out enough of the code to fix
         | it. :^)
        
           | kramerger wrote:
           | Andreas, you are underestimating the complexity of C++ for
           | mere mortals.
           | 
           | Maybe you should take a break from SerenityOS and write a
           | book about the useful/practical subset of the C++ language??
        
         | robryan wrote:
         | One nice thing for a new contributer is there is so much low
         | hanging fruit everywhere.
         | 
         | Can just open any app and you will see little things that would
         | make for a good first PR. The codebase is also full of Fixmes,
         | many of which are very approachable for a beginner.
        
       | DustinBrett wrote:
       | Andreas and his project SerenityOS was a huge inspiration for me
       | to start my side project daedalOS
       | (https://github.com/DustinBrett/daedalOS) which I've almost been
       | doing for 2 years now. I really enjoy watching his monthly
       | updates on his channel.
        
       | ianbutler wrote:
       | I follow Andreas on twitter and he is a big inspiration for me
       | when I go look at more challenging problems now.
       | 
       | I have an addictive personality, so far cigarettes are the only
       | thing that got me and only for 4 years, but I largely stay away
       | anything else now because I see how it effected members of my
       | family and how easily someone like myself could go the same way.
       | 
       | Because of that I very much appreciate channeling yourself into
       | something as ambitious as an operating system instead. It's
       | actually the same way I've built any of my best work and how I've
       | gotten even this far in my career. The line I say is: programming
       | keeps me sane.
        
         | QuackyTheDuck wrote:
         | Thank you for writing this, I can heavily relate.
        
       | robbocodes wrote:
       | The vibes of SerenityOS, Andreas, and the community are
       | tremendous. I wish them many more years!
        
       | seti0Cha wrote:
       | > The original Jakt prototype was written in Rust by myself and
       | JT over a couple of weeks before we made it public. I wrote a
       | post introducing Jakt and the motivations behind it. And JT made
       | a video about the creation of Jakt as well. The Rust-based
       | compiler is now long-gone, and Jakt is fully self-hosted with the
       | Jakt compiler being written in Jakt itself.
       | 
       | It's always humbling for me to read updates from SerenityOS :)
        
         | forgotpwd16 wrote:
         | This is good for Jakt but why another language?
        
           | rvense wrote:
           | Why another OS? Why does anyone ever do anything?
        
             | [deleted]
        
           | cardanome wrote:
           | I haven't yet used it but from what I can tell seamless
           | integration with existing C++ code might be quite a killer
           | feature.
           | 
           | Plus everything immutable per default is pretty sweet.
           | 
           | And no borrow checker, so simpler than Rust.
           | 
           | Honestly I could see that language take off even outside of
           | SerenityOS.
        
           | kramerger wrote:
           | It's all part of Andreas' grand plan for serenity OS.
           | 
           | Ask him about "the plan" next time he goes live :)
        
           | ndiddy wrote:
           | This post goes over his motivation:
           | https://awesomekling.github.io/Memory-safety-for-SerenityOS/
        
             | forgotpwd16 wrote:
             | >I have nothing bad to say about other languages. This is
             | simply the option that makes the most sense for SerenityOS,
             | which is fundamentally about having fun and implementing
             | everything ourselves.
             | 
             | Kinda was expecting this but would've also liked see some
             | critique of other languages.
        
         | zppln wrote:
         | I was a bit skeptical of Jakt at first. I thought using a new
         | language I'm not familiar with would add a layer of indirection
         | to my entertainment (i.e. watching the streams). But I've since
         | warmed up to the idea, and seeing how the existing community
         | deals with this if deployed widely in the codebase is one of
         | the more exiting aspects going forward. From my arm chair
         | perspective, that is.
        
       | rcarmo wrote:
       | I played around with this a few months back and really wished
       | they were targeting ARM. I wonder if that will ever be on the
       | cards...
        
         | efficax wrote:
         | I believe it works on aarch64, there's even a raspberry pi
         | target. Don't know the state though.
        
           | rcarmo wrote:
           | After reading this I clicked through to their Discord and
           | it's reached the point where it's crashing QEMU on the host,
           | and discussions are from October 1st.
           | 
           | Would love to see this boot on a Pi.
        
         | danjoredd wrote:
         | If you have the time, that might be a good project!
        
         | robryan wrote:
         | There are a number of people actively pushing ARM support
         | forward.
        
       | low_tech_punk wrote:
       | This project embodies Donald Knuth's principle of being the
       | author of software, rather than just consumers of other's APIs.
       | 
       | Yes, it takes patience and chutzpah, but I can also imagine how
       | satisfying it is to build something from scratch and see all the
       | pieces coming together into a working OS. And if you put your
       | heart (and time) to it, you can build anything from scratch. A
       | lesson the newer generation of developers still haven't fully
       | grasped.
       | 
       | Congrats, good luck, and carry on!
        
         | stavros wrote:
         | > This project embodies Donald Knuth's principle of being the
         | author of software, rather than just consumers of other's APIs.
         | 
         | I feel that this comment unfairly criticizes people who build
         | on other things. This OS runs on hardware, which is someone
         | else's API, and is a hobby project, as far as I can tell.
         | 
         | If someone wants to build something cool that uses others' APIs
         | as a hobby project, more power to them.
        
           | yardshop wrote:
           | It's not criticizing anything at all, just suggesting an
           | alternative. We're all always using products that are other
           | people's work, why not ALSO work on something where you
           | author and build your own system?
        
             | stavros wrote:
             | Ah, I thought you were talking about projects that make
             | something novel vs projects that glue together APIs to
             | create something new. I see what you mean now, sorry.
        
       | [deleted]
        
       ___________________________________________________________________
       (page generated 2022-10-10 23:00 UTC)