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
The author was a guest on the Changelog podcast. The episode was an interesting one, I highly recommend it
The Changelog: Software Development, Open Source: The serenity of building your own OS
Episode webpage: https://changelog.com/podcast/554
Media file: https://op3.dev/e/https://cdn.changelog.com/uploads/podcast/554/the-changelog-554.mp3
Sounds like Terry Davis but the good ending
I will never not be impressed with people who get themselves off drugs and have endless respect for that.
Wait, so that’s a proper *NIX system? A non-linux system? That’s quite impressive!
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
Yikes.
Building everything from scratch is one thing.
Maintaining it is completely different.
deleted by creator
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.
[This comment has been deleted by an automated system]
The browser was at first only available in serentyOS itself but lately is available as a stand alone program running on other OSs as well. It’s still pretty early days, I am exited to see where all this leads tho!
Wow, a whopping 100k from Shopify, that’s awesome!
Does the browser work yet? Can’t find screenshots
It’s a work in progress. Most sites won’t work but some do. Check out this latest development update video: https://inv.tux.pizza/watch?v=giq5iXJntgQ&t=911 That link leads directly to the “demo segment” where he opens some sites.
Why do groups insist on BSD/MIT/Apache style licensing…
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.
Because I like the 2-clause BSD license. I am not a fan of “copyleft” or forcing obligations on people in general. I want my software to be available for anyone who wants to use it.
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
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.
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
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.
deleted by creator
They all bear the same permissive properties
deleted by creator
Reading this text, it looks kinda like the difference between red (#FF0000) apples, red (#FF0001) apples, and red (#FF0100) apples…
After reading your link, they can absolutely be used interchangably in a comparison with copyleft licenses. Your own link says that they are very similar.
For anyone not wanting to read through that article, here’s the tl;dr:
Apache requires you to note what changes (if they’re “substantial”) you made to the code. Otherwise it’s identical to MIT.
BSD is effectively identical to MIT.
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.
What is your issue with the licensing?
Removed by mod
Lol excellent use of emoji
Is it possible to run it in VM?
Edit: it’s meant to run on a vm. cool!
Quite easy. It automatically starts in qemu when you build it.
Serenity now, insanity later.
I read “senility operating system” which is stupid and also probably the OS I have installed
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.
deleted by creator
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!
deleted by creator
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. :)
deleted by creator
deleted by creator
What do you mean by that?
I used x86_64 build, and my CPU is 64-bit. (Ran 64-bit Windows and different Linux systems on it before)
deleted by creator
deleted by creator
How does it compare to TempleOS though?
[This comment has been deleted by an automated system]
Oh, so it’s already corrupted by sin, I see
Whoa whoa slow down with this new-fangled fad ideas. Next you’ll try and tell me every user process doesn’t run in ring 0.
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.