This is a good "Put up or shut up" moment for BSD. For all the whining I hear about "Viral" and "Anti Business" licenses the various *BSD projects sure do have a meager adoption (Buisness, home, free or otherwise) compared to their GPL counterparts (Linux). I think an aggressive, forward looking BSD project would be great to have.
Granted, not all the most popular open source projects have "Viral" licenses (Eg - Most Apache foundation projects), but maybe.. Just maybe Linux's success is in part due to the GPL.
Some people feel the GPL is stealing something that they're somehow entitled too. In reality, it's more of an exchange. You give up the ability to have a certain business model, and in return you get the collective work of everyone else who's made the same agreement. You give up exclusive control of your source in return for a world-class, flexible, free, operating system with widespread uses. For free. With a BSD style license you're able to opt out of that "collective work" provision. You can take, but you don't have to give. As a result, the project does not grow.
This is based on assumptions that don't hold water.
In particular, the primary assumption is that a significant fraction of contributions to GPLed projects come from companies that are forced to give these contributions, and that would not give these contributions if they could avoid it (as in BSD).
My impression (from having participated in BSD development and followed Linux development) is that contributions in this area is actually a larger fraction of development on the BSD side of the fence: Embedded systems companies take the BSD codebase and develop something proprietary with it, and give back the parts that aren't crucial. And logically, it would make sense: If a company feels they need to have proprietary parts, they don't touch the GPLed codebase at all; they just use either BSD or one of the proprietary microkernels.
What *does* affect contributions to BSDs is this myth of exploitation. The GPL has a very effective propaganda preface about "preserving freedom of users", incidentally ignoring that part of this preservation of users' freedom comes by denying some of those that could be users of the codebase the ability to become users. (Look at all the BSD users through Mac OS X.) This myth and propaganda clearly influence some developers.
It's probably in your long-term interest for the project to grow. I think the success of Linux proves this.
Yes.
However, the success of Linux has other possible sources than the license:
- The source code control system and project management led to "distributions", which allows rapid parallel experimentation.
- Distributions lead to more source code flow back and forth than different operating systems with distinct version control systems
- The Linux project structure made the project have a much more softly sloping "insider/outsider" distinction; the BSD structure with core team / committers / general public makes it harder to involve people, on a psychological level. (Everybody thinks things are the responsibility of the next inner circle, and then the core team think development is the responsibility of the community at large.) This led to easier recruiting on the Linux side.
- There are inherent size limits for communities at particular engagement levels (email overload); having multiple communities, in the form of multiple distributions, alleviate this.
- The initial bad support for low end hardware in the BSDs set a disparity in the numbers of users, and there are first mover advantages. People especially select relatively similar operating systems based on whether the operating systems run on the hardware they have, and with more people more drivers get written.
- Linux started with a reliance on binary packages for upgrades, while the BSDs started with a reliance on the ports system and building from source for upgrades. While source is better for some types of power users on servers, it is arguably worse for most desktop users and non-power-users on servers.
- BSD has a more complicated partitioning scheme, and a system that's a bit further from the DOS/Windows world. This may have made it harder to get users to transition there compared to to Linux.
- Less cool name and story
- BSD was in limbo for a crucial year during AT&T litigation
- BSD users self-identify mostly as "Unix users" and have no problem trying some Linux distribution as one more Unix; Linux users self-identify mostly as Linux users, and are not afraid of trying "another Linux", but feel other Unixes as very different. In random movement of users, this probably leads to some extra flow from BSD to Linux compared to vice versa.
The license may or may not be a factor; but there are clearly so many other differences that may be factors that it is hard to identify how important each of them are. I think this is a question that will never be answered; it would need lots of research, and I think the time when that research could be done is now gone.