The definition published by the FSF in 1986 originally listed two key points: Stallman later discouraged describing them as "levels," noting that all freedoms are equally essential. A fourth freedom was later introduced to explicitly affirm the user's right to run the program. Because it was seen as more fundamental than the others, it was placed first. Since the existing freedoms were numbered one through three, this new one was designated "freedom zero". Such
zero-based numbering, where counting begins at zero, is also a common convention in computer programming. The modern definition states that a program is free software if it grants users the following four essential freedoms: Freedoms 1 and 3 require
source code to be available, as studying and modifying software without source code is impractical. ==Later definitions==