this post was submitted on 01 Jun 2023
7 points (100.0% liked)

Technology

37747 readers
298 users here now

A nice place to discuss rumors, happenings, innovations, and challenges in the technology sphere. We also welcome discussions on the intersections of technology and society. If it’s technological news or discussion of technology, it probably belongs here.

Remember the overriding ethos on Beehaw: Be(e) Nice. Each user you encounter here is a person, and should be treated with kindness (even if they’re wrong, or use a Linux distro you don’t like). Personal attacks will not be tolerated.

Subcommunities on Beehaw:


This community's icon was made by Aaron Schneider, under the CC-BY-NC-SA 4.0 license.

founded 2 years ago
MODERATORS
 

Everyone (and their mother) have been trying to convince me that I should use one of my less loaded servers to be a Fediverse node. However, all Fediverse software packages I checked only support being installed on complicated systemd + Docker machines. My servers don't have either of those, because neither systemd nor Docker even exist on OpenBSD and illumos.

I know that it would be possible to manually install (e.g.) Lemmy, assuming that I won't ever need official support, but I wonder why the world outside a limited subset of the Linux ecosystem is - at most - an afterthought for Fediverse developers.

How can I help to change that?

top 50 comments
sorted by: hot top controversial new old
[–] ubergeek77@lemmy.ubergeek77.chat 8 points 1 year ago* (last edited 1 year ago) (1 children)

I wonder why the world outside a limited subset of the Linux ecosystem is - at most - an afterthought for Fediverse developers.

I hate to break this to you, but OpenBSD is an antiquated OS masquerading as a modern one, and the OpenBSD's lack of willingness to support modern standards results in the difficulty you're having.

OpenBSD feels like it's been duct taped together for decades. Anything "new" seems to just be, "sorry, not possible." The OpenBSD kernel doesn't support WiFi 5GHz. The OpenBSD kernel doesn't support even the minimum subset of isolation features in order for Docker to function properly. Why? Because OpenBSD refuses to add these features to their kernel. There are very likely other syscalls and basic features any given open source project needs, even if it's not being run in Docker, that simply do not exist under OpenBSD due to the very limited kernel it provides.

You're upset because open source projects don't support a platform that is old and developer-hostile. Turn your frustrations on OpenBSD - these projects would gladly support OpenBSD if they could.

[–] tux0r@feddit.de 1 points 1 year ago (1 children)

I hate to break this to you, but OpenBSD is an antiquated OS masquerading as a modern one, and OpenBSD’s lack of willingness to support modern standards results in the difficulty you’re having.

Ok, let us assume for a moment that “modern” is the same thing as “great”: why do people still use Linux’s terminal, which emulates an actual 70s line printer, although there have been superior input capabilities since the 80s?

[–] ubergeek77@lemmy.ubergeek77.chat 1 points 1 year ago* (last edited 1 year ago)

That's irrelevant to this discussion. I was talking about OpenBSD's lack of kernel features and driver support.

As for the Linux vs OpenBSD terminal comment, I feel like you're grasping. What does OpenBSD's terminal do better? We have had augmentations on top of the Linux terminal for years, adding things like auto complete and syntax suggestions that the 80's could never have dreamed of.

[–] Mersampa@beehaw.org 7 points 2 years ago* (last edited 2 years ago) (1 children)

80/20 rule.

When you are creating something like Lemmy, where you want wide uptake, you need to pander to the masses.

The /r/selfhosted surveys show around half of self-hosters mostly or exclusively use docker. A significant portion of the rest can use docker if needed.

If you're in the 20% that isn't covered by the most common setup, then it can be frustrating. But supporting that 20% takes as much effort as supporting the other 80% (see 80/20 rule), and when things are new it's just not where the effort should be focused.

So you have all those servers, but why can't you install debian or ubuntu server on one of them?

You could also get a $2/month VPS and run it on that. Beehaw is run on something similar (though apparently $12 a month, but a lot more users).

[–] tux0r@feddit.de 2 points 2 years ago (1 children)

So you have all those servers, but why can’t you install debian or ubuntu server on one of them?

I could. Personal opinion: Linux is frustrating to use for me, and I prefer my servers to bring me joy.

[–] strudel6242@beehaw.org 2 points 2 years ago (1 children)

What pain points do you find with Linux? How does OpenBSD differ?

[–] tux0r@feddit.de 3 points 2 years ago (1 children)

This question is not as easy to answer as it seems.

