Let me take you #linux people on a little journey. Right now, there is a war. A war between those who fear the future of #nix and #NixOS and those who are apparently not getting the point.

To call something #opensource can mean so much nowadays. When it comes to the idea of an enterprise nixpkgs vs the open source or "community" #nixpkgs, I think it's time to make it clear:

#DeterminateSystems wants to have it's own #RHEL. Functions are decoupled from nix for a reason.

https://discourse.nixos.org/t/determinate-nix-3-0/61202/110

Determinate Nix 3.0

A critical component of our approach here is that Determinate Nix is a downstream distribution, with a focus on improving and validating the patches we’re wanting to get accepted upstream. It seems weird, then, that some of the harshest critics of our strategy to improve Nix in this thread appear to be users of and contributors to Lix, which is explicitly a fork without a stated goal of their improvements being accepted upstream. Many people here have said they believe we are acting and commun...

NixOS Discourse

With the attitude by certain protectorates in here though, it's clear that there is an elitist boy club that is pretty much bashing people left and right in order to get their way.

It's quite childish actually and gives me a bad taste for the whole situation. Am I supposed to recommend this to a professional network, when THIS is the language used?

"Oh but it's just a forum" - run by cherry picked moderators who are sitting on their hands.

It makes me ashamed to think that the one true contender against #redhat and #RHEL on this side of the pond is currently run by a bunch of irradiated crybabies.

We were supposed to be better. What even is this?

You are bad at communicating and should feel bad about communicating. Stop pretending like you're not using community labour to prop up some future #SaaS. It's ridiculously insulting to the intelligence.

And if you call them out? Oh my lord. Geez Louise! Whate even is this?!

My previous praising of how "things have calmed down" makes me feel stupid, because i had not put myself into the communication being passed off as "civil discourse".

This is (for lack of better words) cringe. Absolute cringe. It smatts of the Silicon Valley tech bro attitude that we all supposedly despise - complete with idol worship and frail masculinity.

This is not what was promised. This is not okay by means of the imagination, especially now with the geo-political situation.

This isn't something you can hide anymore. This will be clear to anyone with access to an LLM and the wherewithall to see what defines community morale.

Basically this means that as I've always said: THE #COC IS OPTIONAL, and that is intentional. Now you can allow people to play favourites, have insider cliques, enforcers, yada-yada-yada and so forth.

When public officials then figure this out, they will avoid you like the plague, because they already have previous experience with this sort.

If you are a maintainer of #nix, #nixpkgs or #nixos: listen up.

You've got about 2 years or so being a serious contender, until someone like #lix or even #ostree with #ComposeFS comes in and eats your lunch.

Part and parcel of that is the community, the language, the security of knowing that there is culpability and responsibility.

Linus Torvalds had to walk it off because an entire foundation told him to. If the nix "community" is beyond this, why give #DeterminateSystems contracts?

@hopland this so much. πŸ˜…

It takes the whole layering approach to the next level with something like #composefs. Something that will be a real contender to #nix current design. All without necessarily require to reinvent the tool you use to packer either. Getting that repeatedly and reproducible struct from the normal built artifact. 🀯

@zeab @hopland

For me, Red Hat is good at recognizing an emerging and innovative approach and introducing their own solution that achieves similar or better results (e.g. Docker vs Podman, Nix vs Bootable Containers...) while maintaining compatibility with existing ecosystems (OCI containers and Systemd, Linux and its Filesystem Hierarchy Standard...)

@alxlg @zeab I used Fedora Silverblue for years because of how they were pushing the envelope - and still are.

The Linux desktop wouldn't be what it is without the Fedora community, which is also - incidentally - one of the best Linux communities out there :)

When I recommend a distro to newcomers, I recommend Fedora.

@alxlg @hopland which the end result being we all benefit from these changes. There's a reason why most of the standard stack of #linux has so much of #redhat designed in it.

Not everything they make is even great. But it being contributed back to the community, definitely is. Which then lets the community to learn from. Building the future together with those learning. πŸ˜…

I state all of this while also using popos, debian based distros everywhere. 🀣

@zeab @alxlg everyone gets to benefit, which means the underlying technology, that maybe complex as heck - like systemd - is vetted in a decentralised manner.

But the reason I sort of went away from Fedora to NixOS, or one of the reasons, is that Europe needs its own community distro that pushes envelopes - because RedHat, being on the Fedora board, is a US company owned by Big Blue.

I thought NixOS could be our alternative with extra benefits, but now I'm kind of rethinking that.

@hopland @zeab

I thought exactly the same about SUSE but sadly they are missing the train of bootable containers and related technologies.

Also, Podman is such a blessing. I don't know another decent way to run software in production where Kubernetes is an overkill.

Ah, and Ansible: filling all the holes when it comes to declaratively define systems.

I never liked Nix: too revolutionary approach.And an European equivalent of Red Hat would need much more then Nix.

@alxlg @hopland I done the full overkill with kubernetes and the full declarative idempotent model with nix. Both professionally and personally. Nix is EXCELLENT for development, but TERRIBLE for deployments.

OCI is a lot of things, but it does package artifact right in my book. I now leverage nix solely for getting my devenv. Packaging though,, I actually don't use it anymore. I moved to using container images solely. Taking all the exp of nix, but applying to containers.

@zeab @hopland

Probably you already know it but here there is an article on Nix + OCI images that I also happened to cite in my bachelor thesis:

https://grahamc.com/blog/nix-and-layered-docker-images/

Optimising Docker Layers for Better Caching with Nix - Graham Christensen

