If you are automating testing for Web based applications, IMO Selenium-WebDriver is the best available option. Not because it is open source but it is widely used and well supported by the community.
There are obvious Prons, let me highlight some of the Cons like,
1. Demands higher technical competencies, I would say tool of choice for developers. QA team members need to learn programming.
2. Need to work with many and connect third party frameworks (TestNG, Firebug etc) right from object identification, reporting, integrations with other ALM solutions etc.
Having said that it is still the best option for automated tesing with structured and methodical approach.