Eleven years ago - that was before systemd - I was still using Linux on one of my desktops (Fedora) and my only server at the time (Debian). Independently of each other, both systems refused to start after an upgrade, so I had to replace them; on the desktop I ended up with Windows for a long time (in the meantime I've switched to macOS), on the server a FreeBSD worked first. From FreeBSD I later migrated to OpenBSD and illumos, all three systems have their own merits and solve problems that the other systems have.

As to the "OpenBSD vs. Linux" question, I'll be brief:

  • OpenBSD just works. No need to be careful during installation, no surprising problems with the init system after an upgrade.
  • OpenBSD's man pages are exemplary, Linux could take a leaf out of its book.
  • OpenBSD largely adheres to standards. The GNU tools do not always do so. This is a pity, especially with the C compiler.
  • Because the OpenBSD team maintains a complete system and not just a part of it, OpenBSD does not look like a patchwork, but is self-contained, which also has positive effects on security. OpenBSD itself advertises its good security statistics, not entirely irrelevant for servers.
  • sysupgrade is a great tool that has no equal.

I think this list could be continued.

[–] strudel6242@beehaw.org 1 points 2 years ago

Thanks for your answer, being fairly out of the loop on all of this it's quite interesting to hear. I've also experienced a number of upgrade pains. I'm quite diligent with storing important data external to the OS, but it still sucks when the only real option is to nuke the drive and install again.

[–] anji@lemmy.anji.nl 5 points 2 years ago

I have set up my Mastodon and Lemmy instances on my VPS using YunoHost.

On the plus side, it makes setting up server software ridiculously easy. It took me about an hour with each app.

The downside is the packages are community-supported, and often run a version or two behind the official release. For example I'm still on Lemmy 0.16.7. Still, I think it's a great option if you want a more hands-off experience.

[–] grant@toast.ooo 4 points 1 year ago (1 children)

Docker is used by a ton of projects and makes installation very easy in most cases

I’d highly recommend moving to a different distro that has docker

[–] tux0r@feddit.de 2 points 1 year ago

There are no OpenBSD “distros” with Docker.

[–] paulie420@beehaw.org 4 points 2 years ago

The ever-changing landscape of new software.

I took a look at the manual [Lemmy] installation and it doesn't seem to terrible... a few scripts and you can get updates, even...

I'm with you, tho; while I run a few services on Docker, ansible and the like - I prefer to spin things up in a normal filesystem that I can look at, touch and see operating.

We're continuing to move away from the norm... UGH.

  • pAULIE42o
  • . . . . . . . . . . .
  • /s
[–] finity@qoto.org 3 points 2 years ago (1 children)

@tux0r have you seen Honk? It seems to be very easy. I've heard it works well if it's what you want. https://humungus.tedunangst.com/r/honk

[–] tux0r@feddit.de 3 points 2 years ago

I did! And indeed, it looks like a very straightforward solution. :-) Currently experimenting with it.

[–] PeterPoopshit@lemmy.ml 3 points 2 years ago (2 children)

Ugh, I wanted to make a few sublemmys but if it's that much work, forget it. One thing that's lacking around here are the shitposting subreddit equivalents. r/Copypasta, r/shittyaskreddit, r/okbuddyretard, that kind of thing.

[–] vrojak@feddit.de 4 points 2 years ago (2 children)

Exactly, bring in the shitposting and porn subs and Lemmy will flourish.

[–] king_dead@beehaw.org 6 points 2 years ago

If i can get it working I'd love to get an NSFW Lemmyverse set up. I miss my kink subreddits

[–] nachtigall@feddit.de 3 points 2 years ago (4 children)

Porn is kinda difficult. There are probably few people who want to moderate and more importantly be liable for pornographic content hosted on their servers. Many Hoster also explicitly forbid adult content.

Not impossible but someone would have to do it ^^

I could also totally see something like naughtyverse.xxx as domain name.

load more comments (4 replies)
[–] tux0r@feddit.de 3 points 2 years ago (4 children)

As far as I understand, you can make a new community ("sublemmy") on any server, it will be federated.

load more comments (4 replies)
[–] deadcade@lemmy.deadca.de 2 points 1 year ago

Most of these projects are FOSS, so you have two options. Either ask the devs for OpenBSD support (but try installing everything on OpenBSD to see what goes wrong). Or try modifying the program yourself to add OpenBSD support.

Developers of these projects often target Linux, since it is by far the most used server kernel/OS. *BSD is not nearly as common.

The only way to potentially change that industry wide is to have enough people stubbornly use *BSD and help implement *BSD support for Linux specific tools they use.

