Legalization will not happen in the US, in my lifetime.

The best solution, over the next 20 years is:

1) Decriminalize, with civil penalties for smoking in public, driving under influence, selling to those under 18.

2) No penalty for prescribed medical users.

3) No penalty for home use (use or cultivation).

4) License suppliers for medical purposes.

18 should be the legal age of majority for everything. Alcohol/Weed/Cigarettes/Porn/.....