<!-- id is the same as the file name without the extension
     type is one of "committer" or "add-in-provider" -->
<boardmember id="wagenknecht" type="add-in-provider">

	<name>Gunnar Wagenknecht</name>
	<title>PMTS, Salesforce</title>
	<image>wagenknecht.jpg</image>
	<email>gunnar at wagenknecht.org</email>

	<eclipse_affiliation><![CDATA[
		<a href="http://www.eclipse.org/technology/">Technology</a> PMC Lead<br/>
		<a href="http://www.eclipse.org/rt/">RT</a> PMC member<br/>
		Member of the Architecture Council<br/>
		<a href="http://planeteclipse.org/planet/">Planet Eclipse</a> Creator<br/>
		Committer, contributor and mentor to many projects<br/>
		Program Committee of numerous Eclipse conferences
		]]>
	</eclipse_affiliation>

	<vision><![CDATA[
<p>
What is Eclipse? While the Eclipse brand is still very attached to the well known and very successful Eclipse IDE, Eclipse is also a community of many, many individual open source projects. What does it take to bring such a tremendous amount of diverse projects together being part of a fantastic open source community? The Eclipse Foundation!
</p><p>
As a sustaining member representative, I'd like to see the Eclipse Foundation continuing on its success story, building communities around open source projects, helping companies understand and execute in an open source context, providing solutions to any concern around open source software development. One critical building block for these activities is solid funding. Therefore I'd like to see the Eclipse Foundation continuing its effort of exploring new topic areas, attracting projects and growing the list of sustaining members.
</p><p>
One possible improvement that I'd like to push for is improving the flexibility of project infrastructure options. Today there is GitHub (code and issues) and Git and Bugzilla (both hosted at eclipse.org). Ideally, projects should be able to use any available service that makes them feel comfortable. The Eclipse Foundation tools around IP compliance, project management and business continuity should continue to evolve and enhance providing integration options for the top popular platforms.
</p><p>
I had the pleasure of attending previous board meetings on occasion and engage with board members in discussions and work on priorities. As your representative, I will listen and represent your needs on the board. Please allow me doing that!
</p><p>
Thank you!
</p>
		]]>
	</vision>

	<bio> <![CDATA[
Technology enthusiast, world traveler, open source believer and dad. Addicted 2 DIY. More at <a href="http://guw.io/">guw.io</a>.
	]]> </bio>

	<affiliation> <![CDATA[
	Salesforce
	]]>
	</affiliation>

</boardmember>
