We should decide on a versioning scheme that: * Is meaningful to the developer * Makes it clear when there are breaking changes * Allows for tracking patches We should take a look at the versioning scheme of other programming languages.