Most programmers' first instinct is to look at the technical merits of the language first, and then development tools, libraries, etc. They'd like to pick the language, libraries, etc., that best support the kind of task they need to carry out.
Unfortunately, in the real world technical merit is a secondary (or maybe even tertiary) consideration at best. The first and most important consideration in most cases is choosing a language that's sufficiently mainstream that you'll be able to easily find plenty of programmers to wok on the project without first spending a lot of time training them on a strange language that none of them knows.
This is particularly true of open-source projects. With an open source project (at least initially) most of the people who get involved are likely to be volunteers, and few will put in the time and effort to learn a new language before they even get started (though already-active participants might).
The technical capabilities of the language are also generally secondary to how that language is perceived. Perception is important because it tends to determine (to a large degree) the skill sets of the programmers who are familiar with that language. Just for example, let's assume you wanted to write a compiler. You looked at languages carefully, and decided that from a technical viewpoint PHP would be the perfect choice for writing your compiler. There are certainly a lot of PHP developers around, so finding people who know PHP shouldn't be a problem. Unfortunately, whether it is suited to writing compiler or not, PHP generally isn't perceived as a language to use for writing compilers. You can find lots of people who know PHP, but most of those are likely to be people whose experience and skills run toward database-driven web pages, not compiler development. Even though it's a mainstream language that (we'll postulate) is technically suited to the job, it's still probably a poor choice for the job.