Floating point arithmetic
Basically, every floating point number represents a range of numbers. Which can lead to small errors like this. It has also to do with trying to represent a decimal number in binary, which works fine for integers but not for rational numbers.
Onlyoffice is under AGPL-3.0-only. It is not proprietary.