I think all concerned (executives, lawyers, engineers) were simply trying to do the right thing by our source base, Sun's customers and the budding OpenSolaris community -- we really weren't trying to placate (or alienate) the Linux community, and didn't really factor in how the Linux community perceived its own license.
As for OpenSolaris, there were a couple of constraints with respect to the GPL: first, we didn't want to dual license (i.e., GPL + something else), because that was a mess that could lead to a license-based fork -- something we definitely wanted to avoid. Second, there was great concern about simply using the GPL because of exactly the ambiguity that's highlighted here: in 2005, we had many independent hardware vendors that had entirely proprietary Solaris drivers -- it was important to us that those be allowed to stay proprietary. We all liked the BSD license, but we also liked the idea of a weak copyleft -- and in that regard, the license that best captured what we were after was the MPL, despite some (minor) issues too that needed to be cleaned up. In the end, this is what we did (the CDDL is really just a cleaned up MPL) -- but (to be clear, and for what feels like the millionth time) we did it because of what we were trying to do for our own software and community, not because we were somehow trying to punish Linux.
As I've said before, one of my most vivid memories of the whole process was immediately after we launched OpenSolaris, standing in the conference room where we had just hit the carriage return, chatting with Chris Nadan from Sun Legal. We were both wondering aloud how long it would take for DTrace to show up in Linux -- but not from the perspective of license compatibility: we both accepted as a given that Linux would either view the licenses as compatible enough or wouldn't care about any incompatibility (after all, this is years after NVIDIA's binary drivers). Our only discussion was how much members of the Linux community would care about DTrace and how difficult the port would be technically. I remember saying that "maybe it will be two months, and maybe as long as two years." Of course, it was only a month or so later that SystemTap emerged from Red Hat -- and it became clear that Not-Invented-Here Syndrome would prove to be a much stronger force than any technical desire to assimilate DTrace or ZFS into Linux...
The NIH syndrome by established Linux developers definitely slowed down Linux's adoption of these technologies. However, the inability of Sun's marketing to promulgate how awesome its technologies were to the next generation of developers slowed down adoption even further. In my case, information about how awesome ZFS is did not reach me until about 5 years ago (I started contributing to the Linux port soon afterward) while information about how awesome DTrace is did not reach me until about 2 or 3 years ago.
I was barely even aware that a company called Sun existed until about 8.5 years ago when I was given access to a shell account on Solaris 9 at my university for a class on C at age 18. At the time, there was nothing to tell me that ZFS and DTrace even existed, much less how awesome they are. Back then, I had spent my entire life stuck in the desolate wasteland that is Windows computing with a tiny bit of LAMP sprinkled into my life that I had used to play webmaster of a Pokemon fan site between ages 10 and 15. Years later, I realized that I really disliked writing PHP.
Maybe things would have been different if Sun had tried fighting Microsoft for the PC market, but the knowledge that anything better out there existed just did not make it to me. I did not learn about Sun's technologies until I started actively looking for good technologies in their respective categories. I found out not long after my searches began, but it would have been nice had there been a bit more advertising.
These days, I cannot imagine going back to computing without ZFS and while I do not quite have DTrace available to me yet, when I finally do, I imagine that I will feel the same about DTrace too.
As for OpenSolaris, there were a couple of constraints with respect to the GPL: first, we didn't want to dual license (i.e., GPL + something else), because that was a mess that could lead to a license-based fork -- something we definitely wanted to avoid. Second, there was great concern about simply using the GPL because of exactly the ambiguity that's highlighted here: in 2005, we had many independent hardware vendors that had entirely proprietary Solaris drivers -- it was important to us that those be allowed to stay proprietary. We all liked the BSD license, but we also liked the idea of a weak copyleft -- and in that regard, the license that best captured what we were after was the MPL, despite some (minor) issues too that needed to be cleaned up. In the end, this is what we did (the CDDL is really just a cleaned up MPL) -- but (to be clear, and for what feels like the millionth time) we did it because of what we were trying to do for our own software and community, not because we were somehow trying to punish Linux.
As I've said before, one of my most vivid memories of the whole process was immediately after we launched OpenSolaris, standing in the conference room where we had just hit the carriage return, chatting with Chris Nadan from Sun Legal. We were both wondering aloud how long it would take for DTrace to show up in Linux -- but not from the perspective of license compatibility: we both accepted as a given that Linux would either view the licenses as compatible enough or wouldn't care about any incompatibility (after all, this is years after NVIDIA's binary drivers). Our only discussion was how much members of the Linux community would care about DTrace and how difficult the port would be technically. I remember saying that "maybe it will be two months, and maybe as long as two years." Of course, it was only a month or so later that SystemTap emerged from Red Hat -- and it became clear that Not-Invented-Here Syndrome would prove to be a much stronger force than any technical desire to assimilate DTrace or ZFS into Linux...