Open Source UML Tools:

ArgoUML, a
free research modeling tool; fairly fully featured; the main goal is to
have a Really Useful user interface, unlike almost all existing CASE
tools; there is a commercial version of this tool that goes by the name
Poseidon and is marketed by a Gentleware; they offer a free community edition
as well as fancier editions that cost real money. Poseidon for UML has limitations, but has the
advantage of being freely available.

DIA, a freeware/GPL
drawing tool based on GTK; supports UML and other kinds of diagrams;
this is intended to be a freeware Visio-like drawing tool rather than a
modeling tool; DIA now comes standard with many Linux distributions.

Umbrello,
a GPL modeling tool that runs under KDE and Linux. This tool supports
code generation as well as reverse engineering (code to UML) for C++ and
Java.

Violet, a very simple GPL
drawing tool written by Cay Horstmann. All of
the comments on UMLet below apply to Violet,
as it is pure Java (single jar file) and very simple to use/learn.

UMLet, a
small, very simple, and easy-to-use drawing tool (as opposed to a fully
fledged modeling tool) from the Technical University of Vienna. It is
free for educational and non-commercial use. While it is pure Java, the
jar file is so small (v1.0 is less than 60K) that it should run well for
most people. This tool will not scale up to heavyweight modeling of
large systems.

Commercial UML Tools:

IBM Design and construction tools, the best known
UML tools (e.g., Rational Rose Technical Developer). These tools are unfortunately rather expensive. It is possible to
obtain 15 day trial downloads of some of the IBM design and construction tools on that same page.

Visio (MicrosoftVisio) designed to be a top notch
commercial drawing tool, rather than a reverse engineering or modeling
tool per se; that is, the tool/stencil lets you draw vanilla pictures
that look like UML but doesn't give you fancy cross referencing between
diagrams. The disadvantage of Visio is that it does not provide syntax
checking for diagrams, so it is possible to draw diagrams that are not
well-formed.

Jude, a free UML tool that
seems to be available in English and Japanese. The authors intend to
create a "plus" version for which they will charge money,
while keeping the basic (fairly fully featured) version free (July
2003).

Cetus (see below also) has an excellent page on OOA/OOD tools,
including (ahem) a link back to this page.

gModeler is a free online tool for drawing
UML class diagrams. It's written in FlashMX.

SmartDraw
is meant to be a competitor for Visio (i.e., it is a drawing
tool rather than a modeling tool).

MetaEdit+
is a "forward" engineering tool for editing design of methods.
It claims to be both a CASE and a meta-CASE tool in that you can plug in
your own subcomponenets. It supports UML plus
several other notations. It runs on Win32 and several Unices, and the Linux version is "free for
non-commercial use" (October, 2003).

Select
Component Architect specializes in UML support to aid in
component-based design (CBD) and business system design. Apparently,
this tool suite has been around for over 10 years; previous names
include Select Enterprise and Select OMT Professional (August 2003).