<boardmember id="bokowski" type="committer">

	<name>Boris Bokowski</name>

	<title>  <![CDATA[
	Senior Software Developer, IBM
	]]> </title>

	<image>bokowski.jpg</image>

	<email>Boris_Bokowski@ca.ibm.com</email>

	<eclipse_affiliation> <![CDATA[
		Platform UI technical lead, Member of the Eclipse Architecture Council, 
		<a href="http://dash.eclipse.org/dash/commits/web-app/summary.cgi?project=y&year=x&login=bbokowski">Committer</a> on the Platform, e4, and Orbit projects.
	]]> </eclipse_affiliation>

	<vision>  <![CDATA[
<p>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:
<ul><li>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.</li>
<li>On an economic level, it makes sense to me to be collaborating on "plumbing" or infrastructure, like a tide that raises all boats.</li>
<li>And finally, on a personal level, I very much enjoy the openness, fairness, and overall friendliness of the Eclipse community.</li></ul></p>

<p>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:
<ul><li><b>New strategic goals</b><br>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:
<ol><li><i>Continue to grow a diversified revenue model</i>: 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.</li>
<li><i>Ensure adequate resources are invested in the core technology platform</i>: 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.</li></ol></li>
<li><b>App Store</b><br>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. </li>
<li><b>Git</b><br>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.</li>
</ul><p>

<p>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:
<ul><li><b>Making the life of committers easier.</b><br>
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.<br>
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.</li>
<li><b>Increase and improve communication within the community.</b><br>
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.<br>
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.<br>
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.</li>
<li><b>Keep Eclipse on its toes.</b><br>
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.</li>
</ul></p>
	]]> </vision>

	<bio> <![CDATA[
<p>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".</p>
	]]> </bio>

	<affiliation> <![CDATA[ 
		IBM Software Lab, Ottawa, Canada
	]]>
	</affiliation>

		
</boardmember>
