GanttProject is an open-source application written in Java. It runs on Windows, Mac OS X or Linux, as long as the Java Virtual Machine runtime is installed on your computer. It can be launched directly from the GanttProject site; or you can download the installation file for your specific operating system and install the Java code to run as a standalone desktop program.
GanntProject has a number of features that set it off from other applications. For example, Gantter.com and most project management applications intentionally restrict the number of colors you're allowed to use to designate your plan's task bars. GanttProject lets you use whatever color you like for your bars, and also apply textures to each of them.
Calendars can be customized by setting what days count as non-working days. However, I found Gantter.com's calendar tool easier and faster to use. Also, GanttProject lacks the ability to break plans down to an hourly schedule -- it can only be used to create plans that run on a daily schedule.
A user interface feature that I really like in GanttProject: Clicking on a task bar automatically highlights the corresponding task name in the sidebar window listing the tasks.
Unlike Gantter.com, GanttProject lets you print your plan charts to paper. It even features a very capable print preview tool. With it, you can perform tasks such as adjusting the width of your chart and clicking through different page sizes to ensure that your plan will be big, and legible, enough to read as a hard copy.
Native Microsoft Project files can be imported into GanttProject -- at least in theory. In practice, a couple of test files in Microsoft's MPP format I tried failed to import correctly or could not be imported at all. Files in the MPX format fared better.
GanttProject loads and saves files in its own proprietary format, along with importing and exporting files as XML. It can also export plans to spreadsheet format in CSV format ("comma-separated values").
One thing that sets it apart from other free applications is that GanttProject can create PERT charts, where the tasks in your plan are depicted as a series of interconnected boxes. You can drag and re-position the boxes to other areas on the timeline, and the pathway lines between it and other task boxes will adjust accordingly. This works well as a quick and easy way to fiddle around with your plan.