• 6 Posts
  • 167 Comments
Joined 3 years ago
cake
Cake day: August 10th, 2023

help-circle



  • The point of mit is to get the licensed thing used as widely as possible. It breaks down any barriers to use

    There are no barriers to use, except that you have to share the source code back, and give users the option to modify it. If you use it without modifyiing it, you can just point users to the existing public code.

    The only barrier to use is that Apple disallows (A)GPL related libraries in any of their code, published through their main distribution channels to their platforms (mainly talking about apple app store here).

    https://www.zdnet.com/article/how-to-avoid-public-gpl-floggings-on-apples-app-store/

    But this is ultimately on Apple for not giving users the needed amount of control over their devices to comply with the license. This annoyingly common rhetoric that the GPL itself is a “barrier” or “restrictive” is just blaming the wrong party.

    Now, even though I’m more in favor of copyleft, I can understand with the decision to license software or libraries permissively in order to be able to distribute them through the App Store.

    gpl licensed is a game engine you want people to be able to freely use and modify but never make secret changes to sell

    This is tricky because the GPL is fairly aggressive, and may require the entire game to be open sourced if it’s distributed as one bundle. LGPL doesn’t fight as hard for users freedoms, but also has some similar issues. Most game developers don’t want to open source their games, so I think a permissive license is probably the easiest choice for a game engine.










  • nix doesnt have any of these, but sandboxing is hard, there is either stable or unstable, changing and configuring things is very complex. Likely no official packages. Still the method I prefer.

    Nix is what I use, and it was frustrating to have to hack a lot of it into place, but I feel like it has the most potential. Unfortunately the flakes nonflakes split, in combination with the split of “distros” like determinate nix, flox, and so on, and the governance concerns really hold it back. It has horrific documentation, for the most part caused by the above (flakes are “experimental” and so can’t be included in official docs), and it is frustrating the lengths I have to go to to make stuff work that should be easy.

    For example, GPU acceleration of Nix packaged apps on non Nixos systems. I figured out how to do it:

    (config.lib.nixGL.wrappers.mesa pkgs.gzdoom)

    source

    But I think it’s just straight up impossible to do this via imperative package installs, outside of home manager. And it’s kind off important if you want any GUI app whatsoever to work.

    But now that I have it working, I use Nixpkgs exclusively and am able to avoid the AUR entirely. To me, the AUR is a last resort, only for something like say, system level printer drivers (thankfully I’ve never needed to install anything to get printers to work). By ensuring that I only use the AUR once in a blue moon, I can make sure that I actually review the PKGBUILD when using it.


  • They are probably referring to the way that snap, flatpak, and distrobox are available as official packages in most linux distro’s repositories, whereas nix isn’t. I have encountered this frustration for sure. Debian and Arch provide nix packages, but many other distros don’t.

    In addition to this, nix requires manual setup if you install it from the repos, which is annoying. And then you have to do further manual setup to enable flakes, and then you have to figure out how to install packages and it’s not fun.

    So the main way people install nix is via the curl | bash scripts various “distros” of Nix provide.





  • Absolutely, this is an admirable project.

    But the first thing you should know is that QubeOS is not based on Linux, but is actually a different kernel, Xen. The Xen kernel virtualizes Linux, and all Linux runs under it.

    Networking and hardware access is done by certain VM’s having devices (like the ethernet card or monitor/keyboard) passed through them, where Linux then handles the hardware access with it’s drivers.

    This is important to understand that, because QubeOS is not a Linux distro. Really, it’s just that they selected Linux (it was either Debian or Fedora IIRC) as their management VMs.

    But once you understand that it’s absolutely feasible to adjust the VM’s. It’s probably easier to modify a LInux distro (or create your own) and use that for all the VM’s, and then to reuse Qube’s management related software. That way you could do something like ship a version of debian that disables non-free software and firmware in the debian repos. Doing that is probably easier than creating your own distro entirely from scratch.

    Another interesting thing about Qubes is that you are not limited to Linux. Of course, using Linux will be easiest. But the management VM’s can technically be any OS that supports it.