Views on software from Bryan Cantrill's deck chair The Observation Deck

Wednesday Jun 16, 2004

So another article showed up covering the same press meeting that I discussed earlier. Again, despite the fact that it was less than one tenth of one percent of the content of the rountable, the headline is open source. On the one hand, I feel slightly vindicated in that this one at least quoted me a little more accurately. And then there's this:
"But I'm also sure we'll be revisiting a few comments in the code here and there -- I just thought of a particularly disparaging one I might have left in having to do with C++ unions," Cantrill said with a laugh.
This was actually in response to a question -- someone asked (lightheartedly, I had thought) if there were any inappropriate comments in Solaris that would have to be cleaned up. I responded -- indeed with a laugh -- that there were some profane comments I could think of that had to do with unions in C. (Note: C, not C++ -- not that C++ unions don't deserve the same coarse words, only that C++ has bigger problems than just unions.)

Needless to say, I was quite surprised to see this off-hand comment show up -- and the reason for the disparaging comment probably deserves a little context. The comment in question is in code that I wrote for a loadable module in mdb, the Solaris modular debugger. This particular code is part of postmortem object type identification, a mechanism for identifying arbitrary memory objects from a system crash dump. I actually wrote a paper on this, and presented it at AADEBUG 2003 in September. Anyway, if you read the paper, you'll see why I was feeling malice towards unions when I wrote the comment: the presence of unions makes type identification needlessly difficult.

So that's the explanation for the disparaging comment about unions, for whatever that's worth. And I'm still holding out some hope that we'll see an article on the actual technical content that we presented, and not the open sourcing of Solaris that we refused to talk about...
Thanks to those of you who joined us for the Expert Exchange this morning. Adam and I were typing furiously trying to keep up with all of your questions! In fact, we were typing so furiously that about a third of the way into the session, the "y" key on my laptop stopped working. No capital Y, no lower-case y, no y's whatsoever! Panicky, I tried about four sentences with a y in the X cutbuffer (pasting when I needed a y), but I discovered that -- like many of the letters that you wouldn't pick first on Wheel of Fortune -- y's frequency is still sufficiently high to make living without it nearly impossible. (Three y's in that last clause alone!) So I took out my car keys, pried off my "y" key, took off the hard plastic mechanism underneath it, and discovered that I could still get a y if I prodded the soft plastic underbelly of what used to be my "y" key. I picked up midsentence of the answer I was working on, and (fortunately) I made it through the rest of the chat without losing any other letters...

Anyway, hopefully you got a chance to ask that nagging question you had on DTrace. If you didn't, don't worry -- just head over to the DTrace forum and post it over there. Having said that, it looks like someone just did; off to the forum...
So several of us spoke with analysts and members of the press yesterday on Solaris 10. The idea was that it would be a deep-dive on three of the major technology areas in Solaris 10: DTrace, Zones, and ZFS (a.k.a. the "Dynamic File System"). Of course, at the outset, the press was really only interested in our (pre-)announcements about open sourcing Solaris. We had to spend two minutes at the beginning of the meeting saying yes, we were committed to it, and no, they weren't going to get any additional information out of us. But I guess I shouldn't be too surprised that one of the stories to come out of that roundtable headlined with open source. From the story, you would think that we spent the entire time talking about open source -- it reality, we spent the entire time talking about the three technology areas, and the first several minutes explaining that we explicitly weren't talking about open source. Oh well...

And for the record, I didn't say "technically, it is not a problem to do this", I said "this is not a technical problem." To me, these have different connotations. I am also attributed in that article with "[w]e're engineers and we've written the cleanest code and we can't wait to share it with the world." While this expresses my sentiments accurately, my phraseology got a bit mangled. (For starters, I don't generally speak in run-on sentences!) What I said is more like: "We're engineers; we obviously understand the value of having the source code. We believe that we have some of the cleanest code anywhere, and we're looking forward to showing it to the world." (And hey: we do have some of the cleanest code anywhere -- but somehow I don't think that we're going to see a story about the beautiful ASCII art block comments in /usr/include/sys/dtrace_impl.h...)