This document discusses principles of PHP package design. It covers principles for cohesion like the Release Reuse Equivalency Principle which states that a package's granule of reuse should be its granule of release. It also discusses principles for coupling like the Stable Dependencies Principle which states that packages should depend in the direction of stability. The document advocates designing packages to be reusable by applying principles like the Rule of Three which suggests testing a package in three different applications before publishing.