What are the facts to look for if someone want to buy a developer friendly phone (other than nexus phones) which means this phone is gonna have a lot of custom roms, mods and can stay up to date with the latest version of android for as long as possible with the help of custom roms.
A good starting point would be reading up on how cooperative the manufacturer of the SoC in the device has been with the (open source) Android community in the past. For example some GPU vendors have a bad reputation when it comes to providing information and the sources of the drivers for their products. If the developers/porters of ROMs have to go through hell to get stuff working, chances are it won't be very popular with the modding/custom ROM community, unless there are other very good reasons to persist (for example if the device is very high-profile, think Galaxy S or Nexus series).
Google Nexus phones are developer phones.
AOSP is the basis for ALL Android custom ROMs.
Here is the complete list of Supported Devices.
AOSP is ONLY released for Nexus devices.
Android Factory images are ONLY released for Nexus devices.
Nexus devices will ALWAYS have more custom ROMs than non-Nexus devices.
What does "developer-friendly" mean?
100% of the software needed to develop for the device has to be GNU/Linux compatible.
So that serious Android developers can use it on their development machines(GNU/Linux).
There is a popular misconception that you can be an Android developer without using GNU/Linux. The truth is, you can run a barely-functional neutered version of Android Studio on Windows/OSX. You can start out with Win/OSX, and at some point you will realize that you need to figure out GNU/Linux if you want to be an Android developer.
People learn at different speeds, and some people figure this out quick, while others may tinker around on a Mac for a decade, all the while saying things like "Actually, Mac works great with Android", or laughing nervously and saying "It does everything I need."
Sony and Samsung phones (ALL of the phones made by either brand, with the notable exception of the excellent Nexus models made by Samsung) both FAIL TERRIBLY as developer phones because of their dependence on software that is NOT compatible with GNU/Linux. So basically a ton of the software that is required to interact with their "developer phones" is INCOMPATIBLE with precisely the type of computer a serious Android developer requires.