• Mereo@lemmy.ca
    link
    fedilink
    arrow-up
    86
    ·
    1 year ago

    The story behind Senerenity OS is quite amazing:

    It was October 2018 and I had just completed a 3-month rehab program at a state addiction clinic in Sweden. I was unemployed, staying with family, and had basically nothing going on.

    With no drugs or other vices to pass the time, the days seemed impossibly long. I struggled to find activities to fill them. I enrolled in school for a while, but it wasn’t for me this time either. Eventually I turned to programming, since it’s always been my big interest in life.

    Until that point, my career had been focused on web browsers (WebKit at Apple & Nokia). However, I had always been interested in low-level things so I began tinkering with some of that. I wrote a little ELF executable parser… And an Ext2 filesystem browser… And a little GUI framework with an event loop…

    Out of this tinkering, an operating system began to take shape. I chose the name SerenityOS because I wanted to always remember the Serenity Prayer. I was quite worried about my future at the time, and I figured that this name would help me stay on the good path.

    My general idea was to build my own dream system for daily use. It would be a combination of my two favorite computing paradigms: the 1990s GUI and the no-nonsense command-line of late-2000s Unix.

    Source: https://awesomekling.substack.com/p/i-quit-my-job-to-focus-on-serenityos-full-time

    • mnmalst@lemmy.zip
      link
      fedilink
      arrow-up
      59
      arrow-down
      1
      ·
      edit-2
      1 year ago

      Yes and they implement EVERYTHING in house. In case you haven’t heard they also started implementing a browser engine from scratch https://ladybird.dev/ just for fun. It kinda took off and they even got some nice donations, just to keep it going and see where it leads.

      The “founders” youtube channel is quit interesting. Especially the monthly update videos if you want to keep up to date with the latest developments. https://inv.tux.pizza/channel/UC3ts8coMP645hZw9JSD3pqQ

      • stella@lemm.ee
        cake
        link
        fedilink
        arrow-up
        29
        ·
        edit-2
        1 year ago

        Yikes.

        Building everything from scratch is one thing.

        Maintaining it is completely different.

        • This is an OS created for the sheer fun and challenge of writing your own OS, not as an attempt to become another HaikuOS or another Linux.

          So far, not much maintenance seems to have been needed. The standard string implementation seems have changed and is being slowly migrated over time, but the main APIs all seem quite stable so far.

          It’s not like anyone is running this stuff in production, they don’t even provide ready-to-install images to make sure only people with an interest in developing can run it.

      • kuneho@lemmy.world
        link
        fedilink
        arrow-up
        16
        ·
        1 year ago

        tried it out in a VM, I was truly impressed by that browser.

        I mean, sure, lots of pages don’t work, but lots of pages DOES work on it, with no issues.

        Never seen this on any custom, “built in” browser of an alternative OS.

    • qwesx@kbin.social
      link
      fedilink
      arrow-up
      38
      arrow-down
      1
      ·
      1 year ago

      I don’t know about the creators of this project, but in general: So that they can use the stuff in their closed source applications while finding enough contributors to write software for them for free.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        8
        arrow-down
        1
        ·
        edit-2
        1 year ago

        He missed the entire point of copyleft which is a bit disappointing.

        All well, at least it is libre. I respect his choice in the end as pressuring or forcing someone to use a copy left license us just as bad as proprietary software

        • Spectacle8011@lemmy.comfysnug.space
          link
          fedilink
          arrow-up
          3
          ·
          1 year ago

          The GPL is a better choice if you want to make money from the software. With a pushover license, your competitors can extend the program and profit from it in a way you can’t because they aren’t required to give the changes back. The GPL evens the playing field. Of course, you often see the original company requiring a CLA so they retain copyright over all of the code.

          On the other hand, it does enable possibilities that you would be very unlikely to get otherwise. For example, Cedega (formerly WineX) forked Wine when it used a pushover license and brokered deals with game companies to make the DRM compatible with WineX/Cedega. That meant you could play these games on Linux-based OSes with Cedega, but not Wine. I really wonder if it would have been possible to make Wine compatible with some of these DRM schemes otherwise. Consequently, however, Cedega could not incorporate any changes from LGPL’d Wine, as that would have required them to license Cedega under the LGPL, too.

          That’s another issue. You can incorporate MIT-licensed software in GPL software, but you can’t incorporate GPL software in MIT-licensed software. So going with the GPL gives you more options. As SerenityOS is building everything from scratch, this isn’t an issue, but you can well see how it could be. The LGPL is far less disruptive to people who want to release their software under a pushover license. It only requires you give back any changes to the LGPL-licensed part, and does not cover other parts of your program. Personally, I really like the LGPL. It levels the playing field while being quite compatible. It’s not perfect either, of course.

          It’s a tricky question, and there are no right answers. Ultimately, the decision is up to the developer and I can’t fault any choice, including the decision to use a proprietary license.

          • Possibly linux@lemmy.zip
            link
            fedilink
            English
            arrow-up
            2
            ·
            1 year ago

            I personally won’t use any proprietary software and I especially won’t use any DRM. The purpose of the GPL isn’t to force companies to pay up to get out of copy left. The purpose is to keep the code free no matter what so that people can control there own computing

            • Spectacle8011@lemmy.comfysnug.space
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              That’s also my preference, but very few games are free software. And most of the games I want to play are encumbered with DRM or cost ten times as much to get DRM-free. Of course, I buy them DRM-free because the DRM doesn’t work with Wine, but if it worked with Cedega…well, I might re-evaluate.

              The purpose of the GPL isn’t to force companies to pay up to get out of copy left.

              That’s why it was created, but in practice, many companies make money by selling exceptions. See Cal.com and CKEditor5, for instance. I didn’t mention this at all in my comment, though, so I’m not quite sure which part you’re responding to. By “level playing field”, I meant that everyone can improve Sourcehut and sell a service with more features, but they need to release those new features under the same license, meaning they will make it back to Sourcehut proper. Selling exceptions isn’t the only way to make money from free software.

    • lily33@lemm.ee
      link
      fedilink
      arrow-up
      9
      ·
      edit-2
      1 year ago

      For some software, where EEE tactics aren’t a concern, but corporate adoption matters, these licenses make perfect sense. However. that’s not the case here: an OS is a prime target for EEE.

  • kuneho@lemmy.world
    link
    fedilink
    arrow-up
    9
    ·
    1 year ago

    Amazing project.

    I was just trying to boot it up on bare metal yesterday, on an AMD Phenom II machine but Kernel Panic’d on not finding a device to boot from, which was a bit puzzling. Unfortunately had no time to investigate, but I won’t give up, I make it boot somehow on that PC.

    Or try to run it on a Raspberry Pi 400.

      • kuneho@lemmy.world
        link
        fedilink
        arrow-up
        3
        ·
        1 year ago

        There’s nothing like that is enabled AFAIK, I"m not even sure this board has UEFI (only Legacy BIOS). It’s an Acer Veriton M421G brand PC, with a Phenom II X4 945 CPU.

        Not even sure it’s compatible with the OS, but this boot device issue was strange, tho. (had the same problem booting up a partition manager software from floppy that is based on Visopsys)

        But will double check everything. Thanks for the tip!

          • kuneho@lemmy.world
            link
            fedilink
            arrow-up
            1
            ·
            1 year ago

            I dd-ed the image straight to the HDD. grub started and booted off from it. lots of messages of PCI devices, I guess some kind of scan. after a while the screen went white, and a bit later the logs of the kernel panic appeared at the top, with the message it could’t find a device to boot from.

            so, it seems that the kernel itself didn’t see the hdd it just booted from - standard IDE PATA disk, 120GB. Used dd from a gparted live disc.

            First, I resized the partition on the disk to the full, at the next try I left it, as-is.

            Both times the same result; the BIOS boots into Serenity, white screen, then kernel panic, couldn’t find a device to boot from.

            Thing is, there are 2 DVD drives (IDE and SATA) and a floppy drive attached to the PC, dunno if they can cause any problem. And 1GB memory.

            this was yesterday, and since then I haven’t got tieme to fiddle with it, but will. :)

  • guillermohs9@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    His coding videos are really nice to see. I don’t even understand that much, as it’s mostly C++, but the coding, the explanation, and the final feature and commit is somehow relaxing.