Re: @bombastic bob - Sorry...
>However, in order to prevent him from taking an unfair advantage of your work,
As I see, that is the core difference between permissive licenses and GPL. It's a reasonable difference of opinion, but the people choosing permissive licenses are aware that they "can be taken advantage of".
There are 3 possible actors in open source projects
- the original developer(s) and contributors
- end users, meaning anyone who will not release derivative works
- other developers/corporates that want to base their offerings on the project
End users who use a BSD project have the same abilities to play with the code as under the GPL. So do the original developers.
The 3rd bunch is what irks the FSF. These are free-riders if they don't release the code back to the community.
And that includes people just viewing the code, which by some interpretations would be a GPL violation if they then based a non-GPL product on what they had seen.
Choosing BSD is a conscious decision by the first group that they give up the control to compel the third group to release code back. It may happen or it may not. To proponents of permissive licenses, lowering the barriers to code adoption is more compelling than preventing unfair advantage. There is a risk, and an opportunity, for group 1 in leaving group 3 unfettered.
Going back to the FSF's cherished user freedoms, there is one additional risk, to the second, user group, in using BSD products. Anyone with sufficient influence can take un-BSD a project or a part of it. They can't stop forking, but they could easily stop publishing their future code and place paywalls or restrict code visibility from that point on. And that includes taking in any contributions that users make and incorporate them into their now restricted-source offering. Or the developers could easily build a freemium model where some of the stuff is open source, some is not. Yes, you can do that with GPL, but are more legal restrictions around that process.
But I would expect that BSD/MIT projects lacking transparency and fairness will lose mindshare rapidly so there is a natural community-driven limit to how much group 1 can "rip-off" group 2.
I don't object to the GPL per se, but it aims to compel people to behave by its rules once the code is released under it. That's a totally valid and acceptable choice. And we should respect that when we interact with GPL code.
But it's not something I am interested in doing with my own code, both because of the limits it puts on code adoption and on the limits it puts on how I can get paid for my work. That's a conscious decision on my part, not just some ethical oversight as some would have it.