  We introduce a framework for constructing a quantum error correcting code
from any classical error correcting code. This includes CSS codes and goes
beyond the stabilizer formalism to allow quantum codes to be constructed from
classical codes that are not necessarily linear or self-orthogonal (Fig. 1). We
give an algorithm that explicitly constructs quantum codes with linear distance
and constant rate from classical codes with a linear distance and rate. As
illustrations for small size codes, we obtain Steane's $7-$qubit code uniquely
from Hamming's [7,4,3] code, and obtain other error detecting quantum codes
from other explicit classical codes of length 4 and 6. Motivated by quantum
LDPC codes and the use of physics to protect quantum information, we introduce
a new 2-local frustration free quantum spin chain Hamiltonian whose ground
space we analytically characterize completely. By mapping classical codewords
to basis states of the ground space, we utilize our framework to demonstrate
that the ground space contains explicit quantum codes with linear distance.
This side-steps the Bravyi-Terhal no-go theorem because our work allows for
more general quantum codes beyond the stabilizer and/or linear codes. We
hesitate to call this an example of {\it subspace} quantum LDPC code with
linear distance.
