Let $f(x)=cx(x-1)$, where $c$ is a positive real number.  We use $f^n(x)$ to denote the polynomial obtained by composing $f$ with itself $n$ times.  For every positive integer $n$, all the roots of $f^n(x)$ are real.  What is the smallest possible value of $c$?
To solve the problem, we need to determine the smallest value of \( c \) such that all the roots of \( f^n(x) \) are real for every positive integer \( n \). The function given is \( f(x) = cx(x-1) \).

1. **Find the fixed points of \( f(x) \):**
   The fixed points of \( f(x) \) are the solutions to the equation \( f(x) = x \):
   \[
   cx(x-1) = x
   \]
   \[
   cx^2 - cx = x
   \]
   \[
   cx^2 - (c+1)x = 0
   \]
   \[
   x(cx - (c+1)) = 0
   \]
   \[
   x = 0 \quad \text{or} \quad x = \frac{c+1}{c}
   \]

2. **Analyze the behavior of \( f(x) \):**
   The function \( f(x) = cx(x-1) \) is a quadratic function opening downwards (since \( c > 0 \)). The vertex of this parabola is at:
   \[
   x = \frac{1}{2}
   \]
   The value of \( f \) at the vertex is:
   \[
   f\left(\frac{1}{2}\right) = c \left(\frac{1}{2}\right) \left(\frac{1}{2} - 1\right) = c \left(\frac{1}{2}\right) \left(-\frac{1}{2}\right) = -\frac{c}{4}
   \]

3. **Determine the conditions for all roots to be real:**
   For all roots of \( f^n(x) \) to be real, the function must map real roots to real roots under composition. This means that the function must not map any real root to a complex number.

4. **Find the critical value of \( c \):**
   To ensure that \( f(x) \) maps real roots to real roots, we need to ensure that the function does not map any point outside the interval \([0, 1]\) to a complex number. The critical point occurs when the function maps the maximum value of \( x \) (which is 1) to the minimum value of \( x \) (which is 0).

   We need to find the value of \( c \) such that the function \( f(x) \) maps the interval \([0, 1]\) into itself. This means:
   \[
   f(1) = c \cdot 1 \cdot (1-1) = 0
   \]
   \[
   f(0) = c \cdot 0 \cdot (0-1) = 0
   \]
   The function \( f(x) \) must map the interval \([0, 1]\) into itself, and the critical value of \( c \) is determined by ensuring that the function does not exceed the interval \([0, 1]\).

   The critical value of \( c \) is found by ensuring that the function maps the interval \([0, 1]\) into itself. This occurs when the function maps the maximum value of \( x \) (which is 1) to the minimum value of \( x \) (which is 0).

   Therefore, the smallest possible value of \( c \) is:
   \[
   c = 4
   \]

The final answer is \( \boxed{4} \).