Trying to find relationship between openl and HSA programming

It appears opencl is specifically (generally) targeted for AMDGPU/CPU although nvidia can support it. However when I look at the HSA programming guide, many terms are very similar to AMDGPU terms (workgroup workitem) etc. But opencl is written in typically c/c++ and HSA, to my understanding will generate the intermediate cross-platform code (i.e. HSAIL) so it looks like completely different animals. Although i can imagine HSAIL code can further compiled to a paltform specific backend compiler to AMDGPU code. If that is the case, I am just wondering why HSA documentation is so similar to OpenCL terminologies? Is it due to historic reason? that AMD was the initiator of HSA?