Federico Mena-Quintero
federico@gnome.org 2013
Miguel de Icaza
miguel@gnome.org
Morten Welinder
mortenw@gnome.org
Philip Withnall
philip.withnall@collabora.co.uk 2015
GNOME Foundation
http://foundation.gnome.org/

This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License.

As a special exception, the copyright holders give you permission to copy, modify, and distribute the example code contained in this document under the terms of your choosing, without restriction.

GNOME Programming Guidelines

# Programming Guidelines

# GNOME Programming Guidelines

This article contains several guidelines and suggestions for programmers working in and with the GNOME stack. This is intended for programmers to know about the development processes, conventions and philosophies behind GNOME applications and the stack of libraries supporting them. By knowing “the way things are done” in the GNOME ecosystem, it is hoped that programmers will find use of GNOME APIs and development of new applications easier and more natural, and will produce code which is legible and maintainable over a long period of time by a diverse team of programmers.

This guide has a two-fold purpose:

To give you good suggestions on how to write code for GNOME or using GNOME technologies. This will help you write code that is consistent with best practices, and that will be accepted by the community. This will also lead to code that is a pleasure to work on.

To transmit the knowledge we have gotten over the years on how to keep the GNOME project sustainable, even when people’s contributions increase or decrease.

# General Guidelines

# General Guidelines

# Maintainer Guidelines

# Maintainer Guidelines

# Specific How-Tos

# Specific How-Tos

# References

# References