Tag Archives: open source

Opening up to distributed version control

Stefano has written a great introspective post on his inner reactions to a Linus video on Git. It’s good to see people being more open minded about this. I’ve never understood the resistance to distributed version control, especially open source software development is itself an example of the success decentralization. Even the “social” argument that distributed version control would somehow destroy communities seems odd to me. This year at the OSCON Art of Community panel, Karl Fogel said that a tenet of the Subversion team is to avoid using technology to solve social problems. Yet insisting on a centralized version control system seems to me to be doing exactly that. I think its noteworthy that the Subversion team itself has a “hybrid distributed/centralized VC model” as a long term goal.

Centralization in open source projects is a “community smell” (think code smell). It’s best avoided.

OSCON 2007

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.

OSCON is next week

OSCON is now barely a few days away. I like Portland, and I’m looking forward to being immersed in a sea of open source friendly people. Fortunately, the weather forecast says that we won’t be subjected to the 90 degree plus heat like last year. That will take some of the pain out of lugging camera gear. There don’t seem to be a lot of open source folks doing the Twitter thing, but if you are, here’s my Twitter home page.

This year Mimi Yin, the UI designer for Chandler, and I are giving a presentation on the things that we’ve learning in trying to incorporate designers into an open source project while maintaining the essence of what is good about both design and open source.

Check this post at the newly revamped Chandler blog for all the Chandler happenings at OSCON.

Open source peeps and Dopplr

People working in open source have limited opportunities to meet each other in person. My own experience is that meeting someone in person, even if it is only once, can be a help in working with them in the virtual world. The Dopplr service is a social networking application oriented towards people who travel. I’m already using it to find out who is going to at OSCON and ApacheCon US later this year. Meeting folks from various open source communities in person has been an enriching experience for me, and I’m glad to have help at making that easier.

Let me know if you want a Dopplr invite.

Adobe open sources Flex

Last week while I was in San Francisco, I sat down for an hour with David Wadhwani, the VP of product development for Flex and Ely Greenfield, one of the Flex architects. After I wrote my original post about open sourcing Flash, I got a note from David asking if I would be willing to spend some time to help him understand the issues that I raised in that post and its follow ons. This afternoon David called to tell me that Adobe was announcing that it was open sourcing Flex v3. I was especially happy when he said that my posts and our conversation had an impact on his thinking about open source and Flex. There is a press release with the announcement as well as a FAQ on the basics.

The Basics
The basics of the announcement are that Adobe will open source Flex v3, due later this year, under the Mozilla Public License (MPL), which is sensible given that they have already open sourced their Tamarin Javascript engine via Mozilla. Before that happens, Adobe will make daily builds of Flex available (the source is already available, but daily builds gives better visibility). Also, they will open their bug tracker to the public in preparation for the open source version of Flex.

Adobe is taking a slow approach on governance. Unsurprisingly, the initial set of committers will be folks from Adobe, and the governance model is underspecified. Right now, the FAQ says that the schedule and roadmap for Flex will continue to be defined by Adobe. There are stated plans to create a subproject process and subprojects could be managed by people outside Adobe, and incorporated into the Flex tree. The full governance model is not yet determined, and will be influenced by feedback and what actually happens between now and the end of 2007, which is the target for the transition to being a full open source project.

I think that there are likely to be some concerns around use of the Flex trademark. Unlike Java, where (in theory anyway) an open source Java could pass a compatibility test suite and gain access to the trademark, the open source version of Flex cannot be called Flex. It remains to be seen whether this will actually impact participation in the project.

Flex, but Not Flash
This is a good first step for Adobe, but it’s just the first step. The Flash player is not being open sourced at this time, but when I talked with David he told me that that Adobe had been telegraphing the fact that they were going to open source Flex for about 20 months, since the opening of Adobe Labs. When I asked him about the Flash player, he said that open sourcing Flex should be viewed as a telegraphing of Adobe’s intentions. Of course, there’s a big difference between intentions and actual followthrough, so we’ll have to wait and see how the Flex project ends up working out.

Bottom Line
Adobe is moving pretty quickly. When I met with David a week and a half ago, I got the impression that he and Ely had decided that they wanted to open source Flex, but hadn’t cleared it with his management chain. A week and a half later, they are making an announcement. As I’ve mentioned, this is just a first step for Adobe, and there are plenty of opportunities for things to go sideways. Nonetheless, I think that Adobe has understood the importance of openness and is taking some initial exploratory steps to do what’s necessary.

If you think that an open source Flex is important, then you should go to the new discussion forum that Adobe is setting up for open source Flex. There are a lot of things which are intentionally unspecified, and there is still lots of time to give Adobe feedback on this move. I know that I’m going to keep giving them feedback for as long as they continue to solicit it.

Update:
Scoble has a video interview that lets you hear some of what I’ve heard from David and Ely.

Is there a better way than the JCP?

[ via Don Park ]:

Elliotte Rusty Harold is asking if there’s a better way than the JCP:

On reviewing this, I think I’m struck by a fundamental flaw in the JCP for the first time. Sun is still mired in a 20th century, waterfall, big bang approach to development. There are at least three, probably more, different things going on in this process that could certainly be separated and developed independently.

Still I wonder if there’s a better way (and perhaps the open sourcing of the JDK might enable it).

It’s good to see people asking the right questions.

The Open Web, the Closed Web and the Live Web

So back in March, Brendan Eich of Mozilla wrote post titled “The Open Web and its Adversaries“. His definition of open seems to rest on this:

a web whose major content formats are not controlled by a single vendor