Official support is often only provided with a docker setup as it standardizes bundled libraries and other needed blobs. This makes it easier to support many Linux distros.

[–] codus@leby.dev 2 points 1 year ago

The vast majority of servers run Linux and the simplest way to deploy services is with containers. Unix and Windows are much less supported and even running outside containers is fading away.

If you are interested, it may be simpler to spin up a small Linux VM.

[–] rev@ihax0r.com 2 points 1 year ago* (last edited 1 year ago)

I didn’t use docker. I went from scratch. You need to be able to compile rust and run nginx or similar

[–] dannym@lemmy.escapebigtech.info 2 points 1 year ago* (last edited 1 year ago) (3 children)

That's an interesting question. The percentage of servers (with the exception of routers, and other consumer appliances) that run OpenBSD (and variants) is actually extremely low when compared to the amount of servers running Linux. That being said you CAN set it up yourself, rust can easily compile to a binary that works with openbsd by using the target x86_64-unknown-openbsd.

As another commenter said here, *BSD is very far behind the developments of Linux, when compared to developer experience. And realistically, unless you're a huge organization that can dedicate a team of engineers just to manage your system, or you're someone who likes getting into the weeds, there is no reason to ever use *BSD in a modern system.

[–] tux0r@feddit.de 3 points 1 year ago* (last edited 1 year ago) (1 children)

And realistically (...) there is no reason to ever use *BSD in a modern system.

In my very personal opinion, there are a few not entirely unimportant advantages to using OpenBSD over Linux (and I suppose users of the other free BSDs have similar lists, but I no longer use any other free BSD):

  • Culture. Basically, "shut up and hack". Not wasting the time of project members with dissolute thoughts about social interference, but devoting themselves exclusively to improving the technology so far, leads to the fact that (much like NetBSD) all sorts of technical achievements came out of OpenBSD, including OpenSMTPD, OpenSSH and LibreSSL. Linux to me often seems more like a support group than a technical project.
  • Predictability. The Linux community seems to constantly need new completely different approaches to everyday things. The systemd debacle with numerous reports of computers no longer starting (or shutting down) is not yet over, and there is already debate about the now-but-really future of the desktop. Many Linux distributions do not know anything like an "upgrade", the normal approach to a new version is "download the installation DVD and start it". In OpenBSD it is essentially three commands (sysupgrade, reboot, sysmerge) - and it has never happened to me that after rebooting I was suddenly sitting in front of a completely different system. Yes, all this may not be cool - but predictability seems to me to be a not entirely irrelevant feature (also and especially for large companies).
  • History. Linux is a clone of Minix, which is itself essentially a clone of BSD, which was not yet free software in 1991. You might as well use the original, right? ;-)

edit: See also my previous answer for further advantages.

To quote Linus Torvalds:

If 386BSD had been available when I started on Linux, Linux would probably never had happened.


The GPL licence is not a free licence, rather the opposite. But let's assume that the licence debate is actually relevant: Why should a company that needs to make money selling software be "antiquated" simply because (for example) some of its algorithms are trade secrets?

[–] dannym@lemmy.escapebigtech.info 3 points 1 year ago (3 children)

Indeed, each system bears its distinctive advantages and drawbacks, and the optimal choice often hinges on the specific requirements of the task at hand. Nonetheless, I believe that OpenBSD's utility is limited in contemporary scenarios.

Culture

It's undeniable that OpenBSD has spawned important technologies under its "shut up and hack" mantra, cultivating an environment conducive to technical breakthroughs. Conversely, the Linux ecosystem too has been a breeding ground for major projects, Docker and Git being just a couple of examples. The ethos within each community can differ considerably, contingent upon the project or distribution. The widespread popularity of Linux may attract a varied spectrum of users, some less technically adept than the typical OpenBSD user. However, that doesn't mean it's short on technologically adept contributors.

Predictability

I've chosen to make peace with systemd, seeing it as a necessary compromise, as it has become the preferred choice amongst the developer community. Unless one fancies rewriting systemd .unit files each time something needs to be installed (which I don't), the practical choice is to work with it.

Concerning the upgrading process, many Linux distributions today offer smooth upgrades without necessitating a complete reinstall. Your encounter may rely on the particular distribution you're using. Perhaps it's been a while since you last used Linux. I haven't come across a distro that requires a complete overhaul in quite some time. Rolling release distros are now increasingly prevalent and are even suggested for novices.

