Lets bring this back to a constructive place. An Chao I really appreciate the detailed information that you wrote, while I don't think it will be appropriate to include directly upstream it is still valuable to know how you are trying to use this and it helps us make an informed decision moving forward. I think we are going to take more of the BlueZ path forward but I suspect there are ways to allow your internal works to sit nicely on top of that without compromising what we are building here. You see this even in the Linux Kernel where for very specific use cases companies will implement parts of a network stack in user space. Greg I fully understand where you stand and your frustration, you have put a significant part of your life into this project and want to see it grow and not erode. In this case I think you have multiple people on the team who are also saying thanks, but lets make sure we are doing this correctly and not taking shortcuts. Lets try to see how we can move this forward, I'm not fully sure I fully understand the implications of what you were saying about the packet protocol, but I think it is best that we focus the discussion on that in the GitHub issue that I opened about the HCI socket. I can share what I know about the BlueZ interface there with some client examples as appropriate. I'm sure we can find ways to bridge the gap here especially on the application side.
I still would not accept any such change in the OS. And, if merged, I would feel compelled to revert the commits.