I would also go for option '2' because all major filesystems support spaces these days. Also I don't think people will stop using them anyway.
But you bring up another issue: not all filesystems have the same 'bad character' sets. So are we allowing the full unicode set and let the software/os handle wrong names or do we define the bad ones somewhere in full?
The current 1.0.0 only mentions a couple of 'bad' characters (it doesn't list : and * for example). So maybe add a full list based on e.g. fat32, ext2, ntfs (and other major fs's).
But you bring up another issue: not all filesystems have the same 'bad character' sets. So are we allowing the full unicode set and let the software/os handle wrong names or do we define the bad ones somewhere in full?
The current 1.0.0 only mentions a couple of 'bad' characters (it doesn't list : and * for example). So maybe add a full list based on e.g. fat32, ext2, ntfs (and other major fs's).