Workflow

From JQuantLib

Jump to: navigation, search

Knowing the big picture

There are many ways to learn what needs to be done and/or stay tunned:

  • Read documentation available in our Wiki
  • Post your questions to our mailing list
  • Participate in our IRC channel
  • Monitor issues (see Mantis, below)


Mantis is your friend

Mantis is the issue management system we use.

It's very important that developers create new issues in Mantis:

  • Sometimes a bug cannot be solved immediately for whatever reason, so... create a new issue in Mantis.
  • Enhancements are welcome in Mantis too. Doing so, we will schedule your idea for discussion and eventually for implementation.
  • When reporting issues, take some time for writing detailed enough descriptions and make yourself understood.

Use Mantis to find what needs to be done:

  • You can order issues by priority: this is the best way to understand what we have to do next.
  • You can also filter by categories, etc, etc when you select Advanced Filters
  • When working in pairs, you can filter by Assignee and share work load with your fellows.
Your username/password in Mantis is the same you use in our Wiki. Remember that usernames are always all lowercase


Quick workflow

  • Have you read the first topic Mantis is your friend? You can find yourself which tasks need to be done.
  • Login to Mantis and assign the task you've chosen to yourself;
  • When you finish it, mark is as RESOLVED;
  • Do not keep too much assigned issues in your bucket.
  • If you figured out you cannot solve an issue for whatever reason, leave detailed notes on it so that someone else will be able to continue from the point you've stopped. And then return the issue to the pot.


What about my personal interests, priorities and style?

Some people are not interested on solving issues we have in Mantis: they have their own personal interests and priorities. They think that something in JQuantLib should exist or should be translated but before our plans point out. For these people, we have to say:

  • Your contribution is welcome anyway;
  • Your contribution must be an entire patch which compiles and passes unit tests properly;
  • You must follow some design philosophies we adopted in JQuantLib, aiming to obtain (1) maximum performance, (2) strong type checking and (3) excellent documentation;
  • You must follow the basic philosophy of JQuantLib which is "Implement QuantLib/C++ properly in Java", which means that the code you translate must be closely related to original QuantLib/C++ code. The object model and APIs you create in Java must be very very close to original QuantLib/C++ code. That's why this project is called JQuantLib :)
  • We reserve ourselves the right to reject your patch or postpone its integration in the code base.


Remember we are all humans

  • If you are in trouble with your currently assigned tasks... shout aloud for help!
  • Do not spend your life with a problem: communicate your questions in our mailing list and your friends will be happy to help you.
  • This is an open source project being done by volunteers during their spare time. Be patient, things may take a while to happen.
  • Communicate well and offer help: because a community of friends is much stronger.


Richard Gomes 02:01, 1 December 2009 (UTC)