>
> If you want to encourage people to contribute to your project, and you
> want your project to survive and prosper, then GPL is a better choice
> because it doesn't encourage people to make proprietary programs to
> compete with yours, and it forces people who use your code to share their
> enhancements with you.  So GPL is a much better choice for many projects
> and that is why it is so widely used.
>

I guess that depends on what sort of software you are developing.  In
the Java ecosystem, almost all of the useful 3rd party libraries for
Java are not GPL licensed - since so many Java developers work for
large companies that are scared of GPL.

In my current job, I'm not allowed to use any GPL libraries.  But
Apache, and other less restrictive licenses are fair game.

When I make use of a third party library, I have no interest in
competing with that library.  Nor do I have any interest in
maintaining my own modified, perhaps better or bug fixed copy of that
library.  If I have to modify the library for my job at hand, I'm
going to release my changes back to the maintainer - because that is
the pragmatic thing to do.  I want my changes integrated into the next
version, so I don't have to re-fix later  I have no interest in
maintaining my own copy of his code.  With most types of software,
there is no reason to put the GPL gun to your users heads.  They are
already inclined to make the project better by providing patches, etc.

At least that's the way it works with most of the opensource software
that I interact with.