A goal which I agree with, and the basis for my series of Flex posts, which he also referenced. So far, so good. As he continued, I got confused. He asks us to:

Consider just the open standards that make up the major web content languages: HTML, CSS, DOM, JS. These mix in powerful ways that do not have correspondences in something like a Flash SWF.

I agree with his assessment of the powerful ways in which these technologies combine. But much of what he finds laudable are technical properties — they don’t derive from the fact that these are open standards. It’s just a fortunate (or perhaps, designed) outcome that those are the technologies that are combined in a browser. After all Java, C#, and even C++ have been standardized (well at least if you believe that the JCP is standards body), so being an open standard technology is not a guarantee that you’ll have the properties that make the web “alive” according to Brendan. It seemed like what was really being discussed was the “live web”, not the “open web”.

The place where I really got lost was when he started discussing the future of the open web,

Implicit in my writing is the assumption (conclusion, really) that browsers can adopt the necessary advanced rendering and faster virtual-machine programming language support that the “rich client platforms” boast (or promise in version 2.0). … There’s no technical reason this can’t be interoperably supported by other browsers in the near term.

There’s no technical reason, but there are plenty of political/business reasons. Every browser implements each of the open standards to a varying degree. They implement different versions of the specs. They implement each spec imperfectly. That translates into lots of debugging and testing when building an application atop the open web. I like the improvements that are likely to come in Firefox. The problem is that until many of those improvements appear (if ever) in Safari and IE, it will be hard to justify using those improvements, because it means writing multiple versions of the same code and then qualifying those versions. Contrary to Brendan’s assertion, big companies with armies of developers might have the resources to devote to all that additional work, but small development houses are the least able to tolerate that additional labor. Since Microsoft has an interest in advancing WPF/E, part of the Closed web, it’s hard to imagine that they will be motivated to improve IE quickly enough for innovative Live web features in Firefox and Safari to make a difference to application developers versus something like WPF/E or Flex. The risk to Microsoft is that instead of collecting those developers themselves, they lose them to Adobe.

Everything is dead, except Apple and the Web

Or so it would seem.

A few weeks back, Dare Obasanjo said “Open Source is Dead“. The crux of his argument:

This is why Open Source is dead, as it will cease to be relevant in a world where most consumers of software actually use services as opposed to installing and maintaining software that is “distributed” to them.

If the only valuable property of open source was as a distribution mechanism/channel, I’d be inclined to agree. But open source is a means of production not only a means of distribution and routing around lock in. And of course, his argument applies to all distributed software, not just open source software. Which would make Microsoft dead as well.

This would no doubt please Paul Graham, who earlier this month wrote that “Microsoft is dead“, repeating the idea that software delivered via the web is in the process of displacing desktop software. Although for him to be announcing this in 2007, ‘to be the first one to call it” seems somewhat late. Also he weakens the case for web vs desktop software by tossing Apple into the mix, and the last time I looked, Apple was a desktop software company.

To complete the trifecta, Jeremey Wagstaff [via Marc Orchant] clarified that ‘It’s Not the “Death” of Microsoft, it’s the “Death” of Software‘. That doesn’t seem right either, since there’s a lot of software running all those web apps that are killing off everybody else. Of the three prognosticators of doom, his comments resonate the most with me:

We somehow demand less and less from our software, so that we can declare a sort of victory. I love a lot of Web 2.0 apps but I’m not going to kid myself: They do one simple thing well — handle my tasks, say — or they are good at collaboration. They also load more quickly than their offline equivalents. But this is because, overall, they do less. When we want our software to do less quicker, they’re good. Otherwise they’re a pale imitation of more powerful, exciting applications in which we do most of our work.

But all this just proves to me that there has been little real innovation in software in the sense of making programs do more. Web 2.0 has excited us because we lowered our expectations so much. Of course web apps will get better, and one day will deliver the functionality we currently get from desktop software. They may even do more than our desktop applications one day. But isn’t it a tad strange that we think this is all a huge leap forward?

Perhaps its a Great Leap Forward

Ryan, Open Source, and Flash

A few weeks back, I had dinner in Seattle with Ryan Stewart and Brian Zug. Over the course of several hours we covered a number of topics, including a crash course in open source software. Yesterday Ryan posted some of what he learned during our conversation, including his conclusions about whether or not open sourcing the Flash Player was a good idea. That post generated a bunch of traffic, so Ryan put up a follow up post on his personal blog.

Unfortunately, many people reading Ryan’s post or one of the aggregated excerpts didn’t have the context which prompted the dinner and the posts. All of this took place in the context of three blog posts which I wrote last month where I took a look at Adobe’s Flex/Apollo technology from the point of view of the openness of the technology. I’m interested in Flash only as a component of Flex. I’m not interested in singing/dancing web pages or in Flash based ads, but much of the reaction to Ryan’s post was centered around traditional uses of Flash in web pages. Many people said “oh, open sourcing it will destroy compatibility”. Yet the context of the discussion included ways of maintaining compatibility.

The most interesting response that I found was from Ted Patrick at Adobe. Ted shed some light on the ways that Adobe/Macromedia have involved customers in the development of previous versions of the Flash Player. This was useful information to have — I think that I was probably more ignorant of these facts than Ryan was, truth be told – and suggests to me that there is some culture of working with people outside of Adobe/Macromedia. Perhaps most encouraging was his acknowledgment that Adobe could be more open. Of course that’s not a commitment to be more open, and indeed, he warns that becoming more open will not happen overnight. I am not expecting something to happen overnight — after all, I’ve waited 9 years for Java, and am still waiting. The wheels do have to start turning sometime, though.