What if i have an idea and part of that idea is that it's easy to implement; once the idea is out in the world, it's easy to build alternate clients for it. How do i keep megacorps from using their ressources to take the whole thing over à la Google Chrome? Should i patent the idea?
If you want to patent something globally you have to patent it in every country, and there are some things like software that aren't patentable in some countries.
A license just tells someone what they can and can not do with something, it doesn't protect an idea. For code it literally just protects the written code, someone could write a clean room clone, i.e. never looking at your code.