it's a pretty well known fact at this point that gtk+ has a severe shortage of maintainers and developers. It's usually quite hard to get strong contributors in any free software project, but big and complex software like gtk+ only makes things worse :) I've got two ideas in mind to try to improve the situation: - The first one is to implement the well known gnome-love strategy done by GNOME in gtk+. Basically we'd have a maintained list of "easy" gtk+ bugs suitable for starting hackers to get involved into the project. We would set up periodical IRC meetings where people could join and ask questions about the bugs they're trying to fix to experienced hackers. You know how it goes :) I met yesterday with some igalians (www.igalia.com) and did a small trial of the idea, the result can be seen here: http://live.gnome.org/GtkLove.
This all sounds like a great idea. I work for a company that's actively using and modifying various open-source components, including GTK+, and this would be a good way to get involved with the community and learn how to submit changes back to the trunk. Also, some of the listed bugs are for GtkCalendar, and I've been adding features and working on its internals lately, so they'd almost be a slam-dunk.
- The second idea: I've very recently gone through the beginning of the process of becoming a GTK+ contributor. While the documentation concerning the usage of the library is pretty good, the documentation concerning the internals, design and philosophy of gtk+ is scarce, outdated and fragmented. As a very needed complement to the list of easy bugs there should be complete, up-to-date, official document with the most basic concepts a wannabe gtk+ hacker should understand. I'm not even talking about widget specific tips, but stuff like: how the drawing model works, how size negotiation works, how the theming works, the life cycle of a typical widget (a widget inside a container), etc. There's good resources about all this topics (GGAD, the docs/ dir, fragments of the API doc, random pages on the web (like Federico's about the drawing model)). I have some very small notes (mostly links to other places), but if there's interest in this, specially from maintainers, I'd love to work with others in an official document. As a first step we could ask people which topics they generally find hard to understand about the way gtk+ is designed.
This sounds great, too.For instance, I've written a cell renderer that has a bug related to size negotiation. The cell contains text, and we don't want its containing list to scroll horizontally; instead, if the text is too wide for the list, we want the text to wrap and the cell to get taller. How to do this? Who knows? Once I figure it out, I'll be happy to write documentation - and if anybody has pointers, tips, starting places, etc., it would be much appreciated.
- Bob Murphy