Have you seen OpenSeaMap ?