This roundup is late, but better late than never…
FLOSS foundations
For the last three OSCON’s I’ve been attending a meeting for people deeply involved in the operation of open source foundations. Allison Randal of the Perl Foundation and O’Reilly has done a great job of getting the foundations to talk to each other about common issues. Many of these have revolved around legal and financial (non-profit regulation) issues. This year one big topic was the issue of trademarks, which is particularly relevant to OSAF. With a broad range of participation it’s unsurprising that there are varying policies on trademarks, ranging from the Mozilla foundation’s strict policy, which ran afoul of Debian, to the Eclipse foundation’s encouragement of “brand hijacking”. The group has a planet aggregator if you want to see what the various participants are up to.
Multicore programming
This was definitely a theme this year, with Intel being given keynote space to talk about its Threading Building Blocks, a C++ template library for dealing with threads. This is all well and good, assuming that you believe that threads are the right abstraction for concurrent programming — which I do not. Simon Peyton-Jones, whose career I’ve followed since my undergraduate days in functional programming (now at MS Research), was also given keynote time to talk about (software) transactional memory (STM) as a concurrent programing abstraction. Much of the original STM work was done in Haskell, and Simon also did a tutorial and a regular session on Haskell related topics. Sadly, aside from the display at the Programatic Programmer’s booth, Erlang was nowhere. It seems to me that if STM/Haskell is relevant to OSCON, then so is Erlang — I hope that this will be rectified next year. I think it’s still to early to declare a victory in the concurrency abstraction space, and at this point I think its important for people to be aware of all the possible contenders.
Community/People Talks
There was a dramatic increase in the number of these kinds of talks from last year, to the point of having an entire track’s worth. This was one of the things that I was most excited about, but I found a number of the talks to be disappointing. It was suggested to me that perhaps my standards for such talks was too high — of course, I don’t think so. I did enjoy Adam Keys talk on People Hacks. He did a good job of being very practical. One of his earliest points was that people are ruled by their emotions – something that logic oriented software engineers need to remind themselves of daily. I was pleased to learn that Adam is a reader – hat’s off to you for a good talk! Last year I missed the Art of Community panel, so I resolved to make sure that I saw it this year. Aside from the usual drawbacks of fhe panel format, this one was pretty good. There is a video of the panel so you can judge the content for yourself. It was particularly gratifying to hear Karl Fogel and Jimmy Wales say that they felt that automated/numerical reputation metrics were of little value. This is something that we’ve debated inside the ASF several times, so it was nice to hear people from different places come to the same conclusion.
Ruby
Like many people, I’ve been keeping an eye on the things that are happening with Ruby. John Lam, the creator of IronRuby was kind enough to invite me to go to dinner with some friends one night. Little did I know that the group would include Ola Bini, one of the JRuby committers. It was great to sit there and watch these two compare notes and share experiences and goals, despite one guy being a MS CLR guy and the other guy being a JVM guy.
Open Source and Rich Internet Applications
Since I’ve done some writing about the openness of various RIA technologies, I tried to drop in on talks that seem like they would be relevant to that. I went to Mitchell Baker’s talk Mozilla Firefox and the Internet as an Open Platform. The talk was more at the level of the principles in the Mozilla Manifesto. Those principles drive Mozilla’s perspective on RIA stuff, but Mitchell was explicit in saying that her talk was not about a particular technology or set of technologies. So while not directly addressing the topic, it was still useful to hear Mitchell expand on the points of the Manifesto.
The other related session was RIA Platforms and Open Source, the content of which was presentations by someone from Sun on JavaFX, and James Ward from Adobe on Flex (Nat apparently tried to get someone from Microsoft / Silverlight to show up, but wasn’t successful), followed by audience Q&A and a fairly superficial wrap up of the open sourceness of the various technologies. I was disappointed that the OpenLaszlo folks were not invited to present, expecially since in the ways that matter, they are more open source than any of the invited organizations. I made sure to mention this to Nat afterwards. Actually, both Alex Russell and I did, and the three of us had a little hallway track conversation about the RIA space, the browser compatibility conundrum, and related topics. Alex is super smart and utterly realistic about the state of the world — He called Dojo a “rear guard action” that is happening only because the browser vendors can’t/won’t do the right thing. Candor to the max. One very interesting thing that I learned was that Alex really likes WebKit. Like a lot. I found this very surprising since Safari doesn’t have that large a share, and I thought for sure that Alex would be unhappy at having yet another browser to hassle with. I always learn something whenever I get the chance to talk to Alex (which isn’t often enough) and this time was no exception.
By the good graces of Ryan Stewart, I was able to have lunch with Rob Savoye, the lead developer of Gnash, the GNU Flash player. Apparently, Gnash has been done without looking at the source of the Adobe player, and without looking at the Adobe spec for SWF. There is a set of compatibility tests for Gnash / Flash, which is also interesting. Being completely ignorant of Gnash, this was a great opportunity to find out what is happening with the project, and I left the lunch with quite a bit of food for thought. So did Ryan, I’m sure.
OSAF / Chandler
The talk that Mimi and I gave on Open Design (slides) was reasonably well received. The room was about 1/3 full, and we had a number of good questions afterwards. Mikeal and Adam’s talk on Windmill was standing room only, and we heard mentions about it from people in the hallway. It was great to see the screencasts of Windmill testing Chandler Server/Cosmo on Windows, Mac, and Linux. It seems like there’s pent up demand for a tool like this, so I am hopeful that people we both use and contribute back to Windmill. I know that Mikeal and Adam and the other Windmill committers are very eager for this to happen.
You can read some other OSAF OSCON recaps:
When I started at OSAF I was the only non-local staff member. Now about 1/3 of the staff is non-local, and as a result, we are using conferences more like other open source projects use them – as a way to spend some time together in person. One result of this, was some long discussions of Myspace and Facebook, the latest rages on the web. That motivated Mimi so much that she started creating a Myspace page right during the middle of a talk! I’m not sure what other things happened, but Mimi has written a great post on “the future of e-mail” over at the Chandler Project blog. Worth a read.
Seattleites
I saw a lot of folks from Seattle this year. Two other members of my local reading group went, and I saw folks like Joe Heck (still waiting on your post!). John Lam and I arranged to ride the train back together. John and I started rubbing shoulders long before he started working on IronRuby, but now that work has brought him to the Seattle area, I’m glad for the chance to spend some more time. Of course, we talked photography (how could we not), but John also gave me some insight into things that are happening inside Microsoft, particularly around open source. For example, I didn’t look at the Microsoft Permissive License that is being used for Iron Ruby. Spiritually, this is a BSD/MIT style license with the now required patent clauses. Another Seattleite who I met for the first time was Stephen Walli, who used to be the open source programs guy at Microsoft.
Photography
Some of you may have noticed that there are no OSCON photos from me this year. I did tote my camera stuff down there. I even brought a single “Strobist” light kit, in anticipation of a photowalk. Alas, for various reasons the photowalk did not materialize. At least I was able to have dinner with James Duncan Davidson, hold his new 1D-MkIII, and pump him for information about Lightroom. This year, I spent so much time in the hallway track that there wasn’t really much time to go roving around for good pictures, and I wasn’t excited about doing more shots of people standing on stages, or people sitting in rows watching people standing on stages. In any case, there was no shortage of people snapping pictures. Jeff Kubina was cranking them out, and caught me several times.
iPhone
I’ve studiously avoided contact with iPhones, but I wasn’t able to avoid it. Duncan was eager to give me a demo, and Mikeal kept whipping his out. I did borrow Mikeal’s a few times during situations where I would have used an iPhone, just to see if it would really work for me. Most of the time it seemed to. But I still am waiting for 3G, GPS, and the ability to use the phone as a modem for my computer. For $600, it has to do *everything*, and as cool as the iPhone is, it’s still missing out. Unfortunately I am in serious need of a new phone. The problem is that I am doing more and more coordinating / meeting via SMS and/or Twitter, and doing the numeric keypad text typing thing is a real problem. I repeatedly had to stop conversations to message someone back, and was rudely standing there trying to hastily text back. My apologies to those on the receiving end of this. I’m going to see if there isn’t something sensible that I can do before the next event.
I’m interested in your statement that you do not believe that “threads are the right abstraction for concurrent programming.” Have you written in greater detail about this elsewhere, or can you point me to some articles or blog posts by others on this topic?
Kevin, there are two directions that appear to lead to much more maintainable
and debuggable concurrent code than shared-state threads do. One (which Ted
mentioned) is STM (Software
Transactional Memory) (decent wikipedia summary); SPJ wrote or co-wrote some excellent
papers about STM in Haskell.
The other is Erlang-style actors/processes, either native in Erlang
itself, or via the actors library in the Scala language, a particularly
interesting implementation of a variant of the Erlang approach. For the
latter, see the papers “Actors that Unify Threads and Events” or “Event-Based
Programming without Inversion of Control” at the Scala docs page, or
Philipp
Haller‘s simple html-based Actors tutorial.
Kevin,
Threads are to concurrency what malloc/free are to memory management.
Additional refs:
http://www.knowing.net/PermaLink,guid,753006f4-48d0-4afe-ae1c-a96d96875cf8.aspx
http://www.tbray.org/ongoing/When/200x/2007/02/08/Berkeley-Parallel
http://lambda-the-ultimate.org/node/2386
Doug
The orginal work on Actors is much earlier than Erlang:
http://en.wikipedia.org/wiki/Actor_model