Why is the "free store" memory called the "heap"? Does it have anything to do with the heap data structure, for example the Buddy blocks implementation, or does it only take the literal English meaning of the word (a big pile)?

I know heap memory is more practical than theoretical, but there's no Stack Exchange for "Practical Computer Science" yet.
I don't think it has anything to do with the data structure.
It's just the opposite of the stack, which carefully orders its elements and doesn't allow them to be read or written except at the top.