A FileSystem, where the files are accessed by traversing a tree (or a forest if you consider DriveLetters? or a graph if you count SymbolicLinks or HardLinks).

Hierarchy is not a necessary attribute for a FileSystem. All you really need is a means to look up a file given some key. Any hierarchy required could be implemented above the filesystem abstraction.

And yet, file-sharing applications' spaces are not considered to be filesystems. The reason why is because they are not recursive. While a tree (what most people understand by hierarchy) might not be a necessary attribute of filesystems, subdivision by levels (what hierarchy actually means) is in fact necessary for something to be a filesystem.

Seems simpler to say that they didn't have hierarchical filesystems. If a flat collection of files isn't a filesystem, what is it? Such things still exist, after all, and we need a name for them; for comprehensibility, it makes more sense to keep the old name than to make up something new.