
<!DOCTYPE html>
<html lang="en">
  
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  
  <title>Community | The Eclipse Foundation</title>
  <meta property="og:title" content="Community | The Eclipse Foundation" />
  <meta name="twitter:title" content="Community | The Eclipse Foundation" />
  <meta name="description" content="Social networks Follow OpenCert and the AMASS Open Platform on:
 Twitter LinkedIn Group  View more videos on the youtube channel
Get in touch with the team Learn about OpenCert, join the community, connect with other CHESS users, get support and service:
 Forum: Consult the OpenCert forum and ask questions about the tool. This also the forum about CHESS and other Polarsys projects. Polarsys Wiki: Wiki providing additional resources about OpenCert and Polarsys.">
  <meta property="og:description" content="Social networks Follow OpenCert and the AMASS Open Platform on:
 Twitter LinkedIn Group  View more videos on the youtube channel
Get in touch with the team Learn about OpenCert, join the community, connect with other CHESS users, get support and service:
 Forum: Consult the OpenCert forum and ask questions about the tool. This also the forum about CHESS and other Polarsys projects. Polarsys Wiki: Wiki providing additional resources about OpenCert and Polarsys.">
  <meta name="twitter:description" content="Social networks Follow OpenCert and the AMASS Open Platform on:
 Twitter LinkedIn Group  View more videos on the youtube channel
Get in touch with the team Learn about OpenCert, join the community, …">
  <meta name="author" content="Eclipse Foundation and the AMASS ECSEL project partners"/>
  <link href='https://www.polarsys.org/opencert/images/logo_square.png' rel='icon' type='image/x-icon'/>
  <meta property="og:image" content="https://www.polarsys.org/opencert/images/logo.png" />
  <meta name="twitter:image" content="https://www.polarsys.org/opencert/images/logo.png" />
  <meta name="twitter:card" content="summary" />
  <meta name="twitter:site" content="@AMASSproject" />
  <meta name="twitter:creator" content="@AMASSproject" />
  <meta property="og:url" content="https://www.polarsys.org/opencert/community/" />
  <meta property="og:type" content="website" />
  <meta property="og:site_name" content="OpenCert" />
  
  <meta name="generator" content="Hugo 0.37.1" />
  <link rel="canonical" href="https://www.polarsys.org/opencert/community/" />
  <link rel="alternate" href="https://www.polarsys.org/opencert/index.xml" type="application/rss+xml" title="OpenCert">
  <link rel="stylesheet" href="https://eclipse.org/eclipse.org-common/themes/solstice/public/stylesheets/quicksilver.min.css">
  <link href="//fonts.googleapis.com/css?family=Libre+Franklin:400,700,300,600,100" rel="stylesheet" type="text/css"/>
  
  <script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
  new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
  j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
  'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
  })(window,document,'script','dataLayer','GTM-5WLCZXC');</script>
  
</head>
  <body>
    
<a class="sr-only" href="#content">Skip to main content</a>
<header class="header-wrapper" id="header-wrapper">
  <div class="clearfix toolbar-container-wrapper">
    <div class="container">
      <div class="text-right toolbar-row row hidden-print">
        <div class="col-md-24 row-toolbar-col">
          <ul class="list-inline">
            <li><a href="https://accounts.eclipse.org/user/edit" class="" data-tab-destination="tab-profile"><i class="fa fa-edit fa-fw"></i> Edit my account</a></li>
          </ul>
        </div>
      </div>
    </div>
  </div>
  <div class="container">
    <div class="row" id="header-row">
      <div class="col-sm-5 col-md-4" id="header-left">
        <div class="wrapper-logo-default">
            <a title="OpenCert" href="https://www.polarsys.org/opencert/">
              <img width="140" class="logo-eclipse-default img-responsive hidden-xs" src="https://www.polarsys.org/opencert/images/logo.png" alt="OpenCert" />
            </a>
          
        </div>
      </div>
      
      <div class="col-sm-4 col-md-5 text-right hidden-print hidden-xs pull-right margin-top-10" id="header-right">
        <div id="btn-call-for-action"><a href="https://polarsys.org/opencert/downloads" class="btn btn-huge btn-warning"><i class="fa fa-download"></i> Download</a></div>
      </div>
      <div class="col-sm-15 col-md-15 reset margin-top-10" id="main-menu-wrapper">
      
        <div class="navbar yamm" id="main-menu">
          <div class="navbar-collapse collapse reset float-right" id="navbar-main-menu">
            <ul class="nav navbar-nav">
              



<li>
  <a class="" href="/opencert/">
  
  Home
  </a>
  
</li>


