<quotes>
	<quote>
		<text>"We share Eclipse's commitment to an open source community, ACCESS is pleased to support the Europa release by upgrading the ACCESS Linux Platform Development Suite--the leading, open source toolchain for mobile development--to include CDT 4.0 and Eclipse 3.3."</text>
		<image><![CDATA[/membership/scripts/get_image.php?id=725&size=large]]></image>
		<name>Larry Berkin</name>
		<position>Senior Director, Developer Ecosystem and Technology Acquisition</position>
		<org>ACCESS Systems Americas</org>
		<link>http://www.access-company.com/</link>
	</quote>
	<quote>
		<text>"Since its release, BIRT has captured the interest of the Eclipse community and anticipation of BIRT 2.2 has been high. BIRT has been an integral part of the Actuate product line from August, 2005 when we incorporated release 1.0 and we will continue that commitment with BIRT 2.2, providing value-add features, products and services built on top of the Eclipse open source release. This includes the Actuate iPortal, an enterprise-grade JEE report delivery application, and Interactive Viewer to provide users with Web 2.0-style interaction and personalization of BIRT reports."</text>
		<image>/membership/members/org-images/actuatelogo.jpg</image>
		<name>Mark Coggins</name>
		<position>Senior Vice President of Engineering</position>
		<org>Actuate Corporation</org>
		<link>http://www.actuate.com/</link>
	</quote>
	<quote>
		<text>"Eclipse is a great example of commercial cooperation in an open source world.  We look forward to making Eclipse Europa a part of our upcoming Adobe Flex Builder 3 release later this year."</text>
		<image>/membership/members/org-images/adobe.jpg</image>
		<name>Steven Heintz</name>
		<position>Senior Product Manager, Flex</position>
		<org>Adobe Systems</org>
		<link>http://www.adobe.com/</link>
	</quote>
	<quote>
		<text>AvantSoft has fully adopted Eclipse Europa release for the benefit of its customers who have been awaiting the availability of Eclipse training and consulting on this new release. AvantSoft's entire suite of Eclipse courses (Plugins, SWT, RCP, GEF, EMF, CDT, JDT, GMF) have already been migrated to the new Europa release. These are offered world-wide through traditional classroom training or VIRTUAL hands-on, live, instructor-led classes conducted by Eclipse University of AvantSoft. Through internal training sessions, our consultants have been made aware of the new features of Europa and how to apply them to provide better solutions for our clients.</text>
		<image>/membership/members/org-images/avantsoftlogo.jpg</image>
		<name>Ashvin Radiya</name>
		<position>President</position>
		<org>AvantSoft</org>
		<link>http://www.avantsoft.com</link>
	</quote>
	<quote>
		<text>"The Europa Eclipse platform release represents a significant improvement in both functionality and stability," said Bill Roth, Vice President, Products, BEA Systems. "We have been working with it for months, and will be aggressively adopting it."</text>
		<image>/membership/members/org-images/bealogo.jpg</image>
		<name>Bill Roth</name>
		<position>Vice President, Products</position>
		<org>BEA Systems</org>
		<link>http://www.bea.com/</link>
	</quote>
	<quote>
		<text>"One of the goals of Carleton University's Talent Forge initiative is to host Eclipse plug-ins and educational material developed by students and faculty in support of Europa and future releases of Eclipse. We look forward to the success of Eclipse Europa." </text>
		<image></image>
		<name>Dr. Dwight Deugo</name>
		<position>Associate Professor, School of Computer Science</position>
		<org>Carleton University</org>
		<link>http://www.carleton.ca</link>
	</quote>
	<quote>
		<text>"Eclipse is a key part of CodeGear's product strategy, and Europa will play a central role in our upcoming products that enhance the Eclipse developer experience with productivity, collaboration, and application performance optimization. Our plans include enhancing the Europa developer experience with rapid visual development for Java source code, server components and SOA Web Services; Java application performance analysis and tuning; and advanced development team collaboration, communication, and project management capabilities. In addition to Java tools and turnkey IDE solutions, we also will bring out a complete Rails-focused Ruby development environment tailored specifically to accelerate Rails Web 2.0 development."</text>
		<image>/membership/members/org-images/codegear.bmp</image>
		<name>Michael Swindell</name>
		<position>Vice President of Products and Strategy</position>
		<org>CodeGear</org>
		<link>http://www.codegear.com</link>
	</quote>	
	<quote>
		<text>"The Europa release represents a significant milestone for Eclipse, unprecedented in the software industry.  Having 21 significant projects in the release train with the involvement of now 162 member companies solidify Eclipse as the open source standard for software tools, RCP and beyond.  We are excited to see a growing community and a thriving ecosystem based on repeated success and high quality standards."</text>
		<image>/membership/members/org-images/genuitec.gif</image>
		<name>Maher Masri</name>
		<position>CEO</position>
		<org>Genuitec, LLC</org>
		<link>http://www.genuitec.com/</link>
	</quote>
	<quote>
		<text>"We are excited that our application to join the Eclipse Foundation was accepted.  We believe that the Eclipse Community has built the perfect environment for developing enterprise class applications for deployment across a wide variety of platforms. We look forward to becoming active community participants as well as working closely with the ecosystem to make a significant contribution to the Eclipse platform," </text>
		<image></image>
		<name>Emma McGrattan</name>
		<position>Senior Vice President of Engineering</position>
		<org>Ingres Corporation</org>
		<link>http://www.ingres.com</link>
	</quote>
	<quote>
		<text>The Eclipse Europa release represents another significant step in setting new standards for what open source can deliver. Innoopract will include all of the Europa-release software in its Yoxos Eclipse distribution as well as its new Eclipse Discovery download service, and continue to drive "software as a service" technology to Eclipse.</text>
		<image>/membership/members/org-images/Innoopract.gif</image>
		<name> Eric von der Heyden</name>
		<position>President</position>
		<org>Innoopract Inc.</org>
		<link>http://www.innoopract.com/</link>
	</quote>	
	<quote>
		<text>"As a commercial vendor of software development tools, working closely with the Eclipse Foundation assures our customers a known technology road map and access to the latest features in Eclipse the moment a new release comes out. Our customers expect us to be among the first to support new Eclipse releases to meet their business needs, technical requirements and project schedules." </text>
		<image>/membership/members/org-images/instantiationslogo4eclipse.jpg</image>
		<name>Michael Taylor</name>
		<position>CEO</position>
		<org>Instantiations, Inc.</org>
		<link>http://www.instantiations.com/</link>
	</quote>
	<quote>
		<text>"At Obeo we extensively use EMF as the core of our development tools. The Europa release brings exciting new features for EMF and all  its component : transaction and validation to provide model consistency or Teneo for model/relational mapping. All these will help us providing an efficient tooling to our customers.<br/> 
				The domain specific approach has already been successful and thanks to GMF we are able to provide specific modelers. GMF includes all the common features one need or a DSL modeler and the tooling helps in generating a first version.<br/>
				As plugin developers the JDT and PDE enhancements have great effects on our processes and bleeding edge technologies like Mylyn or Buckminster are definitely something we are planning to use."<br/>
		</text>
		<image><![CDATA[/membership/scripts/get_image.php?id=863&size=small]]></image>
		<name>Stephane Lacrampe</name>
		<position>CEO</position>
		<org>Obeo</org>
		<link>http://www.obeo.fr/</link>
	</quote>
	<quote>
		<text>"Nexaweb Studio is a visual drag and drop environment for building Rich Internet Applications that connect Ajax with service oriented architecture.  Europa is a significant release that we have been looking forward to. The new features in the core Eclipse Platform makes it much more flexible and customizable. Incorporating DTP, WTP and the core platform enhancements, Nexaweb Studio will deliver even better integrated experience and developer productivity."</text>
		<image>/membership/members/org-images/nexaweb.jpg</image>
		<name>Coach Wei</name>
		<position>CTO</position>
		<org>Nexaweb</org>
		<link>http://www.nexaweb.com/</link>
	</quote>
	<quote>
		<text>"Our QNX Momentics IDE customers are becoming increasingly aware of the advanced features and benefits of Eclipse-based tooling.  With the Europa release, we are looking forward to integrating new CDT features such as an improved project model, enhanced source indexing with static analysis features, simplified debugging, and improved source editing and navigation capabilities."</text>
		<image>/membership/members/org-images/qnxlogo.gif</image>
		<name>Bill Graham</name>
		<position>Product Marketing Manager</position>
		<org>QNX Software Systems</org>
		<link>http://www.qnx.com/</link>
	</quote>	
	<quote>
		<text>"Europa marks another major milestone in the history of Eclipse, reinforcing the value received by the millions of Eclipse users," said Lee Nackman, vice president, development and support, Rational Software, IBM.  "Hundreds of products across IBM's software portfolio are built on Eclipse and the technology in Europa continues to strengthen the value proposition we bring to customers."</text>
		<image>/membership/members/org-images/ibmlogo.gif</image>
		<name>Lee Nackman</name>
		<position>Vice President, Development and Support</position>
		<org>Rational Software, IBM</org>
		<link>http://www.ibm.com/</link>
	</quote>
	<quote>
		<text>"The Eclipse Europa release is a fantastic example of the power of the open source development model. Having 21 projects coordinate a release is a challenge in any context, but the fact that Eclipse is able to do this among distinct projects with disparate parties and differing interests is a testament to the openness, quality, and speed of open source," said Bryan Che, product manager for tools, Red Hat. "Red Hat is excited to support the Eclipse Europa distribution and will be basing its inaugural release of the fully open source Red Hat Developer Studio on Eclipse Europa later this summer."</text>
		<image>/membership/members/org-images/redhatlogo.gif</image>
		<name>Bryan Che</name>
		<position>Product Manager for Tools</position>
		<org>Red Hat</org>
		<link>http://www.redhat.com/</link>
	</quote>	
	<quote>
		<text>"Scapa Technologies is planning to adopt Europa for a new product, Scapa ITSA, in the fall of 2007.  It will be built on the Eclipse platform and have as its core the B2J project in STP,  with elements built around JDT, GEF and BIRT.  Europa is the stable interoperable platform which makes it all work together."</text>
		<image>/membership/members/org-images/scapatechlogo.gif</image>
		<name>Mike Norman</name>
		<position>CEO</position>
		<org>Scapa Technologies</org>
		<link>http://www.scapatech.com/</link>
	</quote>
	<quote>
		<text>"As a longstanding, strategic and dedicated Member of the Eclipse Foundation, Sybase leverages the Eclipse platform for internal development of a number of commercially built products. The upcoming version of Sybase WorkSpace, a unified Eclipse-based application development environment, incorporates both a variety of projects and new technology features from the new Europa release.   The rich Eclipse ecosystem enables Sybase to deliver best-of-breed solutions to our customer base and the Eclipse community - a win-win for all."</text>
		<image>/membership/members/org-images/sybaselogo.jpeg</image>
		<name>John Graham</name>
		<position>Project Lead - Eclipse Data Tools Platform</position>
		<org>Sybase</org>
		<link>http://www.sybase.com/</link>
	</quote>
	<quote>
		<text>"The widespread, coordinated release of Eclipse Europa is a great achievement and will be fantastic for users. Webtide, the lead developers of the Jetty java web server, are excited to participate and look forward to bringing greater productivity to developers through the platform," </text>
		<image>http://www.eclipse.org/membership/members/org-images/webtide.PNG</image>
		<name>Adam Lieber</name>
		<position>CEO</position>
		<org>Webtide LLC.</org>
		<link>http://www.webtide.com/</link>
	</quote>
	<quote>
		<text>"The release of Eclipse Europa continues to demonstrate the reliability and predictability of open source technology from Eclipse. Wind River has contributed significant engineering to the C/C++ Development Tooling (CDT), Device Debugging (DSDP-DD) and Target Management (DSDP-TM) projects in preparation for Europa and for our commercial adoption of these technologies in our upcoming Wind River Workbench 3.0  development suite. We believe CDT 4.0, Device Debugging 0.9, and Target Management 2.0 to be significant base technologies for building our advanced tools for device software development, and we look forward to continuing our extensive contributions to Eclipse and to our continued adoption of additional Eclipse technology. Wind River is committed to driving open standards for the embedded software industry and creating complete solutions for device software optimization that add value across the development lifecycle." </text>
		<image>/membership/members/org-images/windRiverlogo.jpg</image>
		<name>Steve Saunders</name>
		<position>Vice President, Workbench Development</position>
		<org>Wind River</org>
		<link>http://www.windriver.com/</link>
	</quote>											
</quotes>
		