Left join to get all the tables together. Exclude counts that are null.
It seems that you're missing a developer table in your query. I'm also not sure why you don't count orders instead of downloads; otherwise I could cheese it with eighteen clicks of the download button?
To do similar to what you'd do, why not just COUNT(developer.name) and skip the join against the actual downloads? Then you'd know how many separate orders were made for a developer's software
Ignoring the fact that the developers table appears to be missing [unless "developer.name" is a column in your software table, which I doubt], this is probably significantly faster:
SELECT developer.name, COUNT(developer.name) as count FROM software INNER JOIN orders_software on software.id = orders_software.software_id GROUP BY developer.name ORDER BY count DESC LIMIT 11