How can I love Zig if zig doesn’t love me back?

I’ve been contributing to Zig since 0.9.0, largely to upstream fixes for the Zig Fedora package which I’ve maintained for pretty much just as long.

Those are 5 years of my life that I have spent trying to bring Zig to people and I think I’ve finally reached the end of the road: I’m no longer going to contribute to Zig and will start ramping down my work on the Fedora package.

During those 5 years I’ve been juggling other responsibilities as a distro maintainer, student, employee, and more, and I’ve finally reached the point where I don’t have the energy to keep going anymore with my options being either to cut responsibilities or suffer the consequences.

I choose to cut my largest responsibility, Zig, because how can I love something if it doesn’t love me back?


The largest issue with working on Zig is my inability to break through into discussions with upstream, most attempts at dealing with things fall on deaf ears, and any attempts to contribute to a discussion with the view from a distro are at best ignored and at worst questioned as something that should have been done differently, as if I had power to steer an organization of people towards a direction that suits one specific project.

Part of that is on me, being neurodiverse I struggle with communication and have issues understanding people, which manifests itself in me not wanting to force myself on anyone. I don’t believe I am any more important than a random Joe, so who am I to send direct messages to the developers? In my eyes doing that will at best result in being ignored and blocked and at worst permanently ousted from the community, even if prominent community members tell me that I should do exactly that. Though the fact that even in Twitch streams I manage to get actively ignored while messages directly around mine get acknowledged makes it feel more like I have transgressed in some way that I am not aware of.

Regardless of what it is I no longer have the energy to keep going and will instead leave with the feeling that I am not welcome.

I’m currently in the process of looking for a co-maintainer for the Zig package who can sooner or later replace me completely, people have started to build other packages around Zig and I feel it would be irresponsible of me to just drop that weight on them with no grace period.

The Community

The second largest factor in my quitting is the community:

Outside of the constant unwarranted criticism for a packaging process that most in the community cannot and do not want to understand, the Zig communities all suffer from some sort of issues:

  • The Zig Discord has a prominent community figure and moderator who refers to the LGBTQIA+ as a “kink” and users can be openly transphobic in your DMs, but if you bring it up then you are the one causing problems. Most long-term users have completely abandoned the server but it remains the largest Zig space to date.

  • The constant evangelism of high-profile individuals such as Mitchell Hashimoto, Jarred Sumner or Joran Greef to the point where people see their existence in the community, even if it negatively affects it, as a positive to boost Zig.

  • The overall inability for the community at large to introspect upon criticism it holds towards other programming language communities.

Software You Can’t Love

Software is coarse, unmoving and uncaring, it is the people around the software that are most important and whom you should give your love to.

If things aren’t working out and the relationship with the people around software is rocky at best then maybe it is time to move on, you can love software but will never love you back.

As a Developer

Will I continue using Zig as a developer? Maybe idk. I already have some projects written in zig which I will continue using as long as updating it will be low effort. Some other projects like a vendoring tool or a tool to integrate to and with cmake projects will break with 0.17 and upstream is disinterested in these use cases so they will be deprecated. There are still some incomplete Zig projects I was working on and I don’t know if I will finish them or not, long-term I will probably rewrite them in another language.

Conclusion

I hope that by leaving Zig can become Happy and that I can learn to be happy myself.