Hacking OpenSim for fun and profit

=Hacking OpenSim for fun and profit=

Introduction
So, you're a freshly arrived coder who wants to hack (in the programming sense) OpenSim for fun and/or profit? Well, you've come to the right place! Welcome to the OpenSim hacking guide, an evolving (possibly) document that aims to tell you the basic things you need to know about OpenSim to start changing/extending/adapting the code. This document is aimed at programmers who are already comfortable with c# and standard tools such as command lines and source code repositories. If you don't know about these, please go and learn that stuff first.

We're going to aim to cover three types of topics. The first type is basic infrastructure setup stuff - what programming environments are available, how to get the code, etc. The second is an overview of the OpenSim code base - how the top level packages are segregated, where certain functionality is, etc. The third is general code contribution stuff, such as programming standards and the patch submittal procedure.

Please be aware that OpenSim is a young, vigorous, healthy codebase. It's growing fast and likes to run around a lot. So what we document here may well be out of date almost immediately after its written. Moreover, this guide itself is very young and may be missing big bits of useful information. But hey, nobody's perfect. And in the best wiki tradition, please please please feel free to fill in the blanks if you're able, either with new writing or with pages already elsewhere on this wiki. Okay, let's get started.

Coding infrastructure

 * Setting things up on Linux
 * Setting things up on Windows

Codebase overview

 * Codebase overview

Code hygiene and code submittal

 * Coding standards
 * Submitting code to OpenSim