If you "care about sharing improvements" then choose a license to maximise contributions.
The GPL imposes major headaches / restrictions on potential adopters. This reduces uptake, which reduces contributions, thereby reducing sharing of improvements.
As a counterexample, look at Apple's opinion of GPLv3. Because there are certain clauses that have open legal questions, such as the ones regarding patents, Apple has very strict requirements for internal developers wishing to use GPLv3 code for any task, with a requirement that no published code be GPLv3. Thus, regardless of quality, Apple decided to switch to, and contribute to, projects that did not have such restrictive legal terms attached to it, giving back even when they had no requirement to.
> Thus, regardless of quality, Apple decided to switch to, and contribute to, projects that did not have such restrictive legal terms attached to it, giving back even when they had no requirement to.
There is something contradictory about requiring others to act "more freedom promoting."
It depends on your perspective though: is your license aimed at developers only, or all end users. The GPL makes it quite clear that there's no distinction between them, everyone is an end user who may not restrict another end user.
Other more "permissive" licenses can be used to constrain anyone though, because the developer sees the license was only for him, and those permissions are not relevant for his end user.
The GPL imposes major headaches / restrictions on potential adopters. This reduces uptake, which reduces contributions, thereby reducing sharing of improvements.