[FYI: the following is a very long exploration of issues relating to the GPLv3 and OpenSolaris; if you're not a follower of either of those subjects, this is one to skip - sog]
If you’re of a historical mindset, you might trace the roots to this particular discussion back to an exchange between Jonathan Schwartz, Sun’s CEO, and Rich Green, EVP Software for Sun. That’s led to all sorts of interesting messaging issues, including the (mistaken) impression held by some that OpenSolaris has already been released under the GPL.
But in practical terms, that was mere kindling. The real fuel for the fire was provided on Tuesday of last week, when Sun’s Stephen Harpster openly solicited the community’s input on the possibility of dual licensing OpenSolaris under the GPLv3 in addition to the CDDL. As could probably have been anticipated, opinions were forthcoming. And then some. The resulting explosion of dissent and concern has generated several hundred emails – many of them more than slightly agitated – and spawned perhaps a half a dozen conversational sub-threads.
Given that I have a different perspective on the prospects of a GPLv3 licensed OpenSolaris than some of the community members, I thought it might be useful to explore some of the issues and concerns in a Q&A.
Q: To begin, how about the usual disclaimers?
A: Sun, the organization that spawned the OpenSolaris project, is a RedMonk client. Several commercial vendors that have substantial interests in Linux, such as IBM, are RedMonk clients. With respect to the Solaris technologies, I’ve been both complimentary and critical.
Q: Are you a member of the OpenSolaris community?
A: As an observer, perhaps. I subscribe to the main open-solaris discuss list, have popped my head in there a time or two before, and attend user group meetings when I’m not travelling every (damn) week. Further, I was around when OpenSolaris was born, and am fortunate enough to know many of the engineers that work on it personally. I do not, however, contribute any code to the platform, nor do I run it extensively. So my opinion is just that of an interested observer; I would not presume to instruct the community on what’s best for it, because I’m not engaged to the degree that many of the list participants are.
Q: It’s safe to assume then that you believe this decision should be made by the community, not Sun?
A: Yes. If, like MySQL, you run a project that’s not structured around accepting outside contributions, you preserve the ability to make unilateral decisions around project specifics. OpenSolaris is not, however, such a project. Although the process for contributing to the codebase is still far more complex that most would like it to be, the project is intended to be open from a participatory standpoint. This being the case, it would not be appropriate – IMO – to try and enforce a licensing preference on an unpersuaded community. No taxation without representation, and so on.
Q: What would the outcome be if Sun did indeed try to impose the GPLv3 on the OpenSolaris community?
A: Poor. In a worst case scenario, it could do irreparable damage to the relationships Sun has built with its sapling of a community, not to mention its much repaired open source reputation. The folks at Sun, I’m sure, are aware of this which is why I think it unlikely that they would pursue this course of action.
Q: How do you think the community would vote with respect to the GPLv3 if polled right now?
A: It’s difficult to say with any degree of accuracy, because the vast majority of the community has so far been silent on the issue. But certainly the majority of the vocal participants in the discussion are against the idea – some violently so.
Q: Before we get to those objections, how about a little history: why was the CDDL license chosen originally?
A: Well, there are two different versions of this particular story which are too involved to cover here. Suffice it to say that on the one side we have the contention that the license was selected purely for its merits, and on the other we have the assertion that it was chosen at least in part for its incompatibility with the GPLv2. Regardless of which side is correct, I’m of the opinion that the license chosen at the time was a necessary choice to ensure its survival. With no one convinced at the time that OpenSolaris would survive as an open source project, I think the GPLv2 compatibility would have allowed Linux to cherry-pick from technical differentiating features like DTrace and leave the project for dead. I’ve said positive things about the CDDL license in the past, and have no problem with it now. The question I’m asking is whether or not the OpenSolaris project should have the same concern about being strip mined that I believe it needed to have at its inception, and my belief is that it does not.
Q: So you believe that the OpenSolaris project shouldn’t be concerned with the GPLv3?
A: No. First, we don’t know in final terms what the license will look like, although we do have a pretty good idea. Second, there are always concerns with respect to licensing – what are the encumbrances, conflicts, and so on. What I am saying instead is that I don’t think applying the GPLv3 license alongside of the CDDL would harm OpenSolaris as a technology.
A: Three main reasons. One, the project is established. Although I certainly do not subscribe to Paul Murphy’s prediction that the OpenSolaris community is poised to eclipse the Linux community in either size or activity, I certainly believe that the community has established itself and has been very successful – and take public exception when I’ve seen claims to the contrary. The very furor that this discussion has caused, as someone pointed out to me the other day, should be proof enough that OpenSolaris has a passionate and engaged community.
Two, from what I’m led to believe from conversations with engineers on both the Linux and Solaris kernels, the effort required to port some of the differentiating technologies from Solaris to Linux or another is decidedly non-trivial. So as much as I’d like to see ZFS in Linux, and that’s clearly possible, it’s not an overnight effort.
Three, the Sun folks asked about GPLv3, not GPLv2. Linux is licensed under the latter, and if Linus has his way, it’s not likely to be relicensed any time soon as he’s not terribly impressed with the revision. Nor am I, for that matter, but that’s a discussion for another time, and I’ve got folks working to persuade me that I’m wrong.
Q: What about the objections you’ve seen on list? Are there legitimate questions being asked?
A: There are, absolutely, very legitimate questions being asked on list. If you distill them down, most of the objections into the following categories:
- I don’t like/respect/* the FSF/GPL/Linux/*
- I don’t like the thought of Sun making this decision for us
- This doesn’t solve real, existing problems that we have. optional clauses – a. creates new problems, b. detracts/distracts from efforts to solve the existing ones
- I don’t see the point/benefit/etc, or the existing license is fine, let’s not fix what isn’t broken
Q: Let’s take those in order: how about the folks in the first bucket?
A: We’ll simply have to agree to disagree. I’m (far) more of a pragmatist with respect to open source than the folks at the FSF would approve of, and I don’t necessarily subscribe to their views on freedom, but I cannot have anything but respect for the work of that organization. They’re a group that can legitimately say that they’ve changed the world. There aren’t many of those around, and that deserves respect, IMO.
Likewise, Linux has been frequently disparaged over the course of the thread, but very little recognition has been paid to its success. Irrespective of what you think of its technical merits, again, this is a project that has changed the face of software. I’d hope that OpenSolaris community members would not try to argue that there’s nothing that they could learn from the success that Linux has enjoyed.
As for the license, at least they’re not alone. There’s a great deal of fear, uncertainty and doubt surrounding the GPL still; many enterprises are terrified of it. That said, two of the most successful open source projects around use the current version (Linux and MySQL), another prominent project has pledged to go to the new version (Samba), and it’s been the preffered license of choice for open source projects on Sourceforge for some time. Were some of the reactions from the GPL community to the CDDL out of line? Yes. Which is why it’s a shame to see the same license ignorance and mudslinging repeated.
Q: And the folks in the second bucket?
A: Given the history behind this question, it’s a legitimate concern. But that makes the flamewar aspect to this thread all the more puzzling. While Stephen’s original email is a little Sun-centric, it’s also soliciting input and thoughts. Given the fears here, I would have thought a surfacing of the subject for discussion would be welcomed, but that’s not the reaction in the majority of the responses I’ve seen.
Q: How about the third: those who feel like it doesn’t solve existing problems, makes them worse, or creates new ones?
A: There’s quite a bit of truth in many of the responses that fall into this category. It’s absolutely true, for example, that dual licensing does nothing to remedy issues currently gating contributions back to Solaris. It’s also true that dual licensing is likely to create new issues; some bad, but some good. I’m not convinced, however, that the resourcing questions are quite as zero sum as they’re made out to be. In other words, I find it difficult to believe that dual license would necessitate the removal of resources from existing problems such as the barriers to entry. Are the lawyers that would presumably be involved, as an example, really the same folks that would address the current governance issues?
That said, neither am I as close to the resourcing for the project as some of the thread’s participants: it would be very useful, I think, for the community to have some estimation of the effort required to more precisely judge the potential impact.
Q: And how about the last category of objection? Those who don’t see the benefits, or are comfortable with their current growth?
A: Although I’ve conflated them above, these are in fact two separate objections. Let’s look at the comfortable folks first. Much of the objection here, I believe, is fueled by a natural tendency on the part of many of us – myself included – to resist change. Why change, after all, when the community has been successful to date? Apart from the fact that I believe many of the fears are somewhat overblown – if you don’t like the GPL, after all, you’re not forced to use it – I think this is a potentially dangerous line of thinking.
The rebirth of Solaris as an open source project is a perfect example. The easy path would have been to market Solaris solely towards Sun’s language of choice – Java. Instead, the Solaris engineers took what was the right path, in my opinion, and tried to build bridges to other communities like Mono, PHP, and Ruby. That was a change, and a beneficial one from where I sit.
So before concluding that the current trajectory of the project is sufficient, the OpenSolaris community might want to consider whether or not a license change could open even more doors for you. You can never have enough friends in the software world. Which leads me back to the folks that don’t necessarily see the upside to the risk.
Q: Yes – how would the project benefit from an application of the GPLv3?
A: Several ways. First, it would engage a wider community of developers – those that prefer the GPL. Whether or not you share their viewpoint shouldn’t be the issue, IMO; attracting the widest possible audience should. There was a sizable contingent of developers at the Sun BOF at OSCON that expressed a strong preference for a GPL licensed Solaris. If you can bring those types of developers into the fold without jeopardizing the project itself, I think you’d have to consider doing so.
Second, while I’ve defended the CDDL as mentioned above, as has Bryan in this thread, the fact is that the license does not have much traction. I speak with a great many project maintainers and commiters, and very few of them are considering the CDDL. This does not, of course, mean that the license itself is not suitable or appropriate, merely that the lack of acceptance mitigates its utility to mainstream audiences.
Perhaps most importantly, it allows for simpler and more straightforward recombination of projects. The CDDL license is, as previously discussed, incompatible with the GPL. This has protected the project to a degree, but also throttled its ability to embrace complimentary technologies. For example, the package management functionality from Debian. No, a dual CDDL/GPLv3 license wouldn’t address this specific case, unless Debian were to move to v3 as well, but it’s an excellent example of how cross-pollination could potentially benefit OpenSolaris. While many in the community don’t think so, I’m personally of the belief that Solaris could benefit strongly from GNU userland. GPLv3 would theoretically make such mashups possible, while the CDDL is less ideal from this standpoint.
Q: So, to sum up, you think OpenSolaris would benefit from a dual license?
A: Well, decisions of this magnitude have to be made on a cost/benefit basis, and I don’t think anyone – myself certainly included – has a full picture of what the precise costs would be. But I’d say that of the objections I’ve seen, most are solvable, and the upside is potentially significant. To reiterate, I would not presume to instruct the community here or elsewhere, but my initial opinion – subject to review – is that the GPLv3 would be a substantial boon to the project.