<li>
  <a class="" href="/opencert/resources/">
  
  Resources
  </a>
  
</li>


<li>
  <a class="" href="/opencert/community/">
  
  Community
  </a>
  
</li>


<li>
  <a class="" href="/opencert/about/">
  
  About
  </a>
  
</li>


<li>
  <a class="" href="/opencert/news/">
  
  News
  </a>
  
</li>


<li class="dropdown eclipse-more hidden-xs">
  <a data-toggle="dropdown" class="dropdown-toggle" role="button">More<b class="caret"></b></a>
  <ul class="dropdown-menu">
    <li>
      
      <div class="yamm-content">
        <div class="row">
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Community</strong></p>
            </li>
            <li><a href="http://marketplace.eclipse.org">Marketplace</a></li>
            <li><a href="http://events.eclipse.org">Events</a></li>
            <li><a href="http://www.planeteclipse.org/">Planet Eclipse</a></li>
            <li><a href="https://www.eclipse.org/community/eclipse_newsletter/">Newsletter</a></li>
            <li><a href="https://www.youtube.com/user/EclipseFdn">Videos</a></li>
            <li><a href="https://blogs.eclipse.org">Blogs</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Participate</strong></p>
            </li>
            <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
            <li><a href="https://www.eclipse.org/forums/">Forums</a></li>
            <li><a href="https://www.eclipse.org/mail/">Mailing Lists</a></li>
            <li><a href="https://wiki.eclipse.org/">Wiki</a></li>
            <li><a href="https://wiki.eclipse.org/IRC">IRC</a></li>
          </ul>
          <ul class="col-sm-8 list-unstyled">
            <li>
              <p><strong>Eclipse IDE</strong></p>
            </li>
            <li><a href="https://www.eclipse.org/downloads">Download</a></li>
            <li><a href="https://help.eclipse.org">Documentation</a></li>
            <li><a href="https://www.eclipse.org/getting_started">Getting Started / Support</a></li>
            <li><a href="https://www.eclipse.org/contribute/">How to Contribute</a></li>
            <li><a href="https://www.eclipse.org/ide/">IDE and Tools</a></li>
            <li><a href="https://www.eclipse.org/forums/index.php/f/89/">Newcomer Forum</a></li>
          </ul>
        </div>
      </div>
    </li>
  </ul>
</li>



            </ul>
          </div>
          <div class="navbar-header">
            <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-main-menu">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            </button>
            <div class="wrapper-logo-mobile">
              
                <a class="navbar-brand visible-xs" title="OpenCert" href="https://www.polarsys.org/opencert/">
                  <img width="140" class="logo-eclipse-default-mobile img-responsive" src="https://www.polarsys.org/opencert/images/logo.png" alt="OpenCert" />
                </a>
              
            </div>
          </div>
        </div>
      </div>
    </div>
  </div>
  

</header>

    
<section class="default-breadcrumbs hidden-print" id="breadcrumb">
  <div class="container">
  <h3 class="sr-only">Breadcrumbs</h3>
  <div class="row">
    <div class="col-sm-24">
      <ol class="breadcrumb">
        
      
      
      
      <li>
        <a href="https://www.polarsys.org/opencert/">OpenCert</a>
      </li>
      
      
      <li class="active">
        <a href="https://www.polarsys.org/opencert/community/">Community</a>
      </li>
      
      </ol>
      
    </div>
  </div>
</section>

    
<main>
  <div class="container">
    
    <div class="row">
      <div class="col-md-18 padding-bottom-30">
        
        
        <h1>Community</h1>
        
        

<hr />

<h3 id="social-networks">Social networks</h3>

<p>Follow OpenCert and the AMASS Open Platform on:</p>

<ul>
<li><a href="https://twitter.com/@AMASSproject">Twitter</a></li>
<li><a href="https://www.linkedin.com/groups/3807241/">LinkedIn Group</a></li>
</ul>

<p>View more videos on the <a href="https://www.youtube.com/channel/UCw_D0l5sDgysEphi6tzzDyw">youtube channel</a></p>

<h3 id="get-in-touch-with-the-team">Get in touch with the team</h3>

<p>Learn about OpenCert, join the community, connect with other CHESS users, get support and service:</p>

<ul>
<li><a href="https://polarsys.org/forums/">Forum</a>: Consult the OpenCert forum and ask questions about the tool. This also the forum about CHESS and other Polarsys projects.</li>
<li><a href="https://wiki.polarsys.org/Main_Page">Polarsys Wiki</a>: Wiki providing additional resources about OpenCert and Polarsys.</li>
<li><a href="https://bugs.polarsys.org/enter_bug.cgi?product=Opencert">Report a bug</a>: Bugzilla for bug reporting and enhancement requests.</li>
<li><a href="https://dev.polarsys.org/mailman/listinfo/opencert-dev">Mailing-list</a>: Subscribe to the developers mailing-list to be warned about technical announcements.</li>
<li><a href="https://www.polarsys.org/projects/polarsys.opencert">Polarsys project page</a>: information about the project development.</li>
</ul>

