This is a deep dive into how Stanford's engineers have managed and maintained a forked codebase: what worked, what hasn't, and what we've learned over the years. While Open edX continues to add new integration points for extending the codebase, there are still a number of things we can only accomplish via a fork. We will attempt to answer such questions as "Why did we fork?", "What did we fork?", "What should or shouldn't be forked?", and "How can you make the process easier on yourself?"