Fabien Potencier began work on Symfony 2 two years ago with a new code base, but realized starting from scratch required too much work. He incorporated ideas tested in the new code base back into Symfony 1. Symfony 2 will be an evolution of Symfony 1, adding new libraries like a dependency injection container and template layer while maintaining compatibility. It will learn from other projects like Rails, Spring, and Django. Symfony 2 focuses on reusability through a new service container that enables dependency injection and configuration of core components.