GNOME needs a primer for newbies

Murray, I think you are partially right about Anjuta promoting Glade code. Without a comprehensive primer about the GNOME development process that provides best practices and a checklist, we will continue to see such mistakes. I lurked on the gnome lists for years, and learned a lot about good and bad practices. When It came time for me to contribute code, I was very frustrated trying to locate good information. In the case of glade, there are dozens of tutorials available, most for Python, and most use glade-generate code. I knew this was wrong, but there is not a good document about what is right. In the case of my recently created msearch-gui, I wanted to reuse code from gnome-search-tool, but I found glade-generated code. I was savvy enough to realize that just because I found glade-generated code in the base GNOME packages, that does not mean I should use it.

There are lots of articles and tutorials about GNOME development, many are wrong, and many are on the developer.gnome.org site. We are reorganizing developer.gnome.org, and we will take the opportunity to remove old documents or label them obsolete. The Web site needs to do a better job at integrating the information into a cohesive set of documents that clearly define how to develop without developers needing to hunt for the answers to their questions.

I would like to create an outline of the GNOME development process, and commit it as a project. It would be good to capture the experience of the seasoned developers, and update project as the development process evolves. Providing a checklist will really help developers avoid making revisions to get their code in shape for a public release. Tools like Anjuta and Scaffold should reinforce the GNOME development process by providing features that reinforce the process, and make it difficult to deviate from the best path.