I've seen applications that require you to go through some challenge(s) before you can submit an application. I don't necessarily see that as a negative because it can be used to measure a real example of an applicants skill (assuming they legitimately solved it).
I've also had the impression that Mozilla, for example, wants you to have a history of open-source work, especially on Mozilla products. If this is an expectation, I don't necessarily see this as a bad thing because they are not a for-profit organization.
I understand the challenges DuckDuckGo must be facing to establish a sustainable business model while maintaining a commitment to user privacy. However, they are still a for-profit company, and this requirement in the application process seems to do little to demonstrate an applicant's skill, but instead it directly benefits DuckDuckGo financially because it increases the power of their product, at the sole expense of the applicant who I imagine is very unlikely to get hired, considering the popularity of their website versus the size of their team.
This turned me off from applying to the company, even though I'd love to work with them. A quality job search already requires so much time, and I don't want to do work for free when I know it's probably a long-shot from being hired anyway. That factor is compounded when the want you to just be a contractor for a few months at first and then decide whether they actually want to hire you.
I was curious as to how the HN community views this practice in general. If you view this as ethical, then do you view it as a "good" practice, or something that's likely to dissuade quality applicants?