Contributing

AweMUD is still very much in the early stages of its life. There are tons of missing features that need to be added, and plenty of work to be done on the documentation and testing fronts. There's always room for more willing contributors!

What to Work On

A number of bugs or Todo items may be found in our <a href="http:bugs.awemud.net">Issue Tracker</a>. You can use the bug tracker to ask for comments with a bug or Todo item if you are interested in tackling it, but aren't sure how.

Finally, several of the projects on the site have Todo files in their source tarballs. These can be checked to see what features are planned or necessary.

With all three of the above measures, be sure to double check their accuracy! It is possible for features to be completed or bugs to be fixed while the status pages, bug tracker, or Todo files are left unmodified and stale. If you're not sure if a feature or bug has already been taken care, feel free to ask on the mailing lists or forums, or on the bug report for issues already filed in the bug tracker.

Getting Started

AweMUD has two main "versions" of the software. The first is the release version, which can be found in the Downloads area of the AweMUD.net site. The second version of the software is the development branch, which can be downloaded in the form of the <a href="http:www.awemud.net/snapshots/awemud-snapshot.tar.gz">snapshot</a> distribution.

Once AweMUD is built, you can start working on your changes!

Development Discussion

When you have an idea, or a question about a modification, you should direct it to the awemud-devel mailing list. Do not send personal mails to Sean or any other developer; these are highly frowned upon. We try to keep development transparent and open, and this requiremes that discussions happen on public mailing lists.

The <a href="http:groups.google.com/group/awemud-devel">awemud-devel@googlegroups.com</a> list is also a good place to ask for ideas on new features. AweMUD is constantly evolving; there is always something new to be done. If you can't think of a good place to start with your contributions, someone will probably have a good idea for you if you ask. You can also check the TODO file in the AweMUD source, which has some brainstorm ideas that haven't been taken care of yet.

The only exception is security related issues. Do not report security holes to the public mailing list or the bug tracker. Report these personally to <a href="mailto:elanthis@awemud.net">Sean</a> or another developer. Reporting security holes in the public before a fix is available for download can cause serious harm to users of AweMUD; malicious hackers could use the information to break into AweMUD servers. Security concerns will be taken care of with the utmost urgency, and updated releases will be made available.

Programming

The AweMUD source code is written in C++. You will need to know how to code in C++; the AweMUD team will not act a tutor. There are numerous books and online resources available for learning on to code in C++. Additionally, you will need knowledge on the GNU Autotools for managing the build system.

Documentation

The preferred format for documentation is Docbook XML. Docbook XML is a language that lets you write up a document without worrying about presentation, similar to HTML. The tools provided will convert the source file into the appropriate output files, including HTML, plain text, and PDF.

Documentation should be clear and concise. Well written English is also a requirement. The purpose of documentation is to assist a user who is having trouble. If the documentation makes assumptions that the user already understands the concepts being discussed, or if the documentation is written in a confusing manner, then the documentation has failed; there is no reason for it to even exist.

Where possible, examples and mini-tutorials should be presented. Many users find it easier to learn when given specific instructions they can follow. Additionally, any steps in a tutorial or example should be thoroughly explained.

Copyrights

Copyrights are taken very seriously with AweMUD. Simply put, whoever writes the code/documentation owns the copyright. This is basic law in most countries. Nobody else can claim copyright on your work without express written permission. When you contribute changes to AweMUD, it is you, and not the AweMUD lead developers, who owns those changes.

When submitting code to AweMUD, the code must be licensed under the new-style BSD license, the MIT/X license, or be released into the public domain. We do not accept GPL/LGPL code.

If you modify a file, please add a note to the license notice in the file listing your name, the year the change was made, and a very brief summary of the changes made.