Licenses Don't Matter
If you have an open source project, I'm willing to contribute to it. I find the specific license chosen rarely matters.
why doesn't it matter?
Open source is about sharing software so that everyone benefits. This often involves both companies and private individuals.
If you can maximise contributions, you get better code and a larger community. That's the end goal.
won't weak copyleft get used in proprietary software?
Not necessarily. If you have a large project with a changing API, it's much easier upstreaming your changes.
If any of those proprietary projects upstream any patches, you've grown your community.
won't strong copyleft protect open source software?
Not necessarily. If your license is 'only' GPL, people might:
- Use your software in a service whose source isn't available
- Put your software in a system that cannot be updated ("tivoised")
- Provide a huge code dump that is of little use to the upstream developers.
what forces people to contribute back?
Ultimately, nothing. You can fulfil the letter of the license by doing a big code dump. This doesn't help upstream.
The most reliable way I've seen to get contributions is to actively change internal APIs. This works in both strong copyleft (Linux changes internal APIs and breaks proprietary out-of-tree drivers) and weak copyleft (LLVM has a massive API that changes quickly, incentivising upstreaming).
what happens to people who violate strong copyleft licenses?
Less than you might think. Communities often prefer coaxing compliance rather than pursing monetary damages.