I'm not personally familiar with free or open source data recovery products.
GetDataBack is pretty easy to use and relatively cheap, as far as I know. It's been my go-to tool for about 8 years now in cases of data loss. It's relatively fast too.
Just run it against your drive and I'd imaging that as long as the drive motor isn't failing or the platters aren't physically damaged, you're likely to be able to recover most of your data without issue.
Important: Do not format or begin writing new files to the drive. Any changes to the drive you make prior to running a recovery have a great chance of overwriting previous data on the drive and lowering your chances of a complete and successful recovery.
UPDATE response to comment:
It appears as though your drive is undergoing progressive drive failure. This is serious. If you do not run a recovery procedure on your drive now, your chances of data recovery will continue to diminish.
In order to maximize your chances of successful data recovery, you should place your drive inside two or three new and clean ziplock bags and place it in the freezer for an hour or two. This will cool the drive down and minimize the chances of further damage.
While the drive is cooling, assemble whichever tools you choose to use for the data recovery on your computer.
Remove the drive from the freezer and connect to the computer and run the recovery steps as quickly and efficiently as possible. It is critical that you keep the drive as cool as possible during this process. Leave the computer open and point a fan into the system. Do not place the drive into a drive tray as this minimizes the airflow around it and allows for quicker heating of the drive.
All these processes are to maximize the time you'll have to run the necessary recovery tools and thus maximize your chances of successful recovery.