I agree with all that has been said. Work Experience is a very big thing in this field. Weather it be professional experience, or working on a open-source project, or even building up a portfolio of apps. If you have stuff to show what you can do you should have no problem getting a internship, or even a job with a company. Another big thing is a degree, which big companies require.
So keep on working on projects, and build up that portfolio. If it comes down to someone with 25 working apps they have built vs someone with a degree and no apps in their portfolio I would choose the first guy almost every time.
|any open source software you would recommend?|
There are plenty of projects open. Head over to sourceforge or another website like it and browse until you find one you like. We can't really recommend anything to you because we don't know what you are interested in.
But I will tell you this. If you interested in game design and programming, try and get into a open source game project. Or if its networking you love, get into a chat client or something. Make a choice on what you like to do, and what you would like to do for a living. And remember stick with it.
Just remember that some opensource projects will drop out of production for a variety of reasons, so if you just want to build a portfolio I would recommend making projects by yourself and with close team members you know are reliable. And then join one or two big opensource projects for the team experience. Because 1 finished project looks a lot better on a resume then 5 unfinished projects.