We in the Vala community love the language, but we are concerned about the lack of progress, and in particular our inability to get changes (fixes) into Vala.
I’m not going to surprise anybody by saying that Vala is not seen as being very actively developed. This is most famously expressed in Emmanuele’s post from 2017, which links to a mailing list thread, which back in 2016 was raising much of the same issues I want to raise with this post here, a decade later.
You might argue that as a programming language, Vala doesn’t need to come up with new and exciting feature every month to be considered successful; on the contrary there’s value in being a stable base for people to build on. However: there’s a number of improvements we should keep doing to Vala, such as fixing known compiler & codegen bugs, supporting newer GLib patterns, improving and updating VAPI/bindings, completing support for D-Bus, and so on. There are actual language features we’d like to add, too, such as constraints on generics and async lambdas/delegates.
The thing is, Vala is not exactly unmaintained. There is Rico, whose work we are grateful for. However, Rico evidently doesn’t have enough time/cycles/funding to even review & merge others’ work.
That is to say, other people’s work, patches that fix important issues, cool language additions, they sit in the bug tracker for month and years, unmerged, unanswered, frequently completely unacknowledged. This is frustrating and demotivating for the contributors. So the few people who do get interested in contributing to Vala (in spite of it not being actively developed), they get demotivated and stop contributing.
I want to stress that this is in no way a criticism of Rico: maintenance of a project takes time and energy, and it’s totally understandable that Rico can only allocate only so much of his to Vala, but not more. I’ve been on both sides of this kind of situations, I’ve been the maintainer/reviewer who stalls others’ contributions and project releases for months and years because of my lack of cycles and eroded interest (see Darling, wl-clipboard).
Yet, this causes so much frustration for us contributors & community members. When new people arrive and want to try out Vala, they quickly run into issues (to name just one: the reference cycle leak in closures). At best, they can be persuaded not to give up, and to maybe even implement a fix for the issue they ran into… and then the MR goes ignored for weeks and months and years, and the person has long given up.
However, Vala is not in a place where we could just declare it unmaintained, appoint someone a new maintainer and proceed from there. It is somewhat maintained! It’s neither here nor there, it’s stuck in this middle ground.
Rico is sometimes online in the Matrix Vala room, but only sometimes, and I never got a reply to my attempts to ping him about this issue.
I’ve talked about this to a few people (to name some names: Alice, Lorenz, Florian S., Ivan), and one recurring suggestion I’ve heard is I should file an MR adding myself as a maintainer. But that’s not what I’m pushing for, I want to be a prolific contributor, not a sole maintainer! — and of course Rico has a lot of experience with and knowledge about Vala that I lack; I couldn’t supplant him if I wanted to. Besides, the last thing I’d want is for this to resemble some sort of hostile takeover or cause a discord in the community. If we do something, let’s do it amicably.
I guess I could see a model of governance where several active contributors co-maintain Vala, review and merge each other’s work. I’d be up to be a part of such an arrangement, but I haven’t found enough interested people to actually do something like that.
Alternatively, if we can keep Rico in charge, and just somehow fund his work, so he could commit to regularly spending time on maintaining Vala — if only to get others’ work in — that’d be a great outcome too!
I’ve been trying to talk about this situation (and this post is another instance of me doing that); but this all is also moving nowhere on the meta level. You can imagine how this frustrating it is for me too.
I believe that Vala is a great language that really has a unique combination of qualities, and one that can still have its day (once again). Clearly it should be important for us in GNOME (whether we like it or not), because a chunk of GNOME is written in it, including a bunch of our core apps. Elementary people are building their whole platform on it, so they should care about keeping Vala up too.
Let’s discuss this more openly as a community.
How do we move forward? Let’s work something out, please?
Could we hear from Rico? (maybe even from Jürg?)