Use ArgoUML.
Report bugs & suggest enhancements.
There are bugs in ArgoUML. When you use ArgoUML you might
encounter them where you least expect it. To help, make sure they are
known about i.e. that there exists an issue in Issuezilla describing
the problem. You need to be a registered user at Tigris to report bugs
but notice that to add further comments to the issue you also need to
have gotten a Role in the ArgoUML project.
Like all good open-source projects,
ArgoUML is evolving to meet the needs of its users.
We can only do this if we know what users need,
so please file enhancement requests.
To help the developers prioritise work on bugs and enhancements,
vote for the ones that you really care about.
You need to be a registered user at Tigris
to report bugs and enhancements (and to vote for them)
but notice that to add further comments to the issue you also need to
have gotten a Role in the ArgoUML project.
Subscribe to some of the users' mailing lists.
Discuss how you use ArgoUML in your project and how you promote
ArgoUML in your organization.
You can also help other users with their ArgoUML-related problems.
There is one users' mailing list for each language project
(Spanish, Swedish, Chinese, ...)
for the users that prefer to discuss ArgoUML using that language.
These are not currently (May 2006) very active but the
main list, the English-speaking list at users@argouml.tigris.org-list, is.
In some cases there are also users' mailing lists for the specific
subproject, for discussing these specific features or uses of them
(cpp, andromda, ...).
Prefer those if your discussion is for that area.
Apply for an Observer role.
This shows that you are committed to the project and also allows
you to comment on issues.
Familiarize yourself with the project and how we work.
Suggestion on how to go about this:
Read through most of the User manual and install and run
the latest version of ArgoUML.
Subscribe to the issues list.
You will get updates on all issues so you can monitor what
we are doing in the project. (It could be a lot of mails. If it
turns out you don't like watching issues in this way, you
unsubscribe!)
Subscribe to the commits mailing list
of the project that you are interested in.
You will get updates on all changes that are done to code,
documentation, and the web site. (It could be a lot of large
mails. If it turns out you don't like watching what is going on
in the project in this way you unsubscribe.)
Read the process part of the Developers Cookbook
at Chapter 9, Processes for the ArgoUML project.
This will give you the idea of how the ArgoUML project
attempts to release with good quality and especially how we
use Issuezilla.
Get the Observer role granted.
You can apply for the Observer role in any or all of the argouml projects
if you like.
Choose the ones you are interested in.
From this point on you can comment on bugs yourself directly in Issuezilla.
You can also verify issues according to the verification
process (see Section 9.5, “How to verify an Issue that is FIXED”).
This will help you understand the terminology used in the
project and also gives you an idea of the current quality of
ArgoUML and what needs to be done in the future.
This is also a very low-commitment level task that could
be completed in a couple of minutes (depending on your choice
of issue).
Read the rest of the Developers Cookbook.
There is a lot of stuff discussed in here that is
interesting for your understanding of the project and the
code.
Check out the source from subversion and build.
Subscribe to some of the dev mailing lists.
There is one dev mailing list for each project
with the purpose of discussing the specifics for that project.
Subscribe to as many of them as you'd like and take part.
The purpose of this is to see what the developers are discussing
in the project.
Monitor the discussions and as soon as you see something
discussed where you have an opinion, jump right in!
Familiarize yourself with the code.
For this a good knowledge of Java is more or less a prerequisite.
Suggestion on how to go about this:
Take active part in the discussions on the dev-list.
Solve issues registered in Issuezilla or fix other things that you
want to pursue.
Convince someone to commit your changes.
Establish a relationship with one developer of the project you want
to work with.
That developer will check that your code reaches the quality level
that we strive for in the project and obeys the design.
Repeat.
This can go on until the developer helping you knows that
you have good knowledge of the project quality and
design and
the main problem for you two is that
sending,
waiting,
committing,
updating et.c.
is extra work.
Apply for a Developer role in the project where you want to contribute.
This allows you to do commits on your own and you can now increase
the pace in which you are working while also increasing your
responsibilities in the project.
This role is granted by the Project leader after he is convinced
that you have learned enough about the project with regard to:
Understanding and accepting the goals.
Understanding where we are in the development process.
Understanding the terminology used in the project.
Understanding how we use subversion in the project.
Understanding the set of tools (ant, JUnit) and how to use them.
Focus your work in a specific area.
Everybody has different interests and the best contribution is
made when someone is allowed to pursue his own interests. Hopefully
ArgoUML provides you with interesting challenges to your taste.
Accept responsibility for a specific area.