Re: broken?
That really depends on what you are talking about.
It is my firm belief and hope that the least restrictive FOSS licenses die out. It's the classic gratis vs libre debate.
Licenses like Apache & BSD are free for everyone and anyone to do with what they want. Incorporate it into their own closed projects, Fork it, lock out the original developers and commercialize it, anything. With the notable exception of things like standards, all you are doing is working as unpaid labor. There's nothing that anyone who's using your software has to do to re-compensate you for all of your hard work.
Licenses like the GPL, AGPL are also free for anyone to use, but, and this is the important part, if they want to change it, or improve it they have to share their changes with the rest of the world. If they want to make it a part of a commercial product that only they benefit from monetarily, they can't without convincing the original developer(s) to license it under different terms, probably involving the exchange of money. These licenses don't let other companies freeload off of the work of the original developers.
Think about it, the number of BSD desktops is exceedingly tiny compared to the number of Linux desktops, same with servers, same with cell phones. The main difference is the license the two are developed under. Where is most of the BSD code used? In commercial operating systems (hi Apple and Microsoft) in closed appliances, and ironically enough in Linux.
Completely unrestricted code, again excepting standards, begins with crazy rates of adoption as commercial and noncommercial entities start using it. Inevitably it leads to a dying off. Devs get burned out, commercial entities lock it up and monetize the heck out of it, and it gets adopted by exploitation resistant licenses like the GPL. The original unencumbered development dies and development instead continues in secretive companies or under more equitable licenses.
The sooner folks realize that crazy as he is at times, Richard Stallman was right about a few things. In the end you have three choices; get paid to develop for a company, get paid to develop free software in freedom, code, and possibly money, to develop software under an equitable licence, accept the fact that you're basically working as unpaid labor. If it's a hobby, something you just love doing, then there's nothing wrong with it. But realize which path you've chosen at the beginning of your journey.