It's been two years, today, since one of the defining moments in my recent life.
As I picked myself up from my toppled bicycle, some folks pulled up, and shortly
I was speeding across the city. I couldn't see what was passing outside, but I
knew where I was every inch of the way. This is my city. A friend jokes that the
person I used to be died in the hospital that night so I could be born. He is
not far off the truth. Not all such defining moments in my life have involved
broken bones and being bandaged like a mummy, though:
I've never seen a computer with such a large monitor, I thought, as I sat down
in front of a 19" monochrome display. Just a hair over twenty-four years ago, I
found myself sitting at a DECstation 3100, typing the username and initial
password of the form all students received, and having an unfamiliar graphical
user interface come into view. Until that point, the single Macintosh with
System 7 at my high school was the extent of the GUIs I'd come in contact with.
I don't remember what I first typed up, but the custom-built computing
environment that had preceded me at Carnegie Mellon by only a few years offered
its own rich text editor. I'd become quite familiar with it while doing
assignments over the next few months. I saved my file, and logged out. Curious
as to what would happen, I logged in again immediately to confirm that things
looked the same as they had moments earlier. But it was time for work, and I
again logged out so I could go into a back office in the library and spend
several hours cataloging new books. Later that day, though, I chose a different
computer, and tried again. My files were there, too. The concept was completely
new to me.
By my second year as an undergraduate, I was well-acquainted with AFS. I had
acquired a workstation of my own, a Sun 3/160, and had set it up as a hybrid
between the university's computing system and standalone. AFS was a commercial
product, but I was able to find binaries the university had licensed that I
could use. Weeks later, in a moment that would presage work I now do in helping
to improve security and usability, I realized that source code probably could be
found in a readable place somewhere in this giant global filesystem, and soon
had something only slightly obsolete that I could build myself.
My first full time job was with the university's academic computing
organization. When the previous Transarc/IBM site contact left for a job
elsewhere, AFS became my responsibility. By this point, I knew how the pieces
worked, even if I was not familiar with every detail of the internals. So, six
years from when I discovered the wonders of a distributed filesystem, I found
myself in a position to push to legally develop for what was essentially a
closed source commercial product for most of the world. The community grapevine
suggested the DARPA grants used to fund some early work on the product could be
used to obtain public domain copies of some of the source, and I used my
new-found role as site contact to ask hard questions. After all, I had been
given a bully pulpit.
The first piece to be thus freed was Rx, the RPC system layered above UDP. A
copy of the letter I received from the corporate attorney describing what was
legally available has been online since shortly thereafter. I passed the source
along, and a group of developers at a university in Stockholm picked it up for
their project: an AFS protocol-compatible client called Arla. I soon found
myself working on it, but at the same time I still had access to the
fully-functional closed source product, so I had to exercise care in what I did.
Just a couple years later, after increasingly-scattershot support of the
product, IBM announced their intended end-of-life for AFS. I was one among many
voices who started nagging immediately. And so, when in summer 2000 I was at an
academic computing forum in Seattle, the call we received from IBM provided news
that was welcome and relieving: AFS would be open-sourced just a few months
hence. My peers at other institutions that used AFS and had source licenses
joined with me to help create an organization which would be ready to take the
code drop and do something great with it. I proposed an organization modeled
roughly on the one that had hosted the forum where the call had been taken. To
insulate against member organizations trying to sink the product, their
employees would be individual members of our board, and represent the interests
of their employer in the way they felt best captured it. For better and for
worse, the open source organization I proposed then is the one we have had ever
since.
OpenAFS, as it would come to be called, was released just about the time
Subversion was. Transarc had built their own version control on top of RCS, but
our code drop would not include that. We got code representing a distinct point
in time, and had to build a new means of managing it. Again I drew on what was
familiar, and built a partial toolset above CVS to mimic the best parts of the
way in which Transarc had managed their source. Among the first things that
happened was the need to apply the IBM Public License to the code in a way that
correctly represented what rights could be ascribed to which files. There,
again, I can tell you that the group of us who did the work made some
unfortunate mistakes. We did the best we could in the face of limited
accommodation from IBM's legal staff, who felt they'd spent too much time
already in getting to the point we were at.
In hindsight, the license OpenAFS was saddled with has been its biggest issue.
IBM never used that instance of the license again. Ongoingly, its
incompatibility with the GPL has combined with other factors to make Linux
support a heavy burden: sometimes free isn't *free enough*.
In spite of the issues facing us and the bare shoestring of resources available,
we were able to support and improve OpenAFS on a variety of platforms. The
common ones, Solaris and Linux, got more love than the exotic enterprise System
5 variants, to be sure, but we released and supported platforms including AIX,
HP/UX, and IRIX. We added support for NetBSD and eventually MacOS X. Just under
a year into the project, I found myself on a train to Boston. Over the course of
the long ride, I built the first autoconf support OpenAFS ever had. Mobile
internet was not in my grasp, and laptop drives were considerably smaller. I
took some documentation and examples with me, and learned as I went. It was
characteristic of my experiences getting to that point: my formal education was
in engineering rather than computer science.
Over the course of the next several years, there would be a community to grow
and sustain in addition to simply caring for code. The community was comprised
of the end-users of the product, the developers -- volunteers from the
perspective of OpenAFS, and the organizations which deployed it. As with any
mature technology, we had many people you'd consider to be 'characters'
involved. Certainly at the time I was one of them. My personal life was one high
in stress and low in happiness, and so anyone who perceived me as miserable
probably wasn't far off the mark. It was made no easier by being, effectively,
the provider of last resort. If no one else would do something that we
absolutely needed, I marshaled the only resource I controlled: me. Still, I
tried with varying success to be involved in positive change.
Four and a half years into the OpenAFS project, I had reached a point where I
felt that my relationship with Carnegie Mellon had reached the point of
diminishing returns. We were bad for each other, even toxic. I moved on to a
full time position with Sine Nomine Associates, for whom I had been doing
contract work on OpenAFS for several years already. More personally, I took the
largest leap of faith I'd ever done in my life. By the time I hosted the 5th
birthday of the project at my house, I had unloaded much of the misery as well
as about 90 of the pounds on my person, meaning the weight thus lifted was both
literal and figurative. For the next 3 years, I continued to work on growing
OpenAFS while also supporting a number of corporate and academic customers in my
new-found role.
Again, though, I felt the need for change, and moved on to try my hand
independently. I considered again, as I had when I left CMU, if the time was
right to do something else with my life. As previously, though, I felt I had
more to give to OpenAFS, and I did not want to let the community down. So, I
kept contributing, and ended up getting onboard at Your File System, Inc.
Much as when things started with AFS, the global filesystem product we have been
developing is just one piece of a suite, the fabric which can and will tie
together many uses. Auristor was built from the start to be compatible with the
AFS protocol shared with the original IBM product, OpenAFS, Arla and Linux kAFS,
while still offering new security, reliability and performance features not
previously available in any of the others. It has been an exciting time, again,
to work on a distributed filesystem.
As you have possibly also noticed, though, it has also been an exciting time to
be me. Forty years into my life, I finally came to grips with something I knew
but did not fully understand on the day I sat down at that DECstation so many
years ago. I did not learn much of the reality of what it meant to be
transgender until I found the Internet. Even in its primitive state, the indexes
to information I was able to find when I was finally introduced to Gopher far
dwarfed what I could learn simply from perusing the card catalog at the vast
library across the ravine from me. What I learned, early on, contributed to the
hopelessness that would continue to accumulate. So when at last I realized it
was time for a second giant leap of faith in my life, I again jumped.
My new epoch came just about when my unplanned hospital visit did. It was very
trying to explain the situation repeatedly at the time. I had to carefully pick
about in the world, ensuring I would find support to sustain me in the face of
possible devastation, and it took many months to again patch together my life in
a manner where I felt like I could safely just exist. And there would be damage
unintentionally inflicted upon me even more often than when deliberate malice
was in play.
In spite of that, just weeks after beginning hormone replacement therapy, I
found myself in a lecture hall at CERN with some of you, and spoke as I always
had about the status of our progress. My self-awareness as I did so was
certainly far greater, though, than it had been for any other time, and the
blazing red dress that clothed me was a statement of self-embodiment I had never
made in a public forum before. I had no idea what to expect, but what I got was
pretty much the same as always: the respect you'd hopefully accord any peer.
As I continued to work both on filesystems and on myself, I was afforded many
opportunities to see shortcomings that I had managed to overlook before. The
journey to becoming externally congruent with the person I always was inside
lifted a lot of extra weight from my shoulders, and so unburdened I could take
on things I might previously have glossed over. The OpenAFS community had never
had much consideration for diversity, as in many ways we were not so much
recruiting new members as trying to sustain and support the ones we already had.
This is probably my greatest personal regret looking back. And while I was not
and have not been made to feel unwelcome, I felt it best for others to ensure
that going forward, a code of conduct for contributors was in place, something
OpenAFS has just adopted. We also, for the first time, had a code of conduct for
attendees at an AFS Workshop just weeks ago. To my knowledge, there was no
inappropriate behavior, but having a framework in place to deal is like with
anything else a good idea.
My spouse, my colleagues, my family and my friends have all been wonderful and
supportive regarding my transition, but it has imposed new needs in my life, as
well as allowing me the opportunity to see new ways to contribute to the global
good. I can honestly tell you that the present is the happiest I have been in my
life. But there is still much work to be done personally, professionally and
globally, and I am but one woman. I will have additional stresses in my
transition. Auristor, our signature product, will require yet more of my time.
And there are so many injustices in the world that I feel I need to help right.
So it is with great regret that I now tender my resignation from the OpenAFS
project as an elder, a gatekeeper, and a member of the foundation creation
committee. It has been a great run over these past nearly 15 years, and as
someone who works at a vendor supplying AFS-compatible technology I shall
continue to be part of the community. However, I have been increasingly unable
to devote sufficient time to OpenAFS, and rather than give far from the best I
have to offer, I feel it is best to move aside and give those who might step up
and do better the full and unburdened opportunity to do so. I hope to run into
you at future AFS events, and please know that I will continue to contribute in
the ways I feel I can.
All the best,
Daria Phoebe