Feature Proposals

= Feature Proposals =

This is a list of feature proposals for future work on OpenSimulator.

The purpose of feature proposals is to provide a semi-formal "write-up" of features that are actively being investigated/worked on, for developers and power users to read and provide feedback. The criteria for creating a Feature Proposal should be the following:


 * The feature should be as modular as possible, and designed in such a way as to have minimal intrusiveness on the rest of the system.
 * The feature proposal should pertain only to OpenSimulator. You may mention how this will affect other software (such as viewers), but technical details and progress should remain focused on OpenSimulator.
 * The feature should have at least one developer sponsor. Users (who are not also developers) wishing to request a new feature may do so on Mantis.
 * The feature should be software-oriented, not content-oriented. Content creation has its own section on the Wiki and elsewhere.
 * The feature should not describe a defect in the software. A defect is where a feature has been implemented, and should work correctly, but due to technical difficulties it doesn't work properly or at all.
 * The feature should require at least a few hours of work for a seasoned developer. Items that can be trivially completed should be submitted as a bug on Mantis, or come up with a patch outright.

The general process of developing a new feature can be described as follows:

1. Get an idea. 2. Refine the idea, and brainstorm on how it could be implemented technically. 3. Write up a feature proposal describing in detail how you would implement the idea in OpenSimulator. 4. Solicit user and developer feedback about the idea: is it generally useful? Is the design clean and modular? Is there sufficient interest to warrant the work, versus the implementation difficulty? 5. Incorporate feedback into proposal as necessary. 6. Implement feature, updating proposal as necessary. 7. ??? 8. Get feature merged to trunk. 9. Update feature proposal page one last time, indicating completion, and providing links (if any) to user documentation describing the final instructions for how to use the feature.

Active Feature Proposals
These feature proposals are actively being worked on. This just means that the developer sponsor(s) consider the feature a work in progress; they intend to complete the feature; and we are still able to contact them. "Active" status has nothing to do with the frequency of code commits, and everything to do with the intentions of the developer sponsor(s).


 * AutoBackup

Stalled Feature Proposals
These are feature proposals that have been abandoned, either voluntarily by the developer sponsor(s), or due to other reasons. A stalled feature proposal can and should be resumed by volunteer developers who find the proposal to be worthy of their time and effort, because we are reasonably certain that the original developer is no longer working on the feature.

Completed Feature Proposals
The features listed below are here for historical reasons, but they are done and implemented into OpenSim in some form or another.

Example Feature Proposal
Here is an Example feature proposal. Feel free to deviate from this format, but I found that it works for me.