2012 Candidate: John Arthorne

Senior Software Developer, IBM

Nominee for committer representative

Eclipse Project PMC and Platform Core Lead, Eclipse Architecture Council, Eclipse Planning Council, Committer on Platform, Equinox, e4, and Orion

email: john_arthorne at ca.ibm.com

Vision

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.

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.

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.

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.

About the Candidate

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.

Affiliation

IBM Software Lab, Ottawa, Canada