Tuesday 24 April 2007

The Perils of Open Source

Croquet is Open Source. This has had both a positive impact on the project and in some ways a decidedly negative impact. The positive is the positives that most open source projects enjoy - lots of interest and creativity building around the system, visibility, strong academic relationships - it even helps allay concerns of larger enterprise customers knowing that there will not be a Microsoft-type lock-in with a single vender.

From the start Croquet was developed completely out in the open. Even the very first, barely useful versions of the system were readily available to download, deconstruct, and criticize. Nothing wrong with this - we invited it, and the project profited from it. The big problem we had to deal with is people were disappointed with how much of the system was or wasn't working. I have heard people say "Yeah, I tried Croquet a few years back, but it.... " (you can fill in the blank with a number of choices). I can understand why people would be irritated. Some critical problems in Croquet took much longer for us to solve than we ever thought they would, we had spent a minimal amount of time on UI, back-end infrastructure, performance, etc... Getting something like Croquet to work at all was a monumental task. We didn't exactly have a model to work from. We were inventing - not reverse engineering.

Of course, anyone that has ever developed a larger project has seen these kinds of issues. I certainly have dealt with them many times. The big difference was no one saw any of my project's warts except my colleagues and me. And we worked hard to remove, or at least hide them before we unveiled the final polished application. Croquet was different - people have been able to randomly sample the state of the project and critique it based upon that sample. Even today, the Croquet API is not quite a user-centric architecture. It is much more akin to the Linux kernel, looking for a front end to empower the user and a back-end to help users find each other and provide additional services. On the other hand, it is doing almost everything we said it would - and it really works well. We have even started a company Qwaq, Inc. based upon the same open source system that you can download today. We are getting great reviews for our first product Qwaq Forums, even though it is till in beta today.

What is my point? I have enjoyed this very open development process. I have learned a lot, and made a huge number of new friends and colleagues. Overall, it has been fun in spite of certain comments from people. I do think that next time - if there is one - I will probably hold off releasing a new system until it is a bit more mature and robust. In some ways that is sad - I think people that have stayed with the project from the beginning have learned a lot about how a complex system gets built and how it evolves. Most of this would be missed if you were to jump into a more complete end-user experience. On the other hand, it would probably increase the probability of success. In marketing, you only have one chance to make a first impression. Qwaq Forums is making a GREAT first impression. It would have been nice if Croquet had the same opportunity.

David A. Smith

No comments:

Post a Comment