The document discusses strategies for porting code to Python 3. It recommends either only supporting Python 3 and running code through the 2to3 converter once, or maintaining separate code branches and running 2to3 on the Python 3 branch. It also discusses continuously running 2to3 on code during development. Common porting issues include bytes handling, print becoming a function, dict methods changing, and test failures. The document provides workarounds and examples for many of these issues.