Hey, SaiZai,
Just in case you missed my answer to your original question (before all the "legal" discussions started) I'll repeat it here.
Regarding your actual question I'd say go for option 1 every time. A usable program in the shortest possible time makes sense for lots of reasons: programmer satisfaction at getting something completed, user satisfaction at getting their hands on something useful, "prototyping benefit" which often comes as you write the first working version of the program and get lots of ideas for the next version, etc.
Cheers