There are lots of options for open source licenses. Most of them will make your code changeable and runnable by anyone. The question is: does someone who takes your code and changes it have to do the same thing?
If you don't care if someone takes your code, makes changes, and then close sources it all, then the MIT, Apache, or BSD license is for you.
If you want to keep each file you made open source, but let someone mix-in close source files, go with the MPL (Mozilla Public License)
If you want to keep your project open source, but don't care if a closed source project links to it and uses it as a library, then go with the LGPL.
If you want to keep your project open source and force anyone who links to it to be open source as well, use the GPL.
If you want to require even more openness, take a look at the AGPL. This requires anyone who uses your code to release their changes, even if they only run the code on their own servers and never ship the code to users.
I personally like the MPL. I want to keep any direct changes to my work open forever. But if someone wants to fuse in closed source code, I don't mind. It's not a super popular license though. Most people go with the BSD/MIT/Apache licenses or the GPL.