<?php
/**
 * Copyright (c) 2020 Eclipse Foundation.
 *
 * This program and the accompanying materials are made
 * available under the terms of the Eclipse Public License 2.0
 * which is available at https://www.eclipse.org/legal/epl-2.0/
 *
 * Contributors:
 *   Eric Poirier (Eclipse Foundation) - Initial implementation
 *
 * SPDX-License-Identifier: EPL-2.0
 */
?>
<div class="europe-faq">
  <div class="container">
    <div class="row">
      <div class="col-sm-18 col-sm-offset-3">
        <p class="big margin-bottom-40">Our goal is to grow the Eclipse global ecosystem and advance strategic open source projects with international impact.</p>
        <p><a class="btn btn-primary" href="/europe/faq.php">Frequently Asked Questions</a></p>
      </div>
    </div>
  </div>
</div>

<div class="europe-testimonials">
  <div class="container">
    <h2 class="text-center">Testimonials</h2>
    <div class="solstice-slider margin-bottom-20 owl-carousel owl-theme">
      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:35px;">
          <img src="images/testimonials/iota.svg" alt="logo">
        </span>
        <p>“We are very excited about the move of the Eclipse Foundation to its new base in Brussels,” said Dominik Schiener, co-founder of IOTA Foundation. “Home to some of the leading advocates and policy makers for digital rights, data privacy and open source, the EU is helping to shape the future of the internet and beyond. Being based out of Brussels will help to further strengthen and advance the position of the Eclipse Foundation and will support the entire open source community to gain further adoption and recognition not just within enterprises, but also on a policy level.”</p>
        <p class="text-right">– Dominik Schiener, IOTA Foundation</p>
      </div>
      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:30px;">
          <img src="images/testimonials/sap.svg" alt="logo">
        </span>
        <p>“The Eclipse Foundation has a long track record of fostering industry collaboration between global organizations and developers who share the goal of creating scalable open source software,” said Juergen Mueller, Chief Technology Officer and member of the Executive Board of SAP SE. “As a founding strategic member of the Eclipse Foundation, SAP actively participates in several Eclipse projects and working groups. With the legal move of the Eclipse Foundation to Brussels, we expect more international collaboration across industries in an open environment. We look forward to collaborating with members from around the world to create and innovate together.”</p>
        <p class="text-right">– Juergen Mueller, SAP</p>
      </div>
      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:10px;">
          <img src="images/testimonials/dlr.png" alt="logo">
        </span>
        <p>“Open source software is a key enabler for our work in helping to create environmental policy, create safer cities, and drive the adoption of new mobility concepts. For many years, the Eclipse Foundation has been an outstanding partner and community leader supporting our efforts,” said Prof. Dr. Katharina Seifert of the German Aerospace Center (Deutsches Zentrum für Luft- und Raumfahrt; DLR). “With Eclipse SUMO at its core, the openMobility Working Group is just one example of the Eclipse Foundation bringing together researchers and diverse industry players to collaborate on a common platform in an open, vendor-neutral environment. We are thrilled that they have chosen to establish a new base in Europe and look forward to partnering with the EU team for many years to come to build a global connected and automated mobility ecosystem.”</p>
        <p class="text-right">– Dr. Katharina Seifert, DLR</p>
      </div>
      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:30px;">
          <img src="images/testimonials/ibm.svg" alt="logo">
        </span>
        <p>“The Eclipse Foundation is vital to millions of developers worldwide, as are Eclipse projects to companies in many industries,” said Todd Moore, vice president of Open Technology and Advocacy, IBM. “The Eclipse Foundation is taking steps to expand its global presence and reach. IBM welcomes the initiative and is providing support.”</p>
        <p class="text-right">– Todd Moore, IBM</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:43px;">
          <img src="images/testimonials/sprind.svg" alt="logo">
        </span>
        <p>“The open source model, and the collaboration upon which it depends, are the very foundations for innovation and growth across multiple global industries,” said Rafael Laguna de la Vera, Director, Federal Agency for Disruptive Innovation, SprinD GmbH. “These guiding principles are critical to the task we are undertaking to jumpstart innovation here in Germany and beyond. Partners like the Eclipse Foundation are an incredibly important part of our work, so we are very happy to see them investing in the EU and expanding globally to help us leverage open source technologies to jointly bring the future to life.”</p>
        <p class="text-right">– Rafael Laguna de la Vera, SprinD</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:40px;">
          <img src="images/testimonials/obeo.svg" alt="logo">
        </span>
        <p>“Open source is at the core of our corporate philosophy,” said Cédric Brun, CEO of Obeo. “As a strategic member of the Eclipse Foundation, we are deeply delighted to see the organization expanding to Europe. Open collaboration with a global ecosystem of innovators will keep Europe’s strategic industries on pace with the very latest developments and trends.“</p>
        <p class="text-right">– Cédric Brun, Obeo</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:23px;">
          <img src="images/testimonials/fsfe.svg" alt="logo">
        </span>
        <p>“Free Software (Open Source) is the key to ensuring that technology empowers rather than restricts us. To make Free Software the default, companies of all sizes play a crucial role. The Free Software Foundation Europe gladly works together with business organisations to reach this goal. Therefore, as the largest organisation focusing on public awareness, policy and legal topics in Europe, the FSFE welcomes the Eclipse Foundation as a strong partner in Europe. We look forward to collaborating on helping individuals and organisations to understand, use and develop Free Software.“</p>
        <p class="text-right">– Matthias Kirschner, President Free Software Foundation Europe (FSFE)</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:35px;">
          <img src="images/testimonials/ofe.png" alt="logo">
        </span>
        <p>“OpenForum Europe warmly welcomes the Eclipse Foundation’s move to Europe as it is a major recognition of the large and growing role of open source in Europe’s efforts to digitise industry as well as society at large,” said Sachiko Muto, CEO, OpenForum Europe. “One of our organisation’s primary goals is to encourage increased exchange and understanding of open source technologies between European governments, the EU institutions, and open source stakeholders. We believe that the Eclipse Foundation will be an important source of experience and knowledge in Europe, and in particular Brussels.“</p>
        <p class="text-right">– Sachiko Muto, CEO, OpenForum Europe</p>
      </div>


      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:19px;">
          <img src="images/testimonials/redhat.png" alt="logo">
        </span>
        <p>“The Eclipse Foundation and its governance have been critical to the success of many of the innovative open source projects in which we participate,” said Chris Wright, Red Hat’s CTO. “As a Strategic Developer member, we are pleased to support their continued expansion. The new European-based organization will serve to strengthen and expand our community partnerships within the foundation’s global ecosystem.“</p>
        <p class="text-right">– Chris Wright, Red Hat</p>
      </div>


      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:10px;">
          <img src="images/testimonials/osi.png" alt="logo" style="max-width:65px;">
        </span>
        <p>“Open source software is now clearly a global, transformative phenomenon that requires international representation,” said Josh Simmons, president, Open Source Initiative. “I'm thrilled that the Eclipse Foundation has stepped up to fulfill this role for Europe. A well-governed foundation within the European Union further strengthens open source efforts around the world and helps to ensure more choice and diversity in software development.“</p>
        <p class="text-right">– Josh Simmons, Open Source Initiative</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:40px;">
          <img src="images/testimonials/bosch.png" alt="logo">
        </span>
        <p>“As a Strategic member of the Eclipse Foundation, we’ve seen first-hand this organization’s ability to spur innovation, provide pragmatic governance, and build new open industry ecosystems - particularly relevant for the cross domain Bosch IoT strategy,” said Steffen Evers, Bosch.IO’s Director of Open Source and member of the Eclipse Foundation Board of Directors. “This is why we are excited the Eclipse Foundation is making the move to Europe. Adopting the open source model is critical to the long-term competitiveness of European industry on the world stage. We are confident the Eclipse Foundation’s expansion will serve as a catalyst for collaborative innovation and digitalization in multiple industries across the continent.“</p>
        <p class="text-right">– Steffen Evers, Bosch</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:36px;">
          <img src="images/testimonials/linux.png" alt="logo">
        </span>
        <p>“We applaud the global expansion to bring more open source governance options to Europe and look forward to collaborating across foundations in the future,” said Chris Aniszczyk, vice president of Developer Relations at the Linux Foundation and CTO of CNCF.“</p>
        <p class="text-right">– Chris Aniszczyk, Linux Foundation</p>
      </div>


      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:40px;">
          <img src="images/testimonials/adlink.svg" alt="logo">
        </span>
        <p>“ADLINK embraced Eclipse as the open source foundation of choice a few years ago and since then we have worked closely with the community to advance the state of the art in IoT and Edge Native Technologies,” said Jim Liu, CEO, ADLINK. “We applaud the Eclipse Foundation’s decision to become a European organization as this will positively impact the growth in collaboration and sharing of great quality open source software.“</p>
        <p class="text-right">– Jim Liu, ADLINK</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:36px;">
          <img src="images/testimonials/fraunhofer.png" alt="logo">
        </span>
        <p>"For the institutes of the Fraunhofer Gesellschaft, the leading research organization for application-oriented research in Europe, open source plays an important role in many research areas. What counts for us in our research is practical applicability and at the same time scientific excellence. Numerous results of Fraunhofer research are based on the idea of open source software or contribute to it. The establishment of the Eclipse Foundation in Europe will certainly further strengthen its role not only in terms of its international significance, but also particularly for European and German research," says Dr. Tom Ritter, Deputy Director of the Fraunhofer Institute FOKUS.</p>
        <p class="text-right">– Dr. Tom Ritter, Fraunhofer Insititute for Open Communication Systems (FOKUS)</p>
      </div>

      <div class="item">
        <span class="europe-testimonials-logo" style="padding-top:36px;">
          <img src="images/testimonials/huawei.svg" alt="logo">
        </span>
        <p>“We congratulate the Eclipse Foundation on moving to become European,” said Bryan Che, Chief Strategy Officer, Huawei Technologies. “Through this move, the Eclipse Foundation will provide an ideal platform for Europe to build global open source technologies while supporting digital competitiveness along with increased opportunities for global companies to collaborate in and with Europe. At Huawei, we strongly support open source and open governance to develop innovative technologies for the shared benefit of everyone. And, with our over 13,000 employees across the continent, we look forward to partnering with the Eclipse Foundation to invest in the future of open source in Europe.“</p>
        <p class="text-right">– Bryan Che, Huawei</p>
      </div>

    </div>
  </div>