With nixos, which is my distribution of choice for the foreseeable future, I have an attribute that your OpenBSD system lacks: reproducibility. I can transfer a handful of configuration files to a brand new computer and replicate my system precisely, encompassing all my installed packages and configurations, including those in $XDG_CONFIG_HOME. It will literally recreate the same exact environment.

History

And both of them are inspired by Unix, what's your point? :P

Why should a company that needs to make money selling software be “antiquated” simply because (for example) some of its algorithms are trade secrets?

I think we're not gonna agree on this, but I believe that all code that matters should be FOSS, there is no reason for a company to keep their algorithms as trade secrets, and if anything being open source can only improve the world, not hinder it.

load more comments (3 replies)
load more comments (2 replies)
[–] dan@upvote.au 2 points 1 year ago (1 children)

It's "annoyingly hard" because you're not using modern tooling. If Docker is unavailable on your preferred OS, then that OS is stuck in the past. Simple as that.

Docker makes it easy to install a program, including all its dependencies, in a repeatable way. Since you're familiar with BSD, it's similar to jails except with better isolation, fewer security holes/issues, and the software you want to run is preinstalled. Docker containers are essentially mmutable which makes upgrades easy - just throw away the old container and replace it with the new version. (persistent files are stored separately, in "volumes")

You can of course manually install the same software by looking at the Dockerfile and manually performing the same steps, but there's no guarantee that it'd work well on an unsupported OS.

[–] tux0r@feddit.de 1 points 1 year ago (2 children)

It’s “annoyingly hard” because you’re not using modern tooling.

Calling Docker "modern" is a stretch, as it's not much more than glorified Solaris Zones, but please enlighten me: Which feature of a federated web application requires modern tooling?

Since you’re familiar with BSD, it’s similar to jails

OpenBSD does not have jails.

except with better isolation

How so?

fewer security holes/issues

Actually, not using Docker prevents a number of security holes/issues.

and the software you want to run is preinstalled.

If you grab an image with it. You could as well just grab a tar archive with it... with less side effects.

Docker containers are essentially mmutable which makes upgrades easy

And security patches impossible.

load more comments (2 replies)
[–] Rentlar@lemmy.ca 2 points 2 years ago (1 children)

Not that I wouldn't want a Lemmy server to be easier to host and set up, but perhaps the difficulty is one of the things keeping troll and bot servers out in addition to good and common sense moderation.

[–] tux0r@feddit.de 3 points 2 years ago (1 children)

Never underestimate 4chan.

But there are already a bunch of troll servers? Someone even deployed @p@freespeechextremist.com's favourite attack that one time.

[–] jeena@jemmy.jeena.net 2 points 1 year ago

I feel you, I tried to install lemmy on the server on which I already run 7 other services (Matrix, PeerTube, my website with rails, Mastodon, another three websites with PHP, Nextcloud, Rainloop, some static HTML websites, and probably more). It's a really small server so not much resources left but everything is working fine sharing one instance of Nginx and one instance of Postgresql.

Lemmy also uses Nginx and Postgresql so I thought great, let me reuse those. But nope, after 4 days of trying I had to give up and get a new Server just for lemmy. I tried the install from scratch, there lemmy would just not compile. Then I tried to reuse the docker-compose but to connect the existing Nginx and Postgresql but nope, Postgresql didn't want to work with it because of a extension which was installed but somehow I couldn't get it to work. And then Nginx with the example config file didn't work at all.

Anyway on the new server it almost worked, the only thing which didn't work were the websockets because the example didn't set up anything for them. But I figured this last part out for myself and now I have to pay 5 EUR more each month to run Lemmy.

[–] gepfahrpfogl@mastodon.bv.linksjugend-solid.de 1 points 2 years ago (9 children)

@tux0r Mastodon is well-documented and I was able to set a node up in an hour or so, don't know about OpenBSD tho

load more comments (9 replies)
[–] tedvdb@feddit.nl 1 points 2 years ago* (last edited 2 years ago)

For me it was real easy setting up a node, because of docker. Docker+docker-compose were the only requirements to get it running. Docker (or the alternatives are available for a lot of systems, so supporting that makes sure it can run on a lot of machines.

For the remainder of systems, if the administrator decides to go for a less common install, I get that the developers aren't able to support that. There's just too much diversity in that kind of systems.

[–] J_C___@lemmy.place 1 points 1 year ago

Documentation is the key. Everyone's setup is different and with the explosion of new users/instances if everyone documents their infrastructure this shouldn't be a problem for long.

load more comments
view more: next ›