Software's a tool, not a teacher. If you can get on a class of some sort with other people then you'll probably learn a lot faster (and certainly enjoy the process of learning more) than you will just using some program or other.
LCWO, G4FON, JLMC and Morse Machine may help one way or another, or not, but the objective is to be able to communicate with other people, so it's worth involving others in the learning process from the start.
It took my almost 4 months to work through the 40 lessons, but I found the course with its progress monitoring highly motivating - more motivating than other methods.
The Koch method (used one way or another by G4FON, JLMC and LCWO) is one way to learn the characters, and worth a try for a month (or two), but it's only about learning the characters, nothing more, and it doesn't work for everyone. Keep an eye on that progress, and if you're not getting anywhere, try something else. (I made more progress in a month after abandoning Koch than I'd made in two years slogging away on LCWO. Though I sought advice on the LCWO forums, nobody was prepared to say "it shouldn't take that long" to me, though one or two people said "you must be doing it wrong". I've since met quite a few people for whom the Koch method was a hinderance, not a help.)