There and back again: a narrative of OSCON 2008

The Open Source Convention, or OSCON as it's more readily known, is an annual confluence of all things open source that has taken place since 1998. From its origins as an informal get together of Perl aficionados, OSCON is now regarded as the place to go for all things open source.

This year marks the 10th anniversary of OSCON, and I was fortunate enough to be a part of that history.

About me

Originally from Chicago, I moved to the Seattle area in 1989 to work at a then-unknown and relatively small company called Microsoft. While no longer a Microsoft employee, these past 19 years have been interesting indeed. Times have changed, and so has what it means to develop software. To me, the future of software has tended more towards global, community-based development practices that foster openness and success through merit. Gnu/Linux and its derivatives are great examples of that future. With such truly amazing changes taking place, what a great time it is to be part of the software development world.

I won the conference pass!

Big thanks to Jeremy at LinuxQuestions.org and the folks at O'Reilly for allowing me to attend this year's OSCON event in Portland, Oregon. As you may or may not know, a drawing was held in early May of this year, and I ended up with the lucky conference pass. OSCON 2008, here I come!

Tuesday

1524: the hotel room

Well, here I am, sitting in my hotel room in Portland, Oregon, getting ready to go to the OSCON. The good news: WiFi is available, albeit only 802.11b (go figure?). The bad news: my laptop battery is reporting total rigor mortis: 0% charge after charging it up this morning before leaving Seattle. Figures.

A note on my time format

I see you've noticed that I use a 24-hour time format. You want to know why (he asked rhetorically)? It's because it's efficient and the rest of the world (besides the U.S. and Canada, with the intelligent exception of Quebec, of course) uses it. None of this "A.M." or "P.M." crap to think about. It's also ISO compliant (ISO 8601), although these days, it might be more appropriate to use a 12-hour format just to spite ISO. But, I digress.

1901: the conference bag

