OpenCPN

OpenCPN (Open Chart Plotter Navigator) is a free software project to create a concise chart plotter and navigation software, for use underway or as a planning tool. OpenCPN is developed by a team of active sailors using real world conditions for program testing and refinement. It has a variety of supported chart formats and allows for data transfer and GPS tracking as well.
OpenCPN uses satellite navigation input data to determine the ship's own position and data from an AIS receiver to plot the positions of ships in the neighborhood.