Font Size


Submission protocol

Use this page to record corrections to common spelling and grammatical mistakes. This will make sure our changes are consistent.

  • Doxygen-edible, multi-line comment style:
 /** A slash, followed by two asterisks and a space, followed
   * by a capital letter as the start of a sentence. Subsequent
   * lines start with two spaces, an asterisk, a space, then
   * text. The final line is an asterisk and a slash.
  • Doxygen-edible Single-line comment style: A slash, two asterisks, a space, a complete sentence with capitalization ending with a period, a space, an asterisk, and a slash.
/** This is a single-line Doxygen comment. */

The C++ form is acceptable for non-Doxygen comments:

// A C++ comment.
  • Plural versus possessive: parameters -- plural, more than one parameter. parameter's -- possessive form of a single parameter. parameters' -- possessive form of multiple parameters.
  • "its" versus "it's" its -- Possessive. it's -- contraction form of "it is".
  • Separate not seperate.
  • Equivalent not equivalant.
  • OpenGL not OpenGl
  • Color not colour
  • Mipmap not mip map
  • "OpenSceneGraph" not "The OpenSceneGraph"
  • Try to fit in 80 Columns ?
  • Tabs are 4 spaces
  • Remove extraneous whitespace at end of lines, wherever noticed
  • Condense multiple spaces between sentences: good starting place.  The OSG's to
    good starting place. The OSG's
  • Common fragments that could be batch replaced
/** Accept an ConstAttributeFunctor


/** Accept a ConstAttributeFunctor

* Capitalize first letter and insert an extra space preceeding the */ at the end of these common blocks (can be automated):

/** copy constructor using CopyOp to manage deep vs shallow copy.*/
/** return -1 if *this < *rhs, 0 if *this==*rhs, 1 if *this>*rhs.*/

Submissions should conform to the following guidelines:

  • Contributors should subscribe to osg-submissions
  • Submissions should be sent to osg-submissions@…
  • All submissions should contain full, non inlined, files only.
  • Multiple file submissions may be sent as zip/gz'd archive.
  • Submission should provide an explanation of the changes in clear form, explain the motivation for change, the changes made, and the testing carried out to verify the submission.
  • Submissions should be made against the latest version in Subversion, or the last public release. The base version should be clearly stated.
  • Please do not use tabs and indent with 4 spaces.
  • Follow the spelling and grammar rules

Submissions will be rejected:

  • Patches or email copy and paste submissions are not accepted and will be ignored until full files are submitted.
  • Patches against old versions.

Copyright law and Copyright assignment

We are committed to keeping the OpenSceneGraph source code as an open source resources for all, Copyright Law is the instrument that ensures this. When you write code, even a small code submission, the code that you type is under your personal copyright. If you modify other copyrighted works (such as the OpenSceneGraph) then you can retain copyright to your changes, but must honor the original license of the copyrighted work that you modified, in the context of the OpenSceneGraph these means the OpenSceneGraph Public License (OSGPL), so you must republish the work with modifications under the OSGPL, or loose your rights to distribute those combined works. You don't loose the copyright right to your own modifications though, and even when merged with the OpenSceneGraph, those rights are maintained by default, while the rights for collective work is then under collective copyright of the various contributors to that work. The OSGPL like almost all open source license permits this, and is how many open source project work, even ones as large as the linux kernal.

Being a copyright owner also comes with responsibilities - you need to keep engaged with the rest of the collective copyright owners to help make future decisions about licensing. Something that contributors can do is to assign their copyright over to the project leads, and if you are just making small changes to the OpenSeneGraph such as bug fixes and small feature additions we'd recommend this just to keep the number of copyright owners and effective guardians of the source code down to manageable number.

A bit of background reading on Copyright Assignment:

We haven't yet set up a system to formalize Copyright Assignment, so please on your contributions whether you wish to assign copyrights, or retain them. All submissions are checked in with the contributors name so are traceable through the version control system.

Notes for users of Mozilla/Thunderbird for email:

  • Mozilla/Thunderbird has a long standing bug related to declaring that text files should be inline even when attached as attachments. This problem may not be apparent when sending between Thunderbird users, however, between other mail tools such text file attachments are inlined if they are compliant to specs, gmail is such tool. Users of Thunderbird should amend their preferences to not inline text files, or send text files as gzipped or zipped archives to get around this bug.

The fix for Mozilla/Thunderbird is quite simple:

  1. find your users.js file
  2. change/add if not present these two lines:
    user_pref("mail.inline_attachments", false);
    user_pref("mail.content_disposition_type", 1); 

Alternatively, download the AboutConfig extension for Thunderbird and change the settings there.

Modern versions of Thunderbird can use the built-in [ConfigEditor].


  • Projects

    This section provides links to community projects, nodekits and utilities to use with openscenegraph.

  • Community News
  • Events

    Community Events such as conference meetings, shows, lectures and social get together.

  • Merchandising
  • Jobs
  • Maintainers

    This page is dedicated to providing information to distribution package maintainers, to help short cut how much work is required for you to update packages in line with new OpenSceneGraph releases, and who/how to contact us when coordinating your own package releases, build/bug fixes etc. Contact details/links to relevant web pages for the maintainers that we are aware of can be found on our PackageMaintainers page.

    Project contact

    • Project lead: Robert Osfield, robert AT
    • Public user/dev mailing list : osg-users@… (requires subscription to post)
    • Public submission mailing list : osg-submissions@… (requires subscription to post)

    Project build and packaging pages

    The OpenSceneGraph uses CMake for cross platform build, CPack for packaging, and CDash for online reporting of nightly builds.

  • Press Releases