Hyprland's development isn't what it used to be

5 min read

27.1k

Hyprland's development has been going on for almost 3 years now. It's been pretty much solely led by me for the most time, although recently there has been a few people very active in improving the ecosystem, which makes me glad.

Tonight, I'd like to talk a bit about how the development has changed, and how Hyprland is slowly maturing.

Hyprland's development in the past#

In the past, the main reason for Hyprland's bullet development speed was, well, me. There were things I wanted from Hyprland, a bug that annoyed me. These have always, and will always, be the most compelling arguments for me to work on something. I want to do it.

Obviously though, it wasn't the only reason. Back 1-2 years ago, a new open issue was not that common. Thus, when I saw someone open an issue, and complain about a small thing, it was relatively easy to add, considering the codebase was small(er), and the requests were usually simple to implement or fix.

This is where I got the reputation of my crackhead-level development, where sometimes an issue could be fixed within literal minutes.

However, that has changed, a lot.

I don't remember the last time I closed an issue within an hour, outside of dupes / invalid issues. I don't.

Usually, nowadays, I quietly ignore a lot of issues. Why? Well, reasons include:

  • weird edge case - hard/impossible to repro, can't be bothered to spend 20h looking into it for one person
  • niche feature request - too much work, adds clutter to the codebase, not something giga needed, in most cases scriptable
  • niche bug - if I do A, B, C, then do a backflip and do D, hyprland doesn't do something I expect - great, do it differently then, there are so many options...
  • etc...

A lot of the bugs reported nowadays are not important and I am not joking. Hyprland doesn't really crash anymore, features mostly work, support is there for almost anything you'd realistically want to run Hyprland with.

Hyprland development nowadays#

As Hyprland has matured, my role has become more and more of a... supervisor. Although I do still commit code, quite a bunch of it, in many cases it's stuff I just want to implement, clean up, or actually important fixes once in a while, much of my work has shifted to reviewing MRs.

Many of the newer fixes and features are driven by the community, and I am just there to help people get the code to be clean, tidy, and follow the general rules of Hyprland code.

I mean, hell, the code rate has slowed down, because once you have a working codebase, you don't add 2000 line features every other day, but rather spend 4h hunting a bug that turns out to be 2 lines of a fix.

As the months have progressed, I've steadily noticed a growing trend of days I just don't fucking want to do anything. I still do, it's my (almost) job at this point, but I really don't want to. Sure, there are days where I want to write something (like I recently did with adding the ANR stuff) and I'd still say most of my days are just "meh whatever" rather than "ffs again", but I've definitely lost the "yay I can code" that I had for the first few months of the project... almost completely.

What definitely is still there, are prompt MR reviews. Compared to some other projects, like one named after an american town, or one named after a short creature, you will get your MR reviewed in a day or two. That's a positive for sure. Alright, maybe not the only one, I still write a lot of code, but I'll admit, a bit less than I used to. Man, moving off of wlroots tired me for the next year it feels like, I swear. Was worth it though, for sure.

About the trend#

In general, I think this trend is normal. Unless a project is governed by a commercial entity, with people who have a major financial incentive to continue working, every project sees some form of a downwards trend in development pace.

If the project is big enough, the trend is usually slower, as other people help the "main guy" keep his sanity for longer, plus, contribute their own code.

Going forward#

I am not quitting! Despite all the people around resigning, I am not. I just wanted to share some thoughts about how the development changed, and my perspective on it.

I still spend a bunch of time every damn day on this entire ecosystem (which is just growing and growing...) and have some general plans going forward for some stuff I want in hyprland and the ecosystem.

In general, I am very grateful for the continued support, financial, social, and via code, from the entire community and beyond, especially to those who support me directly. Code and kind words are the most important to me personally :)

I am currently going through some... suboptimal times to say it eloquently due to some personal reasons, so if my contributions are especially low for a few weeks, that is why. Anyways, I'm trying to contribute as much as my head and time allows me to :)

Cheers, and enjoy the software. See ya next time.