<h3 id="source-repositories">Source Repositories</h3>

<p>You can use the code from these repositories to experiment, test, build, create patches, issue pull requests, etc. This project uses Gerrit Code Review; please see <a href="http://wiki.eclipse.org/Gerrit">contributing via Gerrit</a>.</p>

<p>Clone: <a href="https://git.polarsys.org/r/opencert/opencert">https://git.polarsys.org/r/opencert/opencert</a></p>

<p>Browse: <a href="http://git.polarsys.org/c/opencert/opencert.git">http://git.polarsys.org/c/opencert/opencert.git</a></p>
  
        
      </div>
      <div class="col-md-6  padding-bottom-30">
        

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

    
<p id="back-to-top">
  <a class="visible-xs" href="#top">Back to the top</a>
</p>
<footer id="solstice-footer">
  <div class="container">
    <div class="row">
      <section class="col-sm-6 hidden-print" id="footer-eclipse-foundation">
        <h2 class="section-title">Eclipse Foundation</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/org/">About Us</a></li>
          <li><a href="https://www.eclipse.org/org/foundation/contact.php">Contact Us</a></li>
          <li><a href="https://www.eclipse.org/donate">Donate</a></li>
          <li><a href="https://www.eclipse.org/org/documents/">Governance</a></li>
          <li><a href="https://www.eclipse.org/artwork/">Logo and Artwork</a></li>
          <li><a href="https://www.eclipse.org/org/foundation/directors.php">Board of Directors</a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-legal">
        <h2 class="section-title">Legal</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
          <li><a href="https://www.eclipse.org/legal/termsofuse.php">Terms of Use</a></li>
          <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright Agent</a></li>
          <li><a href="https://www.eclipse.org/legal/epl-2.0/">Eclipse Public License</a></li>
          <li><a href="https://www.eclipse.org/legal/">Legal Resources </a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-useful-links">
        <h2 class="section-title">Useful Links</h2>
        <ul class="nav">
          <li><a href="https://bugs.eclipse.org/bugs/">Report a Bug</a></li>
          <li><a href="//help.eclipse.org/">Documentation</a></li>
          <li><a href="https://www.eclipse.org/contribute/">How to Contribute</a></li>
          <li><a href="https://www.eclipse.org/mail/">Mailing Lists</a></li>
          <li><a href="https://www.eclipse.org/forums/">Forums</a></li>
          <li><a href="//marketplace.eclipse.org">Marketplace</a></li>
        </ul>
      </section>
      <section class="col-sm-6 hidden-print" id="footer-other">
        <h2 class="section-title">Other</h2>
        <ul class="nav">
          <li><a href="https://www.eclipse.org/ide/">IDE and Tools</a></li>
          <li><a href="https://www.eclipse.org/projects">Community of Projects</a></li>
          <li><a href="https://www.eclipse.org/org/workinggroups/">Working Groups</a></li>
          <li><a href="https://www.eclipse.org/org/research/">Research@Eclipse</a></li>
          <li><a href="https://status.eclipse.org">Service Status</a></li>
        </ul>
      </section>
      <div class="col-sm-24 margin-top-20">
        <div class="row">
          <div id="copyright" class="col-md-16">
            <p id="copyright-text">Copyright &copy; Eclipse Foundation, Inc. All Rights Reserved.</p>
          </div>
          <div class="col-md-8 social-media">
            <ul class="list-inline">
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://twitter.com/EclipseFdn">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-twitter fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://plus.google.com/+Eclipse">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-google-plus fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.facebook.com/eclipse.org">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-facebook fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.youtube.com/user/EclipseFdn">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-youtube fa-stack-1x"></i>
                </a>
              </li>
              <li>
                <a class="social-media-link fa-stack fa-lg" href="https://www.linkedin.com/company/eclipse-foundation">
                <i class="fa fa-circle-thin fa-stack-2x"></i>
                <i class="fa fa-linkedin fa-stack-1x"></i>
                </a>
              </li>
            </ul>
          </div>
        </div>
      </div>
      <a href="#" class="scrollup">Back to the top</a>
    </div>
  </div>
</footer>

<script src="https://www.eclipse.org/eclipse.org-common/themes/solstice/public/javascript/main.min.js"></script>

</body>
</html>
  </body>
</html>

