Since several weeks, I decided to contribute to the GLib. Mainly because I have spare time to spent and I used GLib a day to day basis for more than 5 years. Since this library helped me a lot with my work, it’s time to return the favour.
For first contributions I made, i wandered around the gitlab issues tracker and pick what I feel able to solve. Now I wonder if there is not a better way to contribute more accurately. Is there a mean to know which tasks I should pick first (roadmap planning, priority …) ?
For skills, I mainly used gdbus , gmainloop , data structure, I/O on unix platform. I used also a lot the GObject introspection and the python binding with pygobject.
May I ask what GLib functions you use with Python?
Because I wonder which GLib functions I should explain for my Nim GTK4 book (http://ssalewski.de/gtkprogramming.html) Some people told me that I should just ignore GLIb, as GLib is mainly for plain C and high level languages generally have own functions which cover GLib. But I would like to explain at least a few useful GLib functions. In the GTK3 examples I used g_strreverse() as one simple example, but that is not that useful.)
GLib.Value would be another one, and then basically all types that appear in other API (GLib.DateTime, GIO.*Stream, GIO.ListModel/GIO.ListStore, GIO.Menu*, GIO.Action*, …).
Thanks for the steady stream of contributions, Frederic! It’s really nice to see people contributing back. We really appreciate the contributions
I’d say you should work on issues which you hit in your daily use of GLib. That way, you know exactly what problem needs to be solved, and you will end up testing the fix quite a lot in your daily use of GLib. If you’re using Python a lot, you may also want to look at pygobject or gobject-introspection issues, as they are closely related to GLib and also suffer from a lack of contributions.
When prioritising tasks for working on, the GLib maintainers use GitLab milestones, although the amount of work we can get done for each release is constrained so that we don’t normally get all the issues fixed.