Duolinguo feels more like a very annoying ad than a learning tool, often under-explaining what it tries to teach while heavily penalizing and shaming the user for getting things wrong.
What I would suggest, other than hiring an actual teacher, would be to immerse yourself in works from their language, such as music, comics, books, movies, and so on. Also, Spain's Real Academia Española has a dictionary+conjugator site that is VERY helpful, even for "dialects" such as the Latin America variations (link for the tool is dle.rae.es). Finding someone to try to talk to in Spanish may also help, although getting to know some of the grammar beforehand is advised.
Now, as for either free or FOSS programs specifically for learning the language, sadly, I'm not aware of any.