</div>

<div class="europe-video">
  <div class="container">
    <div class="row">
      <div class="col-sm-16 col-sm-offset-4">
        <h2>A message from our executive director</h2>
        <a class="eclipsefdn-video" href="https://www.youtube.com/watch?v=RTziBf8fks0?rel=0"></a>
      </div>
    </div>
  </div>
</div>


<div class="europe-resources">
  <div class="container">
    <h2>Resources</h2>
    <div class="row">
      <div class="col-md-6 col-sm-12">
        <div class="europe-resources-item match-height-item">
          <p><img class="europe-resources-img" src="images/whitepaper-icon.svg" alt="resource image"></p>
          <h3>Whitepaper</h3>
          <p>Learn how open source is fueling digital transformation in Europe and beyond.</p>
          <p><a class="btn btn-secondary" href="https://outreach.eclipse.foundation/enabling-digital-transformation-white-paper">Download</a></p>
        </div>
      </div>
      <div class="col-md-6 col-sm-12">
        <div class="europe-resources-item match-height-item">
          <p><img class="europe-resources-img" src="images/factsheet-icon.svg" alt="resource image"></p>
          <h3>Fact Sheet</h3>
          <p>Get to know the Eclipse Foundation and learn about our strategic focus areas.</p>
          <p><a class="btn btn-secondary btn-sm" href="/europe/eclipse-fact-sheet.pdf">Download</a></p>
        </div>
      </div>
      <div class="col-md-6 col-sm-12">
        <div class="europe-resources-item match-height-item">
          <p><img class="europe-resources-img" src="images/case-study-icon.svg" alt="resource image"></p>
          <h3>Case Study</h3>
          <p>Learn how the Eclipse Foundation is enabling European research, development, and innovation.</p>
          <p><a class="btn btn-secondary btn-sm" href="https://outreach.eclipse.foundation/european-research-case-study">Download</a></p>
        </div>
      </div>
      <div class="col-md-6 col-sm-12">
        <div class="europe-resources-item match-height-item">
          <p><img class="europe-resources-img" src="images/slide-deck-icon.svg" alt="resource image"></p>
          <h3>Slide Deck</h3>
          <p>A helpful presentation you can use to build your case for joining the Eclipse Foundation AISBL.</p>
          <p><a class="btn btn-secondary btn-sm" href="/europe/eclipse-slide-deck.pdf">Download</a></p>
        </div>
      </div>
    </div>
    <!-- <p><a class="btn btn-primary" href="#">View More Resources</a></p> -->
  </div>
</div>