Re: Just contribute to a project
Same (or better) result, fraction of the cost and a "live CV" you can point at - "I am the guy who wrote this". You also learn stuff in the process - how things work, compliance practices, coding practices, testing practices, integration practices, etc.
Be careful there. I've sat on both sides of the interview table at various points and it tends to replace experience rather than qualifications. I've said before that I'll accept a completed, working 10,000 line program I can inspect (i.e. open source) in place of a couple of years but that is as primary author which shows the full range of skills not shown by qualifications - i.e. planning, design, documentation, motivation, testing and bug fixing etc. Those are all things you need when building any project of any complexity but not something shown even by a degree - it's quite possible to graduate never having written a program exceeding 1,000 lines.
The problem with contributing to an existing projects is that you don't necessarily demonstrate those skills, and indeed you can very easily end up riding on the coat tails of others and vastly overestimating your own contribution. I know a few years ago we had a candidate who claimed to be a key member of the GIMP team. Great, that's something we can assess. Sadly it turned out that over 18 months his contribution amounted to around 30 messages on the mailing lists. Half a dozen were asking user-style questions, another dozen answering the same kind of questions, the rest were mainly opinion and preference type stuff rather than actual concrete engineering stuff. He had a couple of contributions - one about thirty lines, the other about eighty if memory serves.
He seemed stunned when we summarised his contribution in those terms - rather than being some crowning glory it looks very threadbare - but no, he couldn't turn up anything of substance that we had somehow missed. I've no doubt he was genuinely surprised but I can see exactly how it can happen - spend a couple of hours a day reading the mailing lists and seeing a hive of activity seemingly all around you it's very easy to become caught up in the activity of the community as whole. You're not aware of how little you have contributed yourself.
So no, he didn't get the job. That wasn't the only reason but it certainly didn't do him any favours.