Thursday, September 13, 2007

I'm busy building a new Platform

With all the recent talk about diversity and the Platform, I felt compelled to post some pictures of my backyard as well. I took a few photos today, well past the crack of dawn, at a time that I would have liked to wake up (unfortunately, my kids have to be at school at 8).

So what occurred to me is that the most important quality of a platform is that it earns the trust of its users and adopters. For example, trust that the platform will last for a long time, and that it is stable enough to support whatever you want to build on the platform. It may help when the platform is built by a diverse group of people, but diversity is not an end in and of itself. I for my part decided to not rush it, and to pay special attention to stability, which I hope you can see in the pictures.

Those bolts are half an inch thick, and four inches long. Overengineered, you might say, but down at the platform, it is important to set a high bar for anything that goes into the platform. Because we know the platform must not crush under whatever is built on top of it.

So I decided to build all of this myself without any outside contributions. However, I haven't figured out how best to build the roof yet. If you have roofing experience, I would like to know how you did it, and I might accept contributions such as shingles if you have some leftovers.

I almost forgot to talk about the other Platform I am working on. The Platform UI team is always open for contributions, and we are proud to have attracted several non-IBM committers. When I asked why they like being a Platform UI committer, one of the main reasons was that they learn a lot from us, and from just taking part in building a great platform.

If you would like to become a Platform UI committer too, my advice would be to pick one specific area you are interested in rather than scattering your efforts across all of Eclipse. This ensures that you will deal with one or two committers all the time, which helps building trust. (Remember, for platforms, it is all about trust). For example, pick RCP related issues, or editor management, or wizards, etc. Start by watching bugs in Bugzilla, and answering questions on the newsgroups, focused on that one area. This will get the corresponding committer's attention. Write an email to our mailing list with your intent to contribute, or if you are shy, send an email just to me. If we know about you and what you would like to do, we can start sheperding you towards becoming a committer.

I put some time into our wiki pages to lower the barrier. You might want to check out the new how to contribute page which is based on a similar page Brad Reynolds, one of our non-IBM committers, wrote for the data binding framework. To make it easier to find similar pages for other Eclipse projects or project components, I added a how to contribute category.

All of the above mainly applies to individuals who would like to contribute. If you are reading this from a corporate perspective, and you as a company would like to invest in or contribute to the Platform, you are welcome too! Write me an email and my manager will get back to you. ;-)


Scott Lewis said...

Hi Boris. I appreciate your point about the need for a stable/reliable/well engineered platform, but I think it's a red herring to position project diversity against stability/reliability (as you seem to imply).

True, diversity can/could mean more mistakes/bugs. But it also means more testing, and perhaps shallower bugs. It also means that groupthink is less likely an issue, and further it means more opportunities to use the platform in ways it's creators didn't intend...aka innovation.

So I guess I don't see stability and reliability as an inherent tradeoff with project diversity, rather I see them as compatible system and community-building goals.

Ed Merks said...

Not surprisingly, I like your use of pictures and analogies to real world things. I also think it's reasonable to argue that quality above all things is paramount. Of course the real world is a balancing act and your post makes it clear that diversity is recognized as being of extreme value. And since I know you personally, I know you are pathologically helpful. It's a real joy to do things you know are useful and valuable to others. Of course when other folks help in return, the feeling grows exponentially.

That's what diversity is all about. Working with other awesome people with differing perspectives and backgrounds to arrive at a result where the whole is greater than the sum of its parts. Speaking of which, thanks for helping with 75625! There's a particularly good example of diversity in action...

Boris Bokowski said...

Scott, I did not mean to imply that diversity contradicts stability. I am sorry if my post did not make that clear enough. I agree that they can be compatible, and when they are, it certainly leads to more trust.

Boris Bokowski said...

Ed, thanks a lot for your backyard pictures. I enjoy them every time I read one of your blog entries. This time, it all kind of fell into place after reading the one about the rainbow and diversity.

I hope that the latter part of my post made it clear that we are indeed interested in contributions from others. Unfortunately, people are not exactly lining up for becoming a committer on Platform UI.

Not sure if it is the high bar, or not enough transparency (I hope the wiki pages help!), or just that down at the platform, most of what we do is highly constrained by API compatibility, general stability requirements, etc.

So if you have any concrete suggestions what we can do to attract new committers, let me know.