With no license, code is "All Rights Reserved" and any other application using your code is committing copyright infringement! So you should choose a license for any code you distribute publically.
Licenses will additionally protect the copyright holder from damages, and absolve any liability or unstated warranties related to the copyrighted code.
- Generally require any changes to the provided source files to be redistributed.
- Pros:
- Encourages contributions to the original project and benefits the open-source community.
- Prevents massive companies from selling open-source software.