Contribute to the Perl Driver

The easiest way to contribute is to file bugs and feature requests on JIRA.

If you would like to help code the driver, read on.

Find Something to Help With

Fix Bugs

You can choose a bug on JIRA and fix it. Make a comment that you are working on it, to avoid overlap.

Write Tests

We would be grateful for any and all tests people would like to write.

Add Features

If you think a feature is missing from the driver, check on IRC or the mailing list, then go ahead and create a JIRA case and add the feature.

Contribution Guidelines

The best way to make changes is to create an account on GitHub, fork the Perl driver, make your improvements, and submit a merge request.

To make sure your changes are approved and to speed things along:

  • Write tests. Lots of tests.
  • Document your code.
  • Write POD, when applicable.

Bonus (for C programmers, particularly):

  • Make sure your change works on Perl 5.8, 5.10, etc. and Windows, Mac, Linux, etc.

Code Layout

The important files:

| perl_mongo.c # serialization/deserialization
| mongo_link.c # connecting to, sending to, and receiving from the database
- lib
   - MongoDB
      | Connection.pm # connection, queries, inserts... everything comes through here
      | Database.pm
      | Collection.pm
      | Cursor.pm
      | OID.pm
      | GridFS.pm
      - GridFS
         | File.pm
- xs
   | Mongo.xs
   | Connection.xs
   | Cursor.xs
   | OID.xs