@alxlg @hopland very much so! A lot of the design I've used came from that same article. I use(d) the nix2container functions. All with skopeo on release of an artifact. 😎 Works immensely well when you spend the time to build this way.

The problem I learned however, is that this type of way of building an image is not intuitive. And mostly benefits typed languages. Example, python can be extra painful using nix to package versus containers for the build stages. 🫠

https://github.com/nlewo/nix2container/

GitHub - nlewo/nix2container: An archive-less dockerTools.buildImage implementation

An archive-less dockerTools.buildImage implementation - GitHub - nlewo/nix2container: An archive-less dockerTools.buildImage implementation

GitHub

@zeab @hopland

Thank you for sharing, I need to dig deeper into this... but I'm so curious now: why typed languages?

@alxlg @hopland the packaging tends to require compiled stages. Meaning, you have a requirement on build phase to have all dependencies available prior to starting compilation.

Not so with dynamic languages. Their packaging reflects that. So you see things like downloading assets and what would constitute vendoring in other stages of creating an artifact.

Not a fallacy on nix, but can be a crippling impact when you try to make languages follow proper dependency handling for builds.

@zeab @alxlg gosh darn it, we all got into nix to build containers? Geez. I thought I was being original lol

Anyways. I think nix will allow me to create images to deploy nanoservices... yes.

We all know what a microservice are, and I'm sure "distroless" is a path most people are taking, but think webassembly in a box as a supposed "nanoservice".

It can allow us to bridge the gap between containers and web. Sqlite can be built as wasm, and so can ffmpeg. The uniformity is key here.

@hopland @zeab

When it comes to WebAssembly and Components in particular what I really hope is accessing the ecosystem of one language from another one...

@hopland @alxlg I'm totally with you. I even wrote an article about this subject with #wasm like five years ago. πŸ˜…

Webassembly as the runtime is what make immense sense. But package distribution is still what is not agreed on. Though I have seen oci used here as well and it works. Just not full adoption as with application containers tech like docker.

https://baez.link/write-once-for-web-assembly-run-on-everything

Write Once for Web Assembly, Run On Everything

If you ever heard the phrase 'write once and run everywhere' then you know there's definitely difficulties in writing for multi architect...

A Bit

@alxlg I recently saw an abstract for a presentation by a SuSE person on how to achieve (essentially) bootable containers with SuSE. Since they're a bit behind with this, I'm sort of hoping they'll just end up also deploying and supporting bootc instead.

Disclaimer: I don't work on any of this, and bootc is actually causing me more headaches than it solves for me right now.

@neverpanic

I understand, I guess it's normal at this stage of development.

Anyway, I am a really happy uBlue Aurora user and for me that's already "bootable containers" despite the use of RPM-OSTree instead of Bootc :)

@hopland as a nixpkgs maintainer I'm super confused about this message. nixos and nixpkgs is the real main value here, regardless if you use nix, lix, tvix or whatever package manager you prefer. If you're an enterprise and want to use dnix because of mdm or whatever that's probably fine too. Don't see what all this drama has to do with nixpkgs/nixos.
@marcus all the drama is the issue. Have you read the posts? Do you think that language is positive? Do you think this is the way forward?
@marcus also, how is a fragmented eco system like this competitive against say RHEL? Keep in mind that RHEL has a super solid community base (Fedora) to fall back on.
@hopland personally I have no interest at all in RHEL, or any other non-declarative Linux distros, and no goal of competing with IBM. :) I just want nixpkgs to have all the things I need to be productive. I’m more worried that all this constant struggle is burning out contributors.

@marcus perhaps there should be a movement towards resolution. The leads can for instance A) make clear directions and goals people can believe in and follow, or B) clearly oust the people who are concerned and make it clear what the intention is.

I think that they are trying to avoid an optics shit storm instead of facing it head on, and it's clearly to avoid the issue.

RHEL is a peg to what can be seen as enterprise grade software, suitable for governmental and military application.

@marcus like when I say "being taken seriously", I mean being something that can be used generally. If not? Why bother?

Why learn this system when I'm ahead of the curve of servicing some SaaS from a level that hasn't been seen before? I mean nixpkgs, being forked, turned into an enterprise edition, including the tooling?

What if dnf's and rpm's had different editions depending upon whether or not you had Fedora or RHEL? The community edition is a foot on solid ground.

@hopland I didn’t say there’s no issue. Just confused by your post calling out nixpkgs maintainers and saying Lix might eat our cake when afaict some of the most negative posts in that thread is by people from the lix camp. Also super tired of drama.

@marcus the thing is, if a declarative system is going to take hold, it's going to be the one that is most serious - much like AI. It's a race. This is the point I've been belabouring.

Fragmentation and internal turmoil by way of divide and conquer is a bad sign. In the end, what you and I believe means little in the long run of things. Me as a user, you as a maintainer.

But the whole situation is indicative of deeper issues that cannot and will not be ignored. I'm observing the fact.

@marcus also, do you know that drama stems from stress? It's never the source of the issue, but a symptom. It could be a symptom of certain people's personal problem, which would be undue stress - in the community.

Would you say it's undue stress, or that it's fabricated? Why?

Someone is going to eat my lunch? I've been commiting for 10+ years and I never got any lunch.

@emery damn, I was too late...

It happened 10 years ago lol

But yeah, squeezing between the lines: there is a point where someone will come out with a nix compatible solution that is a trustworthy organization with a solid community backing that can and will outshine nix, and again: we're talking adoption on an enterprise level with open source in mind, which includes community.

I am very weary of what solutions to implement, and I'm trying to see where that needle can land in the future.