HelloSystem: A graphical OS built on FreeBSD
hellosystem.github.io
hellosystem.github.io
Since many layers, frameworks and APIs from macOS are reused (even for the GUI which is written in Objective-C and uses the actual Cocoa APIs), the goal is to achieve compatibility with both macOS and FreeBSD apps. And yes, it natively runs Mach-O binaries in the kernel, no emulation layer.
"ravynOS is explicitly trying to be compatible with Mac software at a source and eventually a binary level, without losing support for FreeBSD/X11 software, and to implement a very similar experience on the desktop and at the command line. For example, on ravynOS you can type open -a MyApp image.jpg and have image.jpg open in MyApp. You will find things in (mostly) the same directories as a Mac, like ~/Library or /System/Library/Fonts."
Most other projects are just vanilla FreeBSD or Linux with a macOS theme.
What would bring me to bsd today? Not in a negative way at all, I'm curious what people love about it. I barely remember much about it. I loved pf over iptables but I don't remember why. It has jailed containers which.. I think people still love? I'm not sure.
I'm reading about appjails and these sound interesting.
Just as an example that's super frowned upon, I install about 5-10 various packages like jq, htop, net-utils, bash, httpie, things like that into each oci container I build. I also have the exact same customized ~/.bashrc with aliases and a motd that tells me the distro and outdated packages and what not in all of the oci containers I build. Also a custom ~/.nanorc with syntax highlighting so I don't have to constantly write nano -l (everyone will hate me for using nano, I know).
I have to troubleshoot containers a lot. This example I'm posting here went from a 150Mb container to 203 with my "debug" packages. And each time I exec into one I get a nice little motd that makes fixing things so much faster for me. A 203Mb container has absolutely no effect on my autoscaling infrastructure. We watch for anomalies and immediately scale up and have the oci images cached on the clusters. I used to make these little 30mb scratch go containers that had literally nothing but the app. It was so annoying having to troubleshoot them and the benefit seemed so not worth it. Not having bash installed is absolutely horrendous. Being forced to use sh. I can't use arrow keys to move the cursor or up and down to go through history. I think ctrl-r doesnt even work.
I would get absolutely screamed at by the greybeard genius nix admins I used to work with. But I make the infra standards now.. Package attack vectors are definitely a concern. My containers go through a rigorous security test while being built.
process list and mount table on oldschool unixes "fit's in head" conveying familiarity and trust while laying a foundation for security
The best thing about it is that it is boring, completely predictable outside of hardware faults, and dependable. If you know how to competently manage it, which isn't hard, it is a rock.
Also nice is that FreeBSD isn't involved in vendor tugs-of-war that result in the constant stream of bullshit changes* - the network config format doesn't change every version, people aren't playing political games with init, etc. All of which mean far fewer goofy make-work surprises.
And the quality of their releases is still very high. I consider them one of top open source projects, period, in terms of qualities others should emulate for better results.
As with anything, it isn't for everything. If you need the latest version of whatever is trendy this month, you should run Linux. But if your use case benefits from stability and ease of administration, FreeBSD rocks.
* What is bullshit in my environment may not be in yours, etc.
I never felt comfortable managing openbsd, but linux has repeatedly and gratuitously changed all the management tools, so now it’s easier for me to get around an openbsd box, despite using Linux daily, and openbsd maybe twice a year.
(It’s a serious question. I’m strongly considering switching to one of the bsd’s at this point.)
Are you not so subtly referring to the systemd fiasco? That was about, if not over 10 years ago. I also don't think it matters. Change is not a bad thing, and that change is not as hectic or constant as you seem to imply.
If you really want a Linux distro that hasn't changed at all in the past 30 years, Slackware might be your bets bet, but I don't think that 'having not changed in the past 30 years' really makes sense as a metric.
Personally, I'm a fan of Alpine and Void Linux, and I also run NetBSD. FreeBSD seems too 'messy' as someone that likes minimalism, and OpenBSD's security focus is misplaced IMO.
Wayland, ACLs, SELinux and cgroup are all just options, none are forced.
Was deprecated ~20 years ago. Not a recent change.
> selinux vs cgroups vs ???
This doesn't make any sense? It's like writing "network drivers vs. X11" in OpenBSD.
For instance, some systemd-login thing broke compatibility with xscreensaver on my manjaro box 6 months ago.
I don't think of openbsd as a minimal system, in fact it is almost the opposite openbsd crams more into it's base distribution than most linux distos. But the openbsd services tend to be small and well behaved and well documented., I am a bit biased but I tend to think of openbsd as the best bsd for desktop use. It is not the fastest, it does not have the best filesystems, but damn if everything does not come together in a really comfortable package.
Also having little glitches by tiny differences in shell handling make your already tuned Linux dotfiles incompatible that adds to the annoyances.
And then I don't really get anything over Linux. pf is good but I'm just mostly using ufw and not running a router in the cloud that requires more than port handling.
Ubuntu supports zfs in a very seamless way that I just don't find a reason to use BSD anymore unfortunately. It's probably only driven by companies that don't want to expose their code via GPL.
Though I don't find anything better than Linux, it's not lacking either.
- https://news.ycombinator.com/item?id=36972903
... and that can give You another reason 'why':
- https://vermaden.wordpress.com/2020/09/07/quare-freebsd/
... but if you are happy where You are - then stay where You are.
I moved to FreeBSD because I was not happy on Linux.
Regards, vermaden
(That was before the Steam version ofc.)
Note that parent meant the UI holistically, and not just icon sets.
AFAIK, this way of thinking about the design of the entire system, and not just in discrete segments is largely unique to macOS. I think it is because Apple has a design language they try to enforce as rigorously as possible, even onto 3rd party developers, which gives the OS & all applications on it a very uniform and consistent feeling.
Windows is the worst. Microsoft has a design language, but they barely encourage it even among their own apps (Settings vs. Control Panel as one example).
I will make a strong claim: I don't think any O.S. developer takes design truly seriously besides Apple. Definitely not Microsoft, partially Google with Android, and certainly not most *nix distros (with the possible rare exception like System76's Pop!_OS).
I personally really like the Adwaita icon sets much more than windows and at least on-par with MacOS, though MacOS has the advantage of being rendered only on extremely high DPI screens. So most people only have that experienfe
Focusing too much on style can be a bit of a problem, though. All too often, Linux theming and UX feels very "skin deep" - and obviously, It'd be great if most people focused on stability and robustness at this point.
At most would take me a week or so to do I think, more likely less than a day.
I tried using MidJourney to generate exaggerated UI themes (not skins, just general themes for inspiration), but the results were disappointing. They were always gorgeous[1], but my prompt engineering skills couldn't coax it to use space efficiently.
the open source modular synthesis software VCV Rack has a UI composed entirely of SVG descriptions (even though 95% of the UI is provided by 3rd party modules that get loaded into the main program). They can look like anything you want, but the result is an infinitely (more or less) zoomable/scalable UI.
First HN comment: "I wonder if we could use AI to replace the large-scale creative work of making sets icons."
20 minutes from now?
Also I disagree about it being unproductive. Not everyone is most productive in i3 or whatever.
That might not seem like a big deal, but if the goal is to get as many people switched away from commercial operating systems as possible there needs to be a healthy range of conventions/workflows represented by meaningfully different DEs so more users find one they can slip on like a comfy pair of shoes. For most people, switching desktop paradigms is something they want to avoid if at all possible because of the immense friction it brings.
Still alive and being maintained, too.
Xfce has a plugin to do it as well, but it needs various strange Gtk settings to tell apps to use it, and I can't get most of those to work.
There are some impressive KDE-based distros out there, and I wish someone rose to the challenge of offering a Mac/Unity-like Xfce-based desktop.
Then the gnome 3 team intentionally sabotaged it all by intentionally arranging for gnome 3 apps to refuse to coexist with a gnome 2 install.
Sigh.
XFCE are not that far along, but the developers are tinkering: https://www.phoronix.com/news/xfwm4-wayland-May-2023
Run it for fun but it’s never going to reach mass appeal
Still FreeBSD quietly powers so many things, and has been used for so many platforms(Hotmail, Yahoo, WhatsApp, Netflix, etc). plus PlayStation, userland in OS X… plus all the network appliances(and storage).
It seems to me FreeBSD gives you a great platform to do your own thing without getting in your way.
I mostly used Linux with mostly joy and some frustration, but never FreeBSD. I do use Mac, but I don't think it can be translated, or can it?
So they have a vested interest in the BSD-Ecosystem to stay alive and well, so as to continue to assure the existence of developers and beta-testers for the BSD system/userland they base their commercial offerings on. Personal choice, if you see that as a Pro or Con.
The longer I look at the screenshot, the cheekier this advertising seems.
The screenshot makes me think they might have.
The closest Free Software analogue I've ever found for the Classic Finder is ROX-Filer, pictured here: https://cooltrainer.org/images/original/freebsd11-wmaker.png
This isn’t really an accurate claim. How strange.
Maybe they're thinking of busybox dd?
I love the idea of FreeBSD on a desktop (or laptop), and stock FreeBSD has always been troublesome to get working nicely on a laptop (at least for me)
I wonder what it'd be like on a tablet.
I’m also annoyed that they don’t go for Objective C which could make a lot of seasoned Apple developers comfortable, but instead went for a custom language.
Vala wasn't a custom language for elementaryOS, it already existed for years before the first version of the OS (and i think the first version didn't use any Vala code).
It most likely used instead of Objective-C because its object system was built on top of glib's gobject system and elementaryOS used Gtk and a lot of other glib/gobject-based libraries. Using Objective-C would mean they'd have to base their UI on GNUstep and GNUstep wasn't as polished as Gtk.
Remember that while they used macOS as an inspiration, it was never elementaryOS's goal to make a macOS clone.
I have used Vala a bit some years ago to make a Gtk program and it was MUCH easier using it than using Gtk from C directly, so i can understand why they went with it.
I do wonder about eOS staff issues. It would be a shame to see that fall apart, I've been using it for years. Even so, someone picking up the torch as it were would be better than starting another.
I like macOS for the attention to detail, not for the rounded corners.
I like X11 for the flexibility, not for the ability to poorly imitate another system.
I will give credit to GNOME for trying to be their own thing, but it seems like they have no real vision, except trying to be "simpler" at all costs.
(Risc OS apps are called !Name; NeXTstep ones are called Name.app.)
Acorn Risc OS was also the first OS to have integrated, always-on font antialiasing, next seen in NeXTstep, and the first to have full-window drag.
Source: a retrospective meetup of the surviving developers, which I moderated.
Perhaps the closer correspondence is file metadata. For all that Risc OS is based on Acorn MOS, an OS that's as old or older than MS-DOS, it stores richer metadata: for instance, files have a Creator Type which is 3 hex digits.
https://en.wikipedia.org/wiki/List_of_RISC_OS_filetypes
This can't be stored on DOS filesystems. So, just like Classic MacOS files with their 2 forks, to keep Risc OS files on DOS media without damaging them, they must be packed inside a Zip file or something like that -- and using a RiscOS (or MacOS) native Zip program that stores, and recreates, the metadata.
(Linux used to do something vaguely similar with the `umsdos` filesystem.)
DOS/Windows PC owners, who think the universe revolves around them, never could get the hang of this.
https://appleinsider.com/articles/19/01/24/apple-launched-ma...
[0] https://www.nintendolife.com/news/2021/01/nintendo_issues_ma...
Not a lawyer though.
The canary in the coal mine will be the Elementary Linux distro's Pantheon desktop which even uses the Command symbol ⌘ yet claims "resemblance to any other graphical environment is purely coincidental".
There was some other Mac-copy Linux distro who Apple did send a C&D to for similar reasons but I can't remember the name.
Not yet another aqua rip off distro running reskinned Mate.
Just get FreeBSD with gnome or mate if you’re so inclined.
If you’re using Hello as your daily driver, you’re gonna get your hands dirty getting things to work anyway. Might as well start from core.
GhostBSD, MidnightBSD, TrueOS, haven’t people realized FreeBSD is too obscure to get a community led distro to gain traction?
Ubuntu is the use case for “mere mortals” on Unix-like systems. Anyone tech savvy enough to use FreeBSD on a personally machine successfully (whoever you are) doesn’t need some pre rolled version.
It’s a niche use case and this project will ultimately go nowhere.
It might be worth looking at one of those Linux distros that swaps out GNU userland/toolchain in favor of BSD equivalents wherever possible though.
I use BSD, particularly FreeBSD and OpenBSD, for two decades now. For the last 15 years professionally.
Four "recognized" members of BSD family are FreeBSD, OpenBSD, NetBSD and DragonflyBSD. Each of them pursue different goals - FreeBSD stability, OpenBSD security, NetBSD portability, DragonflyBSD no idea, never tried it. All of them have similar (make) but different way of building (poudriere / dpb) and managing (pkg / pkg_) packages, similar (rc) but different way of managing system services (rc.d/ / rc.conf.local), similar (ifconfig) but different (rc.conf's ifconfig_if / hostname.if) way of setting network interfaces, similar but different ways of containerization and virtualization (jails, chroot, vmm, bhyve) etc.
I have reasons why I would choose FreeBSD over OpenBSD for storage server (ZFS), or vice versa for router / firewall (rdomains, pf, bgpd, ospfd, iked / ipsec etc.)
I don't have a slightest idea why would I choose HelloSystem or HardenedBSD for my laptop instead of FreeBSD.
Mouse gestures wouldn't work, I think some media buttons, all these annoying little things I had to hunt down and tweak myself. Mind you again, this was on a damn Thinkpad, what better laptop to run FreeBSD!
That's probably the use case for what HelloSystem is for, a BSD you don't have to muck around with on a laptop. But I knew damn well when I was 20 I wasn't going to swallow my pride and install some kiddieBSD, at that rate I'd say why BSD at all and go back to Ubuntu where everything is safe. I did and have no regrets lol.
I don't remember where, but someone once said FreeBSD is best for computers that you don't have to look at. That and of course as a starting point for companies like Nintendo, Sony, and Apple to derive from with their ACTUAL development teams.
I haven't actually tried HelloSystem on real hardware as a daily driver, but I can clearly see why people would find it valuable (at least according to their stated goals).
The reasons are the same as why you'd choose Ubuntu over Slackware: the base install is intended as a fully functional desktop OS. Focus on the OOB experience, vertical integration, accessibility, polish, simplicity, etc. Even if you're a power user, there is still value to having all of these things: your energy is probably better spent on something more useful than figuring why basic, random stuff isn't working. (Assuming HelloSystem delivers on their stated goals!)
It is true that these are all "merely" downstream projects, but I wouldn't dismiss them on these grounds alone. As long as any improvements can be ported back to FreeBSD, it's a win for everyone involved.
The goal of desktop BSDs are to specialize as desktop OSes, and people keep trying it because the four main BSDs aren't particularly great at it — OpenBSD is probably being the best (mainly thanks to OpenBSD devs dogfooding it on their laptops), but its hardware compatibility and older packages aren't particularly great for most desktop users nor is its functional but spartan setup process.