So, I'll give you my thoughts, and maybe some advice, but please take it with a grain of salt. Some of your comments say your in the Chicago area, and I definitely live in a different part of the country, so don't feel like I'm trying to say my experience is universal.
I want to disclaim that while some companies may say a degree is necessary, there are very few that actually enforce that. I've had several offers in principle (as in a written offer was extended) well before I had a degree, and from companies most probably wouldn't believe. While it's definitely harder to get in the door, it's likely not impossible.
However I'd also like to point out that as you may have read from several comment threads, the majority of a software-developers life doesn't revolve around Computer Science. I mean the last time I really had to consider whether something was Turing complete was, well, it was in hardware development, but that's beside the point.
There are many aspects of programming that aren't taught in CS books. Decomposing requirements, process & methodology, and so many others. I've read a lot of people say that when they interview, they look for fit.
So, with that in mind, I'd suggest stepping away from trying to show off just your CS chops, but actually solve interesting problems to you. It's sort of funny to me, because your headline sort of describes open source software. For me, contributing to open source allows me to write software that I'm actually passionate about, instead of just solving interesting problems for a company that I'm kind of ambivalent about.
As far as getting your foot actually in the door, I'd suggest looking for "software tester" positions. They are usually the low man on the totem pole, but they are the definition of a foot in the door. I'm sure some people disagree, but I've worked with several people who completely lacked a formal education, but started as a software tester somewhere, and worked their way up. Most of them, instead of just finding bugs & problems, would dig into the code and try and find out what was going on.
Not to mention, that will give you the chance to learn some of the soft skills, like communication, process, etc. You could even get your training done for Agile/Scrum/SixSigma/whatevs, and wind up with a great leg up on the competition.
Company wise, I'd advise avoiding larger companies, but avoiding true startups as well (and this may be where I diverge from a lot of people). I'd look for a company that is established in their field, but still small (30-50 developers, ish). I think most startups are looking for people that can give in excess of 100%, and while you're learning, it's probably not best to extend yourself that much.
Anyway, good luck with your search, you seem pretty passionate, and we can always use more people passionate about software development.