I arrive at the Oregon Convention Center about 30 minutes in advance of the opening keynote. pick up my badge (nicely managed: just plug in your 6-character code that was sent to you via email and you're registered), and receive the requisite bag o' tschoskes. This years bag has a nice blue-black theme (a la Intel) going on, but turns out to be difficult to carry around over my shoulder, so I resort to using my laptop (errr... desktop) bag instead. As for the contents of the said chic-but-not-so-functional tschoske bag: an assortment of Firefox pins, a sheet of Ubuntu decals, a foam-plastic rocket that you can launch at reasonably high velocities and dent hotel lampshades with a largish, built-in red rubber band, and a shrink-wrapped DVD from IBM that initially appeared to be of great worth, but upon inspection, contains a number of time-limited demo applications. Also included in the bag is a sheaf of product literature. Oh yeah, and a special foldy map of the downtown Portland area. I'm sure that I'm leaving out other bits of marginal value, but those are the more memorable things.

1910: the opening keynotes

With badge in full view (there are a surprising number of friendly-but-stern gate-keeping folks around every corner) and ad-emblazoned tote in hand, I hustle over to the foyer where the opening keynote is to be held.

The level of activity in the foyer has suddenly increased. The milling around is paused. Heads turn towards the doors of the ballroom.

There is movement behind the great ballroom doors. The doors shudder. People are now casually drifting towards the doors. Calculated steps made to look unintentional as everyone carefully, slowly jockeys for position in front of the shuddering ballroom doors. "Who me? I've been standing right here in front of these doors all along, really."

Ahhh... the keynote doors are opening now. Wait for it!

People file in with certain anxiety.

Many individuals are now lit by the soft bluish glow of their laptops. I'd guess there's a 10 - 20% distribution of these folks scattered rather coarsely throughout the room, keyboards clattering just below the din. From the stage, I imagine it must be a rather unnerving sight: peering into a darkly lit auditorium, and seeing these ghostly blue and expressionless floating heads flickering back.

As for myself, I am only lightly encumbered, carrying my recently-acquired Intel-flavored OSCON tote, a spiral-bound notebook of quad-ruled paper, and a pen, courtesy of O'Reilly (thank you). Very analog. Very organic. I am living the moment through the written word, however anachronistic and surprisingly unwieldy.

Looking up from those oddly-sized quad-ruled pages, it appears that we are very close to the start of the keynote address.

A slide presentation has fired up (perhaps ironically, it looks like PowerPoint, but I could be wrong). Mostly forgettable trivia. Although, I should note (considering that this is a trip report, marginally, of sorts) that the slogan for this year's OSCON is "Open Your Mind." How's that for journalistic reporting at its very finest? Factual and eminently concise.

1937: Steve Holden's keynote: "The State of the Snake"

The keynote officially begins with a "State of the Snake" presentation by Steve Holden. He spends a very few minutes cranking through the state of the Python programming language, with much hand-waving and redirection as various releases of Python are imminent (2.6 is beta, yet 3.0 is beta as well?). Honestly, I'm not sure why this year's OSCON keynote has kicked off with the development status of Python. I mean, it's a pretty good language, but seems to me to be just a wee bit out of context here. Maybe I've missed something: some kind of deeply subliminal message.

1945: Mark Shuttleworth's keynote: "Open Source Can Drive Innovation"

Mark Shuttleworth speaks. His presentation focuses on how open source can drive innovation. By developing software that emulates the kind of global participation and collaboration that exists on the Internet, we naturally gravitate towards an architecture that encourages modularity and extensibility. Instead of monolithic software stacks, we are liberated into keeping just the pieces that we want, and continue to build "upon the shoulders of giants."

Mr. Shuttleworth also talks of synchronized GNU/Linux platform releases in an effort to force what he calls a cadence of progress, where each metronomic beat set within the industry can be used as a metric for measuring incremental change and steady improvement.

Shuttleworth also predicts that, going forward, the Ubuntu product (which his company, Canonical, underwrites) will segue from a "not so pretty" operating system (term used loosely here) to one of great art and beauty. Such beautiful, elegant software, Shuttleworth continues, that it should "help users get laid," referencing a popular meme from Jamie Zawinski (http://www.jwz.org/doc/groupware.html). A lot of tittering here. The presentation ends at 2015.

Wednesday

0830:

Perhaps the first night has already taken its grim toll on this morning's zombie-mob of attendees. Hanging out in front of those same keynote auditorium doors this morning is most certainly more subdued than yesterday morning.

Starbucks coffee cups are randomly distributed amongst all zombie-mob participants, and little apparent selectivity is exercised.

0835: today's agenda

The large conference doors push open and the processional begins. Some folks move quickly and with the crystalline intent on being first. And thus, the cavernous conference room seats are filled, one by one.

Here's my day's session agenda:

  • 0845 - OSCON Keynotes
  • 1045 - "Rebuilding Linux for the Desktop," Keith Packard
  • 1135 - "What Makes a Modern Linux Desktop, and Why Do You Care?," Matthew Garrett
  • 1345 - "How I Learned to Love Revision Control," David Gray
  • 1435 - "Full-stack Introspection Crash Course," Theo Schlossnagle
  • 1630 - "Web Frameworks of the Future: Flex, GWT, Grail, and Rails," Matt Raible
  • 1720 - "An Illustrated History of Failure," Paul Fenwick

The keynotes

Settling in for today's full day of sessions, the room looks and feels electric: keyboards chatter between polite laughs and nods of acknowledgment, while the myriad big-screen overhead displays carousel through bits of OSCON-related administrivia. Did you know you can collect OSCON flair: bits of colorful ribbons taped to your badge to call out your interests to others? Flair? Like "37 pieces of flair" from the movie Office Space? No, I didn't know I could collect OSCON flair... but now I do.

Ahhh... the lights are dimming now. Here we go...

0850: Allison Randal's keynote: "Welcome to OSCON"

The OSCON Welcome talk begins, hosted by Allison Randal. I'm a bit confused that this is a "welcome" keynote, but we're right smack in the middle of the week, and more relevantly, we're right smack in the middle of the OSCON Convention. Perhaps this is some subtle OSCON cultural thing.

Ms. Randal reminds us that this year's diamond sponsors are Intel and Microsoft. I wasn't aware that the folks running OSCON had such a fabulous fashion sense. I wonder if those diamonds will go into designing a nice brooch pin or a more classically-stated princess solitaire pendant. I can't wait to find out.

0905: Tim O'Reilly's keynote: "Open Source on the O'Reilly Radar"

Tim O'Reilly speaks. His presentation is something of a retrospective on the past ten years of OSCON (yes, this year is the ten year anniversary of the convention). Interestingly, OSCON evolved out of a conference directed specifically at Perl users (hence the name of the conference back in 1997, "The O'Reilly Perl Conference"). I'm still not sure why yesterday's first keynote was a state of the state address on Python. I'm so confused.

Mr. O'Reilly also speaks on the status of open source development, providing some easy-to-digest slides (charts and pretty pictures) that suggest that open source software development clearly does exist. Of the 2.3% of IT (Information Technology) jobs available (per Bureau of Labor statistics), 1.8% of that 2.3% are open source jobs in technology companies that use open source software. In companies that are decidedly (at least, according to the Bureau of Labor) non-tech, .25% of that 2.3% are open source jobs. So, that's really great news... I think. Clearly, I have paid too much attention to the easily-digested charts and pretty pictures.

Looking forward, Mr. O'Reilly speaks of three significant trends in the world of open source: cloud computing, an open (programmable) web, and open mobile.

Cloud computing is all about moving application services off your local machine(s) and hosting them on the web (err... cloud). The great benefits here are scalability and virtualization, usually offered up as a pay-per-use or subscription-based service. Some references that Mr. O'Reilly mentions include amazon.com, google.com, engineyard.com, 10gen.com, reasonablysmart.com, and rightscale.com.

The open (programmable) web topic is really an underscore to Mr. O'Reilly's original claim to fame of the term "web 2.0." The programmable web is a way to understand the Internet not so much as a series of destination sites (or tubes... wait!... who said tubes?), but as a platform for extensible services, an "Internet operating system," where data is the key focal point (a notable quotable: "data is the 'Intel Inside'"). References include dopplr.com and... wait for it... programmableweb.com. Clever name.

And finally, Mr. O'Reilly speaks briefly on the topic of the open mobile platform. With the success of Apple's iPhone, there will be an increasing expectation for the access of information via mobile device. Some thought will need to go into how to split user activities between their mobile device with a physically limited interface and the more mature interface of the desktop (Apple's iTunes service is an example of how to split some functionality between the web and a local host), but there is clearly a move in that direction. Examples include openmoko.com and Google's Android mobile platform.

0925: Christine Peterson's keynote: "Open Source Physical Security: Can We Have Both Privacy and Safety?"

Wow, that's a long keynote title.

Christine Peterson, from the Foresight Nanotech Institute ("Advancing Beneficial Nanotechnology," try to turn that into a catchy ad jingle), and credited with inventing the term "open source," speaks on the topic of the future of nanotechnology. Honestly, it's pretty gloom-and-doom stuff, laden with some heavy-duty conspiracy theory anecdotes. I mean, who am I to argue that our municipal sewers aren't regularly monitored by the government in an effort to locate communities harboring illicit drug users? So, I guess if the feds can't catch you red-handed the moment you bought those illegal drugs, they'll get you long after you've used the drugs, presumably just about the time when you really could care less—about much of anything.

Ms. Peterson does make a very interesting observation about how the government (she refers to the government as "DC") handles issues of, in this case, surveillance. In her view, the DC bureaucracy creates surveillance tools that are top-down in nature: large, monolithic, centralized systems of rules and processes that, by their very nature, generate vast datasets intended for limited and privileged audiences. Conversely, some DC security issues, such as terrorism, tend to operate from the bottom up, using decentralized thinking and toolsets that are specifically intended to create (or solve) very targeted problems. My own personal interpretation on all of this is to rehash the old idiom: a solution in search of a problem vs. a problem in search of a solution.

Overall, an interesting, albeit spooky, presentation.

0940: Dirk Hohndel's keynote: "Linux for the Next Generation Mobile Internet"

Dirk Hohndel of Intel speaks next. Originally, this keynote was supposed to have been by Imad Sousou, the Director of Intel Open Source Technology Center, but he was unable to attend at the last minute. Interestingly, it turns out that it was Mr. Hohndel who had written the presentation all along to be given by Imad. So, things seemed to have worked out for the best.

Mr. Hohndel's presentation, entitled "Linux for the Next Generation Mobile Internet" is a quick status on Intel's mobile Linux project called Moblin (mobile + Linux = Moblin). Unfortunately, the project was supposed to have been released in time for OSCON, but appears to be three to four weeks behind schedule. Honestly, I wish I could convey additional information to you about a potentially cool project, but I must've nodded off, as I have paltry few notes scribbled here on my solid-state, always-on, quad-ruled notepad. I blame this morning's carbohydrate-stuffed continental breakfast!

1015: break time, and wandering around

Break time. Time to wander around the Expo Hall a bit before my first session begins in a half hour.

At any conference, there are typically any number of exhibits to meander through. These are the vendors who pay good money to set up kiosks and booths so that they may proselytize and pontificate on the hows and whys their product is better than the other guy, ironically and uncomfortably set up in a nearly identical booth two feet to their left or right, or both ("Brand X, I'd like to you meet your neighbor, Brand Y"). The beauty here is that we, the meanderers, are unleashed into this competitively-charged environment to roam free and are—in the end—the real reason why the vendors are here: to entice us to buy stuff, their stuff, and oftentimes, cool stuff. Effectively, we are kids in a candy store, and the candymen (and all-too-rare) candywomen are giving away free samples. A lot of free stuff: enough to rot right out the teeth of even the most ardent tooth-brushing, dental flossing three-times-a-day-and-after-every-meal fanatic.

I grab for all the goodies I can stuff into my Intel-flavored tote. T-shirts, magazines (one with a brilliant Skittles-candy-fruit-chew-yellow cover), a stuffed-animal octopus (each leg symbolic of that vendor's different application suite... huh?), drink koozies, bottle openers, a little LED light for... finding... stuff... at night... when it's dark. All of it, into the tote. Candy. Free candy. All mine mine mine!

Hours later, I will have a belly-ache and will question why I stuffed my tote so full of free stuff.

1135: Matthew Garrett: "What Makes a Modern Linux Desktop, and Why Do You Care?"

From the session description, I was expecting a big picture understanding of X server (as in X.org) with a look forward on the future of X. Instead, this talk is really a discussion of some of the better known bugs in X, and when and what fixes will be made.

1345: David Gray: "How I Learned to Love Revision Control"

This session is a quick rundown of what revision control is, with a bias towards subversion (which is fine, but various subversion commands tended to be focal point of the talk, when the larger concepts of what those commands do would've been more enlightening). The use cases provided as examples didn't really demonstrate a real need for revision control, rather that certain company practices are pretty dubious indeed. I don't think even revision control would've saved them. In any case, I was left desirous for just a little bit more love for revision control.

Lots of Macs at OSCON

Note to self: wow, there are a lot of Macs here! I mean, I'm seeing a majority of Macs here. If I were shoved up against a wall and asked to guess what percentage of Macs I was seeing, I'd croak out well over 60%. Maybe 70%. Maybe more, if you pushed me down and twisted my arm.

1435: Theo Schlossnagle: "Full-stack Introspection Crash Course"

Not sure which came first, the excellent session or the excellent speaker, but this is an exceptional session. Mr. Schlossnagle walked us through an overview of DTrace, a debugging framework developed by Sun, and then proceeded to give the class a demonstration on several live servers. Very cool stuff. Highly recommended. Too bad DTrace doesn't run on GNU/Linux boxes... I was all excited to go home and break something just to attempt to fix it with the genie-in-a-bottle magic that is DTrace. This is, hands down, the best session I've attended so far.

1630: Matt Raible: "Web Frameworks of the Future: Flex, GWT, Grail, and Rails"

This session is an overview of some of the more popular web frameworks very well presented with both pros and cons, and some benchmarks comparing various scripting languages. Hint: don't use scripting languages if speed is important. Ummm... okay.

1720: Paul Fenwick: "An Illustrated History of Failure"

Well, the session title says it all. Mr. Fenwick's presentation walks through some of the better known technology failures caused by humankind, culminating in the Northeast Blackout of 2003. Clearly, he is at ease with his presentation, and is great at timing his humor. The take-away from this session: don't make mistakes, and if you can't guarantee that, try to make very small mistakes instead.

Thursday

0800: today's agenda

Today's plan of attack:

  • 0845 - OSCON Keynotes
  • 1045 - "Ubuntu Desktop Technologies," Ted Gould
  • 1135 - "Just Enough C for Open Source Projects," Andy Lester
  • 1345 - "Do You Believe in the Users?," Ben Collins-Sussman & Brian Fitzpatrick
  • 1435 - "Top 10 Scalability Mistakes," John Coggeshall
  • 1630 - "Wonderful World of MySQL Storage Engines," Peter Zaitsev

0835: keynotes

Getting settled for this morning's round of keynotes. Folks this morning are less chatty. A little more fuzzy. Sedate. Placated. More slow-moving and leisure. Seems like we've all fallen into a familiar pattern now: eat, hang out, listen; eat, hang out, listen; rinse and repeat. A comfortable feeling, like slipping into those ratty old gym shoes that fit so perfectly: they don't make you run faster or jump higher anymore, but still, they're familiar and feel good.

0845: R.E.M. music at the conference?

A R.E.M video? Huh? I don't get it? I'm not comfortable anymore. I am no longer sedate. This is not familiar. I feel displaced. Why am I watching a R.E.M. video? I can't seem to connect the dots. Is there anyone here who's getting this? Anyone?

A few minutes later, this video is still going. Am I in the wrong conference room? Is this MTV? Or worse still, VH1? Do these channels still do videos, even? Where am I? I'm so confused.

The video is finally over. Not that I'm not an R.E.M. fan (which, I'm not), but it just wasn't making much sense as to why I'm watching an MTV (or VH1) video.

But! Wait a second! The dots are now connected. That R.E.M. video was an "open content" video, an open source policy called Artistic License 2.0, handiwork of the OSI (Open Source Initiative).

It's all clear to me now. I can finally settle back into my comfortable, warm state of fuzzy and sedate.

Let the keynotes begin in earnest.

0853: Keith Bergelt's keynote: "Open Invention Network and Its Role in Open Source and Linux"

Keith Bergelt from the OIN (Open Invention Network) speaks on the state of intellectual property and patents as they apply to open source. Interestingly, from his point of view the concept of open source will likely be the most important invention in post-modern industry. Wow, that got my attention. Just think: the random stuff that we're doing for fun (and sometimes, but not often enough, for profit) is historic. Never really thought about that.

Mr. Bergelt also indicates that the art of patent-trolling is on the increase, given the downfall of our economy. Bad folks without jobs are looking to make a quick buck, and if that can be done without doing any real work, so much the better. Greed might be good; but graft most certainly is not.

0907: Peter Salus's keynote: "Anniversaries"

Dr. Peter Salus speaks on the history of computing, specifically how the Internet came to be. He has written a new book entitled The Daemon, the Gnu, and the Penguin. Oddly, while Dr. Salus held up a copy of this book, murmuring in the audience suggests that this particular book is only available online, as it's released under the Creative Commons 2.0 license.

0925's keynote: David Recordon: "Supporting the Open Web"

David Recordon of Six Apart speaks on the evolution of the term "open web." Not much to note here, as... uh... I have no notes. Evidently, I am not moved.

0935: Danese Cooper's keynote: "Why Whining Doesn't Work"

Danese Cooper of Intel and the OSI speaks on the topic of "Why Whinging Doesn't Work."  Now, originally I had written down "Why Whining Doesn't Work," thinking that Ms. Cooper probably had a typo in her slide, or that maybe there's an alternative way to spell out the verb "to whine," as "to whinge." Clearly, I'm clutching at straws here. What is this "whinge" concept to which she is constantly referring?

Ah... then it's explained to me (and the audience) that whinging is a type of whining—British in derivative—which in turn, is a type of complaining. Well, now it's all clear to me. So what? I guess I missed to point of the talk.

1045: Ted Gould: "Ubuntu Desktop Technologies"

Another excellent presentation by an excellent speaker. Mr. Gould walked through some of the more common elements of the Ubuntu desktop stack, including:

  • GTK -- the Gimp Toolkit, a set of tools for developing dialog boxes and user interface elements
  • GConf -- a type of globally available preferences database, similar to the Windows registry (for those readers who are familiar with that particular OS)
  • GStreamer -- a multimedia framework (or API, though I'm not sure if that's technically accurate) that allows applications to easily make use of available multimedia libraries
  • DBus -- a method for permitting applications to communicate between one another
  • Telepathy -- Similar to DBus (Telepathy actually uses DBus), but focuses primarily on real-time communication between applications

1135: Andy Lester: "Just Enough C for Open Source Projects"

The session doesn't seem as full as I would've expected, although it's also being held in a larger room, so there's that. Folks here seem a little sheepish too. Embarrassed to be seen here? To admit their interest in something that is presumed of so many of us developer types? I don't know, and I really don't want to go back down that oh-so-recently-trodden path again.

As for the presentation itself, I can't help feel that Mr. Lester is presenting the C language as dangerous and almost reckless in nature, stripped of all courtesies and horribly, disfiguringly loosely typed. The unspoken question repeatedly seems to be "why are you thinking of coding in C... can't you see you'll cut your fingers off or poke out an eye just looking at it?"

It's really not that bad, really. It's fundamental stuff, and critically so. It's good to know. Of course, I learned to code in C, so I am one seriously biased dude.

Whoops, someone just found a bug in Mr. Lester's code example... damn those pointer dereferences... ;).

1345: Ben Collins-Sussman & Brian Fitzpatrick, ""Do You Believe in the Users?"

This is the first (and only?) session that is team taught, and works. I'm reminded of the old slapstick bit by Abbott & Costello (never heard of them?... look them up!) In any case, the session focused on the consideration that should be made for the type of users that will be using your software, and how to respect them through honesty in marketing, good customer service, and most of all.. trust.

A great notable quotable from Mr. Collins-Sussman (I believe), referring to the act of learning something difficult as a "head compile." Brilliant.

1430: the home stretch

Coming into the home stretch now. Things are getting a bit tiring and a little frazzled. I just overheard someone while gathering in front of the schedule board in the common area that they were planning to go crash in a corner for a while.

1435: John Coggeshall: "Top 10 Scalability Mistakes"

Mr. Coggeshall, CTO of Automotive Computer Services, speaks on some of the ways to prevent problems when developing applications for your clients. His talk is focussed primarily around PHP (his native tongue), but can be generalized out to just about anything else. Big focus on planning and awareness of all pertinent issues long before coding begins. Make sure revision control systems are in place. And make sure that both developer and the customer are aware of when performance goals are acceptable, and when they are not. And, of course, always be proactive instead of reactive (the mantra of the new millennia, isn't it?).

1630: Peter Zaitsev: "Wonderful World of MySQL Storage Engines"

Peter Zaitsev of Percona, Inc., speaks on the current state of various MySQL database engines. I must admit here that while Mr. Zaitsev's presentation was excellent, I did have a difficult time understanding most of it, as he has a very thick Russian accent.

Mr. Zaitsev walked the audience through some of the more active MySQL database projects, including MyISAM, InnoDB, Falcon, PBXT, and Maria. He discussed some pros and cons of each, and when (or whether) to use them.

One particular highlight of the talk was when Mr. Zaitsev—during his overview of the history of MySQL—directs a question from the audience to a gentleman sitting at the back of the room. Turns out that it was one of the co-founders of MySQL, Monty Widenius. Who better to answer a question on MySQL than the inventor himself?

Evidently, Mr. Widenius is currently working on a project called Maria, which is intended to replace InnoDB (which was acquired by Oracle Corporation several years ago, the future of which is somewhat unknown). According to Mr. Zaitsev's benchmarking analyses, and confirmed by Mr. Widenius, Maria isn't quite ready for primetime, but will be very soon.

Friday

0817:

The final day has come. Everything is just a bit less than it was the day before. Shirts seem to be a bit less crisp. Badges are dog-earred and hang askew, now only an afterthought and more souvenir than a hoped-for introduction. The idle chatter is all but gone. The staticky high-tension wires of the social networking power grid are all but silent now: all but a resistant few are back in front of the familiar bluish glow of their laptops.

Clearly too, there are many fewer people here this morning.

The Expo Hall is gone, reduced to a crumbling landscape of concrete blocks, paper streamers, and aluminum poles. The bleak aisles are like city streets in miniature; the broken kiosks: tiny crushed buildings. The colorful, vibrant candyland metropolis of just one day ago, bustling with candymen and candywomen has been reduced to the set of a low-budget Godzilla movie. Nothing remains, except for... remains.

0841: The keynotes

Today's keynote is not so key. The great ballroom doors have opened to reveal a space much smaller and much less cavern-like than prior days. The room has been rearranged and is about a third the size of its former self. Attendees, those of us who remain, unenthusiastically shuffle in. Melancholy hangs like a low fog in the room giving everyone a deep sense that the end of a great experience is close at hand.

Dress code is lax this final morning.

0852: Benjamin Mako's keynote: "Advocating Software Freedom by Revealing Errors"

This morning's first keynote is from Benjamin Mako Hill of MIT (Massachusetts Institute of Technology), entitled "Advocating Software Freedom by Revealing Errors." It's a thoughtful discussion on how we can better understand technology by exploring how and when errors occur, and how users react in consequence. In effect, errors are the tip of the iceberg of any underlying technology and should be studied with that understanding in mind. One interesting quote, taken from a member of Xerox PARC, states that "a good tool is an invisible tool."

Mr. Mako Hill suggests that those interested in further understanding his research go to revealingerrors.com.

0905: Dawn Nafus; keynote: "Three Challenges"

Dawn Nafus, an anthropologist from Intel speaks on the topic of the implications of a society awash in datasets. Ms. Nafus states that we have become an "audit culture," exposing our every move, our entire existence to anyone interested in viewing that data. Ms. Nafus also makes a distinction between generating and viewing data both in and out of context, using the ubiquitous GPS as an example. I think the point is that using GPS data to locate a friend would be a good thing, while providing GPS coordinates of everyone to anyone interested in that data takes the data out of context, thus making it a bad thing.

Ms. Nafus' second of three challenges (the first being awash in datasets) is that there is a global crisis in food and water. I couldn't make the connection between... well, anything here. Her third challenge is that we must strengthen global growth in technology producers, not just technology consumers. This point is interesting, but there really is no follow-up, so I'll speculate that Ms. Nafus' final point correlates with her opening point that data must have context to be of value, and so, by enabling producers of technology, we are also educating them, and increasingly giving context to the that that is produced. I'm guessing here.

0920: Sam Ramji's keynote: "History.forward()"

Sam Ramji of Microsoft speaks on the state of open source, and how Microsoft is helping the cause.

Honestly, I was surprised by the respectful reception of Mr. Ramji, both when he stood up to speak, and at the end of his discussion. Unfortunately for me, however, I really didn't get a warm fuzzy from his attitude, which seemed a teetering balance of defensiveness and arrogance. Particularly uncomfortable was when Mr. Ramji announced the collaboration between Microsoft and the Apache Foundation: it felt entirely too condescending, as if the audience were witnessing a lamb being led to the slaughter. I wish I could have felt otherwise, as Mr. Ramji honestly seemed to believe that he was doing all the right things in the eyes of the open source community. And perhaps, at least in a relative way, he was. Alas, it was what it was, and I don't know why it felt so wrong.

But I must say again, that I was surprised at how respectful the audience was toward Mr. Ramji. After his talk had ended, there was a palpable sense of relaxation that spread through the audience, as if we all had narrowly avoided some great calamity.

As a postscript to this talk, however, I was evidently not alone in my discomfort for what (or perhaps how) Mr. Ramji had said in his talk. In the Q&A session after the keynotes, Mr. Ramji was accosted by numerous attendees with questions aimed at the corporate stance of his company (Microsoft) as it affects intellect property, patent litigation and the liberally-discussed OOXML/ISO debacle. It got to the point where the keynotes moderator, Allison Randal, had to urge audience members to direct their questions at panel members besides Mr. Ramji. The Q&A politely ended soon thereafter.

0938: Tim Bray's keynote: "Language Inflection Point"

Tim Bray of Sun speaks, rather quickly and chaotically, on the state of dynamic languages. In a nutshell, the debate between dynamic vs. static languages is ongoing (not very prophetic, methinks). Mr. Bray did mention some potential upstarts to watch in the programming community which include OCaml, Erlang, and Scala.

1045: Roy Fielding: "Open Architecture at REST"

My only session today, and so also my last, is also one of the best. While the title of the session suggests a focus on RESTful (Representational State Transfer, a method for designing software architectures) development, it actually steps back a bit and covers a much broader topic.

Mr. Fielding makes use of his roommate's doctoral dissertation, entitled "Open Architecture Software: A Flexible Approach to Decentralized Software Evolution." That title is much closer to Mr. Fielding's talk, as it's all about building software in smaller, more discrete pieces so that—together—they can appeal to a much greater diversity of users. Where software development on the desktop when there was no distributed computing, was developed as monolithic in nature, software in today's age of the Internet must conform to the structure of the Internet, which by definition, is distributed. Mr. Fielding points out that this move of echoing the structure of communication (be it at a single desktop, or on a the web) in the design of a system is known as Conway's Law.

So, to take advantage of this shift in software development towards a more distributed, modular approach, developers must design in APIs and hooks that permit extensibility and growth well beyond what might initially have been conceived. Perhaps one of the most well-known examples of this type of thinking is Mozilla Firefox, which—at its core—is a vanilla HTML browser, but has grown well beyond its original design because of the modular, plug-in, nature of its extensibility

you can view online Mr. Fielding's roommate's paper.

Overall, a fascinating session, and perhaps also the session that will resonate with me long after I am back in Seattle.

1132: The end?

Well, I've just turned in my badge for recycling, so for me, this year's OSCON event has now officially come to a close. As I sit here in the hallway with my bags packed up, I see just a handful of attendees racing to make their final session. And then, for them too, OSCON 2008 will be over.

The end

I'm back in my Jeep Wrangler and winding my way north out of Portland, back to Seattle. In a few hours, I'll be back home. Already, I'm anxious to review my notes and research some of the incredible ideas put forth so openly this past week. It really is an exciting time of change in the software industry. And I am both lucky and proud to be a part of it.

When we exist in the present and do what it is that we are really passionate about, we can never expect to be an important part of what will—one day—become history.

But this past week at OSCON 2008, just hours ago, is gone now.

And already, it and all the people who have participated in it and made it what it is, have made history.

License

Verbatim copying and distribution of this entire article are permitted worldwide, without royalty, in any medium, provided this notice is preserved.