Recently in OpenSim we’ve started to hear more requests for information about getting started in coding OpenSim itself (as opposed to scripting within OpenSim). This isn’t surprising, OpenSim is increasing in popularity and our current developer documentation is pretty sparse. So this fortnight I chose to spend what blog writing time I have constructing the beginnings of an OpenSim programming guide for new developers. Well, it’s actually called a hacking guide (in the best programming tradition), but I thought using that title for this blog post had the potential for causing needless excitement. The aim of the guide is to make it easier for somebody who is already a reasonable programmer and who knows C# to get up to speed – I don’t think that OpenSim programming is really for people who don’t have some existing skills in these areas.
Actually, to be honest, I don’t think the guide in this very early state is very good at all right now. Probably the only vaguely worthwhile part at the moment is the codebase overview. However, even this is only really the sketchiest of outlines – OpenSim already has quite a few packages and I find that writing such guides always takes much more time than I expect. Nonetheless, it is in a wiki and it does provide some kind of skeleton for further sections, so hopefully it will be improved over time both with people filling out the rubbish bits and making additional documentation requests to our developer’s mailing list.
And I do think this kind of thing is important if we want to fulfill our aim of OpenSIm a general virtual worlds server that can be adapted to fulfill many people’s needs. It’s all very well for us obsessives to work everything out by reading the code and experimenting, but if that’s the only route in to OpenSim programming then we may end up excluding a whole tranche of people who have fantastic and creative ideas but who aren’t the programming hardcases that the core developers are.
However, I believe there is a question as to whether it’s a little too early to start writing such a guide – OpenSim is still very much a rapidly moving target in terms of development and a good proportion of anything written could become out of date almost immediately after it’s done. We’ll see .
So if you are somebody with C# programming experience who is interested in OpenSim, please feel free to take a quick look at the prototype guide as it exists right now, and hop on the OpenSim developer’s mailing list if there’s a particular thing you’d like to see. As is common with open source projects, fulfillment (or even reply) is far from guaranteed, but if there is some development topic you’d like to see more information on I think it’s worth asking. You could also ask directly here, though that does mean I might be the only core developer to see it