Introduction

Observium is its core a collaborative project, and welcomes contributions from its users.

In order to maintain the quality of the software we have strict quality controls on contributions, particularly involving UI elements, but if you read our development documentation and guidelines, you shouldn't have much trouble!

By contributing code you are making a donation of the code unencumbered by licensing restrictions to Observium Limited for use within Observium.

Observium Community Edition is currently licensed under a modified QPL-1.0 license, and Professional Edition under a commercial license. We reserve the right to change the license for all or part of the code at any time.

Design and Development Philosophy

Observium's primary driving philosophy has remained unchanged for over a decade and can be summed up as follows :

  • Minimal User Intervention - We aim to produce a platform which requires the minimum of user intervention. This means a focus on autodiscovery and an emphasis on sane defaults and low configuration requirements
  • Intuitive Aesthetics - We consider good aesthetics and an intutive user experience to be paramount to the usefulness of the platform
  • Code Maintainability - We strive to ensure that our codebase is easy to read and easy to maintain. We prefer to keep an emphasis on code quality over performance and minor optimisation

What can be done?

Our view is that everything can always be improved, so there is really no limit to what can be done.

Key areas of possible improvement include:

  • Documentation
  • New device and MIB support
  • Improving presentation and use of existing data
  • Migration of older code to newer standards

Where to start

  • Check the documentation below
  • Check with the developers on the IRC channel or Mailing Lists what you want to do, to avoid duplicating or doing unnecessary work

There is a lot of code of different ages in Observium, which has evolved through a number of different code stages. Please check with the developers first before taking something as a base to start from, as it may no longer be the preferred way of doing things!

Code Structure and Style

HOWTO