Another vote for OpenCPN. If you install Ubuntu, and include the OCPN repo in your software updater, you will always have the most recent release. It is really becoming quite rich in features and available plugins.
As others have pointed out, US charts are free, and are frequently updated. There are "unofficial releases" of the excellent CM93 world chart portfolio for which nobody seems to be collecting payment for, and this can be a handy tool for planning long routes, but because the charts are so out of date you should get the official and up to date large scale charts for any foreign inshore waters you might transit.
Another thought... As a backup, pick up a Samsung Note3 or Mega, or similar size and quality android device, and install
Marine Navigator. There is a similarly named app called
Marine navigator, the N not capitalized, with a seahorse in the icon, and I don't recommend it. Marine Navigator, the good one, has a sailboat over a chart for an icon. Very versatile and functional. Another good app is MX Mariner, which I like except installing your own charts is a somewhat convoluted process. However if you never leave US waters, it is fine, and actually seems to do a better job of quilting charts, and switches more smoothly. Unfortunately, neither app will
work with CM93.
Navionics offers reasonably priced paid apps and charts for many cruising areas. The nice thing about a smartphone as a self contained portable handheld backup chart plotter is it is self contained and very portable. GPS is generally built right in. You can carry it out into the
cockpit with you. A zip lock bag makes good expedient weatherproofing. Best of all, it is totally unconnected to your primary plotting device, for true redundancy.
I recently bought a BU353-s4 USB GPS for I think $34 and it works great on the laptop with Ubuntu. I was also gratified to find that my old gps dangle that came with Microsoft streets and trips works great under Ubuntu, as well. Thanks for the free
Linux GPS, Bill!
Lots of free or low cost options out there, if you already have a laptop or smartphone or both. Or you can pay, and the sky is the limit. You might consider a weatherproof dedicated plotter for the cockpit, but I am fine with my android in a ziplock. For your
navigation workstation, the laptop solution is much more versatile.
You could also run Linux on a rooted android tablet. I found the process to be kind of tricky but I did get it to
work. Running Linux allows you to install OCPN and use the CM93 charts. There is a good thread on how to do that. I could not get the app to recognize the built in gps, but since then, there are tools for interfacing to an external gps.
Of course we would all love to see an android app that reads CM93 and other charts currently unsupported on android, or a port of OCPN to android, but that will likely never happen.
Since I passionately hate ios, I will let someone else mention
inavx and other apps for
iPhone and
ipad. I find them fine for US waters but pretty much useless when you want to use other charts you already got, even if your idevice is jailbroke. Ymmv.