<boardmember id="arthorne" type="committer">

	<name>John Arthorne</name>

	<title>Senior Software Developer, IBM</title>

	<image>arthorne.jpg</image>

	<email>john_arthorne at ca.ibm.com</email>

	<eclipse_affiliation> <![CDATA[
	Eclipse Project PMC and Platform Core Lead, Eclipse Architecture Council,
	Eclipse Planning Council, Committer on Platform, Equinox, e4, and Orion
	]]> </eclipse_affiliation>

	<vision>  <![CDATA[
<p>
There has never been a more exciting time to be working in software
development. The desktop computing model we have been working with for 25
years is steadily being replaced with different form factor devices such as phones,
televisions, and tablets. Traditional mouse and keyboard inputs are being replaced
with touch screens and voice controls. Java, whose visionary designers built the
JVM for precisely this world of heterogeneous networked devices, has become
too big and slow to keep up. HTML5 and JavaScript are replacing Java on the client
side, and an assortment of dynamic languages are making inroads on the server. The 
browser and the web behind it are now the only ubiquitous platform that is available on 
every device and form factor. 
</p>
<p>
Open source software is now bigger than ever, but an adhoc collection of small scale 
projects on community forges is starting to replace large scale foundations as the place 
where open development happens. Mirroring the shift from the JVM to the browser, 
this is happening in part because these community forges are small, agile, and can adapt 
more quickly to the rapidly changing computing landscape. 
</p>
<p>
On the surface, none of this sounds good for Eclipse. Eclipse is a large foundation 
based on Java-based tools and runtimes. However, these underlying changes in
the industry are a huge opportunity for Eclipse. The tools and runtime frameworks for 
the web are shockingly immature compared to Java. Above the browser there is a 
jumbled assortment of frameworks and implementations with no cohesion or stability. 
Everyone has written or cobbled together their own JavaScript application framework 
on the client, and many server side languages have pieced together frameworks of 
varying quality and scale. We application developers have to pick through this
landscape to pull together the pieces (and versions) that work together well. Very
often the pieces don't fit together well, or have uncertain legal provenance. New versions
of libraries come available at random intervals, or worse they never actually produce versions
and developers just pull from the "master" branch and hope it is stable enough to use. Eclipse
has the infrastructure and track record to do what nobody else is accomplishing in this
space: building integrated, well tested components, delivered on a regular schedule,
and maintaining clear and consistent license and legal checks on all code.
</p>
<p>
If elected as your committer representative, I will work to make Eclipse relevant
in this changing software landscape. In particular I will work to make our
processes and infrastructure more agile. Projects need to be able to ship every month,
or even every day if needed. They need fast and reliable build infrastructure, and
test infrastructure for a variety of different kinds of applications. We need to grapple with
the impact on our license and other legal documents of a world where software is
now installed via proprietary app stores, or implicitly by visiting a web site. 
We need to be able to consume and work with crowd-sourced software and documentation
where contributions are made via very lightweight processes. As a foundation we need
to encourage and welcome more non-Java projects, particularly in the areas of
web, mobile, and embedded development. We need to find and remove the barriers
to these projects being able to work at Eclipse, so they can become the kind of
predictable, interoperable, and commercial friendly software components that Eclipse is
so well known for.
</p>
	]]> </vision>

	<bio> <![CDATA[
John has worked on the Eclipse and Equinox projects for the past decade in many different areas. He was the main developer on the resource model for many years, and designed the platform's concurrency infrastructure. In recent years he has focused on the Orion project, provisioning (p2), e4, and overall platform API quality. John is a member of the Eclipse Architecture Council, Planning Council and Eclipse Project PMC, and is a Senior Software Developer at IBM Canada. 
		
	]]> </bio>

	<affiliation> <![CDATA[ 
		IBM Software Lab, Ottawa, Canada
	
	]]>
	</affiliation>

		
</boardmember>