Tool calling, open source, and the M×N problem