It has been shown you can get DCS from freediving to 20m if you do enough dives.
In my own experience (suffering freediving DCS 10 times), I have been able to find a direct correlation between ascent rate and DCS. It seems that for me, the most important factor is the ascent rate, not the depth or the time. Once I modified my ascent profile, I was able to 100% eliminate DCS which normally used to hit me after a similar profile. I was getting DCS from as little as 2 dives to 38m.
The rule I found was as follows:
Eric's Freediving DCS Hypothesis
(1/P) dP/dT > K
Or, in simpler terms, if you express your ascent rate as a function of depth,
Ascent rate A = A(Depth) = A(D)
then
A(D) < D/K0
The value for K0 I have determined is:
Aggressive K0 = 15 seconds
Moderate K0 = 20 seconds
Conservative K0 = 25 seconds
So, for the aggressive K0:
A(5m) <= 5m/15s = 0.33 m/s
A(10m) <= 10m/15s = 0.66 m/s
A(20m) <= 20m/15s = 1.33 m/s
A(30m) <= 30m/15s = 2.00 m/s
Using these limits for your ascent rate, you will see that getting from 10m to the surface takes a LONG time if you want to be sure to avoid DCS. I usually take 20 seconds to cover the 10m to the surface zone. This increases risk of SWB on a hypoxic dive, so I don't recommend following this table unless you have LOTS of air left after your dive. This rule is something I discovered with experimenting on my own body, so it does NOT necessarily apply to ANYONE except for me. Please USE AT YOUR OWN RISK.
To state the rule in a more intuitive manner: each time you half your pressure, you must spend about 20 seconds doing it. So, the time it takes to go from 2atm to 1atm must be about 20 seconds or more; the time it takes to go from 20atm to 10atm must be about 20 seconds or more. This rule almost certainly will FAIL at higher pressures, since I determined it empirically in the 0-50m range.