Tuesday, April 19, 2011

What is this OSUNIX thing anyway?

So there has been some things brewing in a sub-sect of the illumos community about a project to fork illumos, because of alleged problems with my leadership. You can read the thread here if you want.

I want to address this head on.

First the claim is that I've got omnipotent control over illumos. This is absolutely false. While I created the project, and serve as technical lead, I've offered to step down if the developer-council and admin-council would like to me to do so. Notably my employer (Nexenta) has minority representation on both councils, and I've tried to keep the groups as neutral as possible. I said when I created the illumos project, and I still maintain, illumos is a community project, not a Nexenta one.

I'm working on the process to make this more formal through non-profit governance. I should have more to say here before the end of week. (I've got a meeting about this today.)

I've also handed over determination of the Advocate list (the list of people who get to approve and integrate submissions) to developer-council. So far Nexenta has 75% of the advocate slots, but this can change at the request of developer-council. Since about 75% of the contributions to the illumos code have come from my team at Nexenta, this should hardly be surprising. In fact, I've flatly refused to add any more Nexenta advocates, even though there are meritorious candidates, until we get broader representation here. (Becoming an advocate requires making a number of good, well-formed, contributions. And it requires people willing to perform thorough review.)

There is a claim that I've somehow driven companies away from illumos. I hope not. As of now, I'm not aware of any companies that have requested to participate or contribute, who I've turned away. In fact, the only contributions that have been turned down have been Joerg Schilling's star project (he couldn't find people willing to review the code) and the ksh93 update (which has been unable to pass a technical code review -- ultimately we'll probably take in the ksh93 changes in more piecemeal fashion breaking them apart into reasonable and reviewable integrations instead of a 100KLOC+ set of code of varying quality.) As far as I know, everything else is vaporware.

I'd love to know what companies I've driven away, and what I did to do so. Honestly, if there is constructive criticsm here, then I want to hear it because I want to a better job -- and I want illumos to be as inclusive as possible. The fact that nobody has come forward (and nobody has approached me privately either!) makes me wonder how much this is really happening.

In fact, I have done all I can to encourage contribution, and to give credit for such contributions where it is due. And indeed, we have contributions from Joyent, Areca, and others. And a number of things queued up from names like Intel and LSI.

At the end of the day, if the project forks, so be it. Forks aren't necessarily a bad thing, and if a fork means we get more contributors to the ecosystem, then I welcome it. But I hope that the basis for such a fork is not just because one or two people don't like me.

(For the record, I am perfectly happy that I'm not everyone's favorite person... my job is to do the best I can for the future of the project, not to be the most universally well loved person. The open source world is filled with other personalities who people have strong feelings about -- Linus Torvalds, Richard Stallman, Theo De Raadt, Andrew Tridgell, and I don't think that the projects they lead have suffered any for it.)

Anyway, I hope that explains my position. If someone wants to have an open dialog with me about any of this, I'm happy to do so. I don't monitor the OSUNIX lists normally, but I'm reachable via email, IRC (gdamore), this blog, twitter (gedamore), and the developer list on illumos.org.


Alasdair said...

Hi Garrett - I'd just like to briefly say that the OpenIndiana team is fully behind you, and we have no problem what so ever with your leadership. We feel you've done absolutely everything in your power to make Illumos an independent, well run meritocratic organisation whilst trying to be as inclusive as one can be without sacrificing code quality.

All the players on the field had an equal opportunity to fork OS/Net from Oracle, but you were the one who actually took action and did so, and did so successfully. This sabre rattling by the anti-Illumos brigade so far looks like a lot of hot air.

Edward said...

Hi, Your leadership has been admirably excellent I'm sure those who are complaining are doing it out of habit of always complaining about something.


ihosama said...

Just wondering here whether the divide has something to do with the Nexenta-Intel relationship.

In that case, the personal issue would in fact not be a personal issue.

Notion of AMD and NVDA being the HW vendors mentioned as firmly against you/nexenta speaks for itself.

Even if you have no malice in mind, after the events of the past few years, I can see the management at AMD and NV being _very_ wary of entrusting their code into an Intel-friendly company.

Hopefully this will not turn into open warfare. (surely some people would love that).

Neutral observer.

Garrett D'Amore said...

ihosama: you may have a point. But I'm happy to be friendly with either NVDA or AMD or any other vendor that wants to reciprocate. Its just that at this point, only Intel of those three has stepped up for illumos or Nexenta.

ihosama said...

@garrett My point being:
A mere fact of Intel's support could be enough for some companies to consider a project off limits for themselves.

With Intel known to use any means available, legal or not, paranoia runs deep within his main competitors.

maetu said...

Have been following the way of communication on the list and most of the time all behave very polite. You have stepped down as benevolent dictator amd that was a good step to give the signal that neither Nexenta, nor you plan to dictate a roadmap. (Joyent stepping in now more publicly actuall helps to see you & Nexenta really mean it)

Because you have such a big load of code with illumos, I thinks it's normal that it takes some time to refine the prodecures and experimenting with new ways of contribution handling. I.e. I wouldn't expect one to learn how to drive a high-tech, higspeed Shinkansen train in a year even though one might be an experienced train driver ;-)

