> Someone like myself, who greatly enjoys open source software will also be sure to be a 'good citizen', giving back any changes to that little library, even if we're not forced to.
And frequently they won't, leading to fragmentation. This happened a lot before the GPL became de rigeur.
The trick in this case is for the project to have enough momentum so that you want to try and stay in sync with it and not maintain a bunch of your own changes.
> And frequently they won't, leading to fragmentation. This happened a lot before the GPL became de rigeur.
What time frame are we talking about? My experience was that the GPL probably was at its most popular in the late 90ies, but has gradually declined since then. Most things these days - Rails, Node, Android, Go off the top of my head - seem to have more permissive license.
People are a lot more connected now than even 20 years ago, so contributing back is also much easier. Also, more people get open source, at least for infrastructure type projects.
I was thinking of quite a lot of the just-before-the-Internet academic software released under a permissive license, which splintered into a thousand fragments.
And Keith Packard frequently regretted X11 being under a permissive license, given how much company forked work the home project never saw code from.
Try now. Mac OS X is based off BSD and contributes little back (and what it contributes is patent-encumbered enough to be unusable). And that's only a high-profile example which is obvious: there are tons of examples we'll never hear about because we'll never see the code.
>The trick in this case is for the project to have enough momentum so that you want to try and stay in sync with it and not maintain a bunch of your own changes.
It's not that hard these days, particularly if you are a big company with plenty resources, Apple chose to fork Clang/LLVM so that they could keep their Swift implementation proprietary.
>Rails, Node, Android, Go
Haven't open source frameworks pretty much always been permissively licensed ?
My experience is that applications are typically GPL licensed, meanwhile frameworks and libraries are typically permissively licensed.
And frequently they won't, leading to fragmentation. This happened a lot before the GPL became de rigeur.