In theory yes, but in practice it doesn't work. This is because people with unique skills are not necesarily interested in technology, let alone software development, and they often need incentives (financial ones usually work best) in order to persuade them to lend their skills to software development.
To put it simply: its pretty geeky to want to contribute to the development of open source software, right? There's nothing wrong with that. But the thing is, people with unique non-technologically inclined skills and talents are just as geeky about their own fields of interest, and so they won't look twice at open source software development. Not everyone has the free time (or is altruistic enough) to lend their expertise to open source development.
To put it simply: its pretty geeky to want to contribute to the development of open source software, right? There's nothing wrong with that. But the thing is, people with unique non-technologically inclined skills and talents are just as geeky about their own fields of interest, and so they won't look twice at open source software development. Not everyone has the free time (or is altruistic enough) to lend their expertise to open source development.