Open-source

Code is open to people, frequently under a license outlining what they are able to do, what they are not able to do.

Closed-source

Code is not open to people and under restrictive licenses. Software is often distributed as a license rather than ownership.

Apple v. Franklin made binary files copyrightable.

Comparison

UserDeveloper
For open-sourceCommunity (can help to develop)
Modification permitted by license
Easier to diagnose bugs
Easier to distribute
Can still make financial gain - i.e., offering paid support to companies
Against open-sourceCan be poorly supported, community may be unwilling to help
Features may be un-refined when distributed/require community knowledge
Indirect financial gain - often through sponsorship
Only large projects usually get sponsors
May be stressful due to having to having to manage a project thousands may be contributing to