Anyone interested in a big community project?

So this idea has been circulating in my head for quite a while. On Linux you have multiple options for desktop environments as well as the option of just using a simple X11 wm or a standalone Wayland compositor. However, I feel that there is currently a void that needs filled.

What I see is that neither Lxde nor Xfce has made any serious attempt at even laying out a road map for moving from X11 to Wayland. In other words, we’re in danger of losing our lightweight linux desktop options, as I really don’t see X11 being a valid platform going forward. There just isn’t community interest in maintaining the code base. I’ve gone so far as to scour the bug trackers of both Xfce and Lxde to see where they stand on moving to Wayland and right now they are both completely stalled.

So what I propose, and I know this is ambitious, is a sort of spiritual successor to Xfce, that is written for Wayland from the beginning. It should leverage existing code where it makes sense (I would like to use Gtk+) while being thoroughly modern and making use of emerging technologies. I would like to see an environment which is highly discoverable with a mouse for less technically inclined users, but which has features which will make for a fast and efficient workflow for power users.

Obviously I think Zig is an ideal language to start such a project. It allows five grained control of memory and efficient resource usage. And it does it while being able to leverage existing code from legacy technologies, which is important.

Like I said, a huge project. Which is why I’m reaching out to see if there is interest, because I know it’s beyond me to attempt something like this alone. But I do like a challenge, and with every new project I try to push myself further. So if there is interest I would like to try.

Based on my experience observing projects like this one pop up in the Zig community, my recommendation is to not hope for people to signal interest from the start because whatever information you get, it won’t be a good indicator of future interest.

From what I’ve seen, the formula that seems to work best is to start working on the project by yourself and then just make sure to share updates on your progress regularly. Maybe through posts here in the forum, maybe by using the showcase channel in Discord, or even by giving a presentation on Zig SHOWTIME or some other conference / event. It’s at that point that you will start seeing people have genuine interest and maybe some will also decide to join you.

Documenting your code and having a clear development process helps with this last point a lot, but you will have time to figure that part out in most cases.

Don’t expect people to be equally invested as you are in a project that doesn’t exist yet, it’s much more easy to find people less invested than you are and grow their interest over time. It will require a good amount of commitment on your side but, at the same time, if you do lose interest after a while, nothing bad will happen, people start and abandon projects all the time and from my perspective it’s part of the process of finding the one thing that really interests you.

On a related note, did you know that there’s a wayland compositor written in Zig? It’s called River.

2 Likes

Yes, I follow the development with interest actually. It’s one of the things that makes me feel that this idea isn’t that far fetched.

I think, however, that a tiling window management paradigm is primarily of interest to power users. Where I see a huge vacuum is in good stacking style compositors. There’s a few, but most are very immature bordering on completely unstable when I’ve tried them.

I do see your point, and I know that code talks so to speak.

From my perspective the point is that people will also want to know you and see how it is to work with you. I don’t mean to say that it’s a popularity contest, but people might reasonably not be willing to subject themselves to a long string of interactions that they’re displeased with for the sake of chasing a big goal.

I also don’t mean to say that you have to be super nice and kiss everybody’s feet whenever they talk to you, but projects that are successful have all kinds of positive secondary effects: people learn new things sometimes from you, some other times with you, discuss ideas, etc. I think that most projects don’t succeed not because of lack of technical skills, but rather because for one reason or another the development process is not enjoyable enough to make people want to come back for more.

I still remember when I saw Zig for the first time I was initially pleasantly surprised by the design choices, but what really sold me on the project was watching Andrew interact with other contributors.

Anyway, I wish you the best of luck in case you decide to push forward with the idea and if you get to the point where you feel like you want to give a talk on it, you know where to find the call for speakers form to come on showtime :slight_smile:

Also feel free to discuss this and any other Zig project in the showtime discord server, it’s meant to be a space where people that want to invest in Zig can chat.

2 Likes