← Back to context

Comment by drzaiusx11

3 days ago

Do the "linuxisms" inherent in a compatibility shim like linuxlator get exposed to users in day to day application use?

I figured it'd be more like how proton provides windows APIs on Linux and applications "just work" as per normal.

I admire your purist approach, but most folks don't have that luxury and just need to make do with what works today for their tooling of choice (or more common, what their employer thrusts upon them.)

Compatibility layers can also introduce security bugs. One of the reasons why it was removed from OpenBSD.

BSD is more for purists anyway. Virtualization seems to be a better option than compatibility layers for the odd program that doesn't work natively.

Maybe that it's different for Windows API's on Linux, because by virtualizing Windows, you're still dealing with an unfree OS.

  • Technically any software abstraction layer can have bugs (security or otherwise.) That doesn't mean we should abandon higher level abstractions.

    If the bsd posix equivalent is the highest layer your willing to use, you'll miss out on some great software.

  • Theo de Raadt, 2010, on the removal of emulation: “we no longer focus on binary compatibility for executables from other operating systems. we live in a source code world.”

    (Since then, OpenBSD has gained support for virtualization for some operating systems including Linux, through the vmm(4) hypervisor.)

    • > Linux: Win32 is the only stable Linux ABI :(

      > OpenBSD: Whatever the C compiler produced last is the only OpenBSD ABI :D

  • FreeBSD used to have compat libraries for old FreeBSD releases itself. With NetBSD it used to be the same.

    OpenBSD, well, by policy running old, insecure binaries it's basically a no-no.