Senior Software Developer, IBM
Nominee for committer representative
Platform UI technical lead, Member of the Eclipse Architecture Council, Committer on the Platform, e4, and Orbit projects.
|email:||Boris_Bokowski at ca.ibm.com|
I care about Eclipse, the health of the Eclipse ecosystem, and the long-term success of Eclipse. Obviously, my day job is Eclipse-related, but there are deeper reasons for this as well:
- On a technical level, I value the core Eclipse principles of producing well-structured, componentized software, and to develop software to be open and extensible.
- On an economic level, it makes sense to me to be collaborating on "plumbing" or infrastructure, like a tide that raises all boats.
- And finally, on a personal level, I very much enjoy the openness, fairness, and overall friendliness of the Eclipse community.
After being elected as a committer representative almost a year ago, I was pleasantly surprised to see the cooperative nature of the Eclipse ecosystem mirrored at the board meetings. Looking back, I am particularly proud of the following accomplishments of the Board. Of course, these are not accomplishments for which I could take credit personally, but I played a part in all of them:
- New strategic goals
The Board of Directors sets strategic goals, and the executive director is measured by how well he steers Eclipse towards these goals. In 2009, two new strategic goals were added:
- Continue to grow a diversified revenue model: The bulk of the revenue of the Eclipse Foundation comes from its strategic and enterprise members. This puts the Eclipse Foundation at risk when just one or two large strategic or enterprise members step down or don't renew. Unfortunately, not much can be done about this in the short term, but having it recognized as a strategic goal is a good thing. One immediate outcome was the addition of a new tier for small organizations and start-ups with limited revenue that would like to become Eclipse members.
- Ensure adequate resources are invested in the core technology platform: For the first time in its history, it is now an official goal of the Eclipse Foundation to do something about the "tragedy of the commons" problem that has been discussed at length on Planet Eclipse. Like the revenue issue, it is just a start, but having this strategic goal ensures that the executive director and Foundation staff spend time and energy on this topic, and have the mandate to do something about it. Note that the definition of "core technology platform" is not very precise – we are not only talking about the Eclipse Platform project here, other "low on the stack" projects like Equinox, EMF, GEF, and so on, are meant as well.
- App Store
After many unsuccessful attempts in the past, the committer representatives (led by Doug Gaff) successfully pushed for a board resolution to take the Eclipse Marketplace (formerly known as EPIC) to a new level, to enable an ecosystem of free and commercial offerings - plug-ins or Eclipse-based products - similar to other app stores. Due to budget constraints, and an unclear cost/benfit ratio, only a few first steps towards this goal have been undertaken so far. However, the board resolution still exists, and I expect more progress over the next year.
Git is very interesting on many levels – as an eventual replacement for the standard VCM client that ships with the Eclipse SDK, as a way to make it easier to contribute, or to maintain branches of Eclipse projects, and as a way to change the way in which Eclipse projects can work collaboratively. Thanks to consistent nagging by the committer representatives, and patient explanations as to why this would be a good thing, the board and even Mike Milinkovich ;-) could be convinced that it makes sense to move in this direction. As a result, most Eclipse projects are now available as mirrored Git repositories, Eclipse has two new projects, EGit and JGit (even though the latter was the first project to be purely licensed under EDL, not EPL) which are making good progress towards a first-class Git client, and interested Eclipse projects can now start to switch to Git in a pilot set up by our webmaster Denis Roy.
If I am re-elected as a committer representative on the Eclipse Board of Directors, I would like to continue to work with the other board members, the executive director, and the Foundation staff towards:
- Making the life of committers easier.
We committers are doing much more than just writing code. Many of us enjoy the writing code part more than doing all the other necessary activities, for example, triaging bugs, managing lists of tasks in Bugzilla, filing contribution questionnaires and working through the IP process, ensuring proper internationalization, maintaining the IP log. Some of these have become easier, but there are many more opportunities for streamlining and simplification.
At the board level, I would push for improvements that increase the productivity of all committers. For example, I believe that resources would be well spent on work that benefits all projects but never gets done because there is not enough benefit for each individual project on its own: Compiling and maintaining a "new project jumpstart documentation" package, for example. Or coming up with a set of exemplary project pages as something the projects could copy and adapt.
- Increase and improve communication within the community.
Those of us who hang out on IRC know how much they benefit from being able to ask a question and quickly get an answer, but also how useful it is to know people working on other projects. The Eclipse community that has formed on Twitter is another example of how social connections between people are benefiting those who participate. I support all initiatives that bring members of the ecosystem together, from demo camps and Eclipse Days to our conferences EclipseCon and Eclipse Summit Europe, because establishing personal relationships is the most effective way to improve communication and collaboration. I believe that the existing events could be improved by making them even more social.
Another way to foster communication would be to make dependency relationships transparent. The Foundation already provides data on CVS commits. It should be relatively easy to extend this to show, at the granularity of individual plug-ins, a list of committers who are currently maintaining each plug-in, and the Eclipse-wide dependency relationships between those plug-ins. From a perspective of the Platform, we would know who to contact about planned changes to, say, the Common Navigator, and in the other direction, it would be easy to find out who maintains, say, the draw2d component.
I would also like to see more contacts between Eclipse and other open source communities such as Apache, Mozilla, Linux, and so on. A lot of the issues that we have around how to attract contributors, how to get companies to invest in open source, how to handle issues of APIs and deprecation, and so on, must be issues in these other communities as well, and we should be able to learn from each other.
- Keep Eclipse on its toes.
It is mind-boggling to see the rate of change in several areas that affect Eclipse directly, for example economic challenges, and technology platform changes on the client and server side. I don't know what the best answers are, but I know that it is important to look ahead and make sure that Eclipse is in a position to respond, and in some cases, drive these changes. For this, we need people on the Eclipse Board of Directors with a good sense for how the technology landscape is changing. For example, I recently made a presentation about the e4 project to the Board, both about the technical side and about which committers and member companies are contributing to it. While the Board is not in a position to direct what projects are doing, it is important to the individual board members to know in which direction core projects at Eclipse are going – in many cases, the company representatives on the board are directly involved in decisions about how their company contributes to Eclipse.
About the Candidate
Boris is the technical lead of the Eclipse Platform UI component and works for IBM in Ottawa, Canada. He is a member of the Eclipse Architecture Council, and an active committer on the e4 project. He is proud to have helped increase diversity at the Eclipse Platform (a little) by attracting several non-IBM contributors and helping them become committers. Before joining IBM in 2005, he wrote a commercial RCP app using EMF and GEF, co-founded and co-managed a Web 2.0 company in Germany, worked on the original Eclipse 1.0 at OTI in Ottawa, and earned a PhD in computer science at Freie Universität Berlin, Germany. He is married and a geek dad of three kids. You can find him on IRC as "borisb6i".
IBM Software Lab, Ottawa, Canada