As far as my reading of the patent goes, MS patented the storage of long file names in standard 32 byte fat directory entry structure.
The way this works is like this:
A fat directory is a set of 32 byte blocks that each contain filename, timestamp, property flags, and starting cluster for each file. One 32 byte block cooresponds to one file entry.
It is laid out like this:
Bytes 0 - 10: Filename ("." implied) Byte 11 : Attribute flags Byte 12 : reserved Byte 13 : millisecond of file creation (must be even) Byte 14 - 15: Create Time Byte 16 - 17: Create Date Byte 18 - 19: Last Access Date Byte 20 - 21: top 16 bits of starting cluster Byte 22 - 23: Last write time Byte 24 - 25: Last write date Byte 26 - 27: bottom 16 bits of starting cluster Byte 28 - 31: File size
To get long filenames, MS FAT marks the attribute byte of the 32 byte block with a special character that says that it is part of a long filename. Then the rest of the structure is packed with the bytes (unicode) of the long filename where ever they can be placed (byte 0 is a sequence number, byte 11 marks it as a long file name entry, byte 13 is a checksum of the cooresponding short dir entry, and there are a few other bytes that are reserved). So to complete a long filename, MS FAT uses a sequence of these long filename marked up directory entries, each beginning with a sequence number and the special "I'm part of a long file name" character, and ties them to the short file name directory entry for the file.
This means that every long file name MUST coorespond to a short filename 32 byte directory entry, but a short file name does not need a long file name entry.
Now the patent only covers storing long filenames along with short filenames in this way (as a marked up directory entry). ROS could still store long filenames in a different manner (a hidden translation file for example) and not violate the patent.
If ROS chooses not to implement short filenames at all on FAT, then it will not be compatible with other things that use FAT. This means that ROS FAT will not be compatible with Windows, Linux, cameras, etc...
Since, I will not be doing the work associated with this, I won't argue which way to manage this. I do, however, want the people who make this decision to understand the tradeoffs...
Just my 2 cents
(keep up the good work)
--mark