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

<name>Ed Merks</name>

<title>President, Macro Modeling</title>

<image>merks.jpg</image>

<email>Ed.Merks@gmail.com</email>

<eclipse_affiliation> <![CDATA[ <p>
Eclipse Modeling Project Co-lead<br>
Eclipse Modeling Framework Project Lead </p>
]]> </eclipse_affiliation>


<vision> <![CDATA[
<p>Eclipse's momentum continues to build and in tough economic times it's even more important that this momentum be sustained by a dedicated committer community, i.e., by people like you and me. Our influence as individuals continues to grow presenting new and exciting opportunities. As a committer representative on the board, I will continue to promote the rights and privileges of committers and to take forward the issues and concerns that are near and dear to the developer's hearts. I intend to be a visible and approachable technical representative, not a politician. I feel I've demonstrated this with my track record over the past two years.</p>
<p>I believe that helping others is its own reward. With many thousands of answers to questions across a wide range of Eclipse's newsgroups last year, and with active blogging to promote a sense of community, my track record of helpfulness speaks for itself. Being chosen by the community as top ambassador last year was a great honor for me.</p>
<p>I will continue to foster a diverse and growing communit that encourages and strives for the type of excellence that has made Eclipse what it is today. The modeling project, something over which I have more direct control, is just one example of the exciting things that a <a href="http://www.eclipse.org/modeling/project-info/team.php">diverse group of individuals</a> can accomplish. Eclipse's release train process is yet another success story that demonstrates the kind of cooperation that can help our community strive for ever greater achievements. Just look the <a href="http://www.eclipse.org/proposals">Eclipse project proposals page</a> which at this time fhas our new modeling projects in the works, also STEM, which is a project I mentor and makes heavy use of EMF. I'm very proud of helping more people to get involved and to be successful.</p>
<p>I will continue to work hard to ensure that Eclipse's processes are the best they can be and are ever improving. I believe in encouraging and rewarding positive behavior, and in defining minimal processes that focus on best practices and achievable realistic results. I oppose restrictions that seek to coerce compliance to arbitrary questionable rules, i.e., rules that are primarily designed to exclude certain groups or to make first and second class citizens in our community. It's often a tough struggle because there is a great deal of complacency, but I can be counted upon as the person who will speak up even if there is personal risk involved.</p>
<p>I like to lead by example, to have others do as I do, rather than set unrealistic benchmarks for others to follow and then sit back with the expectation that others should do my bidding. If it's worth doing, it's worth doing well and it's worth participating. As your representative I commit to working tirelessly to promote not only Eclipse itself but also the community that drives it. Collectively, we are Eclipse and I would be honored to serve Eclipse for yet another term.</p>

]]> </vision>

<bio> <![CDATA[
<p>
Ed Merks recently founded his own small consulting company, <a href="http://www.macromodeling.com/">Macro Modeling</a>. He is a coauthor of the authoritative 
book <a href="http://www.informit.com/store/product.aspx?isbn=9780321331885">"EMF: Eclipse Modeling Framework"</a> which is published as a second expanded edition. He has been an elected member of the 
<a href="http://www.eclipse.org/org/foundation/directors.php">Eclipse Foundation Board of Directors</a> for the past two years and has been recognized by the 
Eclipse Community Awards as Top Ambassador and Top Committer. Ed is well known for his 
dedication to the Eclipse community, posting literally thousands of newsgroup 
answers each year. He spent 16 years at IBM, achieving the level of Senior Technical Staff 
Member after completing his Ph.D. at Simon Fraser University. He is a partner of 
<a href="http://www.itemis.com/">itemis AG</a> and serves on <a href="http://www.skywaysoftware.com/">Skyway Software's</a> Board of Advisors. His experience in 
modeling technology spans 25 years.</p>

]]> </bio>

<affiliation> <![CDATA[ 
<p>
<a href="http://www.macromodeling.com/">Macro Modeling</a>, President<br>
<a href="http://www.itemis.com/">itemis AG</a>, Partner<br>
<a href="http://www.skywaysoftware.com/">Skyway Software</a>, Board of Advisors member </p>

]]> </affiliation>

</boardmember>
