If you dont want invest Bitcoins then Signature campaigns and social media campaigns are the best sources of Bitcoin nowadays.
If you can invest then learning trading would be a good option.
I agree with both suggestions but even better way to earn bitcoin is to learn some skills, like programming.
In this way, you can earn bitcoin for the work done, without risk.
Otherwise, other ways to earn bitcoins are sig. campaigns, collecting faucets, trading, HYIP, Casino, gambling etc.
So, either you have to invest money, time or work in order to earn bitcoins.