GetUserDataDir is changed for Linux systems to use XDG_DATA_HOME/ivan/ if the variable is set, otherwise it defaults to ~/.ivan/.
Some Linux users like to comply with the XDG Base Directory Specification. Essentially, this just means that hidden files and folders normally in the ~/ directory be moved to either ~/.config/ or ~/.local/share/. Typically, the user has to set the environment variables for XDG_CONFIG_HOME and/or XDG_DATA_HOME if they want the files/folders moved, otherwise those variables are unset by default.
GetUserDataDir is changed for Linux systems to use XDG_DATA_HOME/ivan/ if the variable is set, otherwise it defaults to ~/.ivan/.
Some Linux users like to comply with the XDG Base Directory Specification. Essentially, this just means that hidden files and folders normally in the ~/ directory be moved to either ~/.config/ or ~/.local/share/. Typically, the user has to set the environment variables for XDG_CONFIG_HOME and/or XDG_DATA_HOME if they want the files/folders moved, otherwise those variables are unset by default.