davekoelmeyer said...

+1 to everything Alasdair said! :)

kebabbert said...

Garret, I think you are doing the right thing and I support you. I have posted your blog on several sites, to draw attention to your blog and this project. I am able to post your blog when you write technical details, if you write opinions, it is harder for me to link to your blog.

But anyway, I am looking forward to switch to illumos, and I know lot of people are following this project. When it gets stable and fully open, people will finally switch. Lot of companies want to switch, but illumos is not stable yet.

JimKlimov said...

Hello Garrett,

I guess I also support your involvement in this project - at least because, for one, it is active and successful (namely, with new releases appearing every now and then) :)

As I'm on the outside part of the community, I'd like to take a moment to still complain that not so much is seen from the outside (i.e. when to expect a new ISO release or new "stable" packages in the repository), and somewhat share the concerns in that thread about "future of ZFS outside Oracle" you've participated in: http://opensolaris.org/jive/thread.jspa?threadID=138084

I understand that sometimes code or procedure is too "raw" to show to outside world before cleanup, I've been there myself, but still - the sooner the process becomes extremely public - the better. People who might be contributors but do not become ones may be simply put off by lack of visibility and methods of providing their input/patches. And they might quietly not complain about this, not "come forward" and remain as non-contributors :(

And, as I've commented on one or two occasions, some of your straight answers might be considered rude and "rebuff" curious people from the project. As a leader and a politician now, you can no longer afford to talk or write like an honest engineer ;)

While you're busy with really more important matters, if you take the time to answer someone's question or comment, try to understand what was asked (or state that you're not sure of what was asked, or if the asker knows the correct wording for his question) - taking the SCSI UNMAP comments as a recent example.

At the very least, with badly put questions like this you can't be certain to answer them properly anyway, but your response would seem a lot more polite and "non-rebuffing" to everyone who reads it.

Good luck to you and good frequent releases to the community, we're still waiting and hoping! ;)

//Jim Klimov

JimKlimov said...

On the other hand, if declared lack of cooperation from AMD/ATI and NVidia is true, then this leaves Illumos X11 with little support from major video chipsets (beside Intel integrated graphics), in particular.

However I'm not even sure how true their declared concerns are: it is my understanding that if they provide CODE to any open-source project, be it Linux or OSUNIX, this code would become available to Intel anyway.

And if OSUNIX continues with CDDL (I'm not sure anyone is at right to change the license) then Illumos/OpenIndiana users or even distros can legally grab these drivers, microcodes, etc. anyway, either as compatible binaries or as compilable code.

Finally, there's lots of OSes and companies which cooperate with both hardware vendors, including Sun/Oracle in the Solaris field...

Am I wrong anywhere here?


A Hettinger said...

I just noticed this, and wanted to voice my support as well. If NV or AMD have issues with governance (or anyone in that thread, for that matter), they need to take them out into the open. If they want to fork, great, wonderful, whatever. The real question is, will they have anything to offer? I don't know about AMD or NV, but for me it comes down to "put up or shut up." You've managed to get things done.

Frankly, the only thing I find surprising here is that you bothered to respond to this at all.

andy_js said...

I think a problem that Illumos really needs to solve is how to handle drive-by contributors. I've seen some statistics that suggest as much as 50% of the contributions to the Linux kernel are from one time contributors. With the current Illumos RTI process it seems unlikely that these changes will ever make it in.