<!DOCTYPE html>
<html lang="en"><head>
    <title>Contact | Eclipse SUMO - Simulation of Urban MObility</title>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="icon" href="https://www.eclipse.org/sumo/images/favicon.ico" type="image/x-icon">
    <link rel="apple-touch-icon" href="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="description" content="If you have any questions or want to report a bug, contact us now">
    <meta name="theme-color" content="#338033">
    <meta name="twitter:card" content="summary">
    <meta name="twitter:image" content="https://www.eclipse.org/sumo/images/sumo_twitter.jpg">
    <meta name="twitter:site" content="@eclipsesumo">
    <meta property="og:title" content="Contact | Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:description" content="If you have any questions or want to report a bug, contact us now">
    <meta property="og:site_name" content="Eclipse SUMO - Simulation of Urban MObility">
    <meta property="og:image" content="https://www.eclipse.org/sumo/images/sumo_share.png">
    <meta property="og:type" content="website">
    <meta property="og:url" content="https://www.eclipse.org/sumo/contact/">
    <meta name="keywords" content="SUMO, Eclipse SUMO, Traffic Simulation, Mobility">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
    <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
    <link rel="stylesheet" href="https://www.eclipse.org/sumo/css/custom.css">
    <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.8.2/css/all.css" integrity="sha384-oS3vJWv+0UjzBfQzYUhtDYW+Pj2yciDJxpsK1OYPAYjqT085Qq/1cq5FLXAZQ7Ay" crossorigin="anonymous">
    <script async defer src="https://buttons.github.io/buttons.js"></script>

    <script>
        window.onload = function check_if_ie() {
            var msie = window.navigator.userAgent.indexOf("MSIE ");
            if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) {
                document.getElementById("not_for_ie").style.display = 'none';
            }
            return false;
        }
    </script>

    
    

    

</head><body id="page-top"><!-- navigation -->

    
        <nav class="navbar navbar-expand-lg bg-light navbar-light fixed-top">
          <div class="container">
            <a class="navbar-brand" href="https://www.eclipse.org/sumo/"><img class="img-fluid" src="/sumo/images/logos/sumo-logo-white.svg" id="navbar-logo" style="pointer-events:none;" alt="SUMO logo"></a>
            <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar" aria-label="menu icon">
              <span class="navbar-toggler-icon"></span>
            </button>
            <div class="collapse navbar-collapse text-center" id="collapsibleNavbar">
              <ul class="navbar-nav ml-auto">
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      About
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://www.eclipse.org/sumo/about">About SUMO</a>
                      
                      <a class="dropdown-item" href="https://projects.eclipse.org/projects/automotive.sumo/who">Who&#39;s involved</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily">Status of daily build and tests</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/download">Download</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://sumo.dlr.de/docs/">Documentation</a>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/conference">Conference</a>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      References
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Other/Projects.html">Projects</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Publications.html">Publications</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Contributed/index.html">Contributed extensions</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true"
                      aria-expanded="false">
                      Support
                    </a>
                    <div class="dropdown-menu">
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a>
                      
                      <a class="dropdown-item" href="https://github.com/eclipse/sumo/issues">Report a Bug / Issue</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a>
                      
                      <a class="dropdown-item" href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a>
                      
                    </div>
                  </li>
                  
                
                  
                  <li class="nav-item">
                    <a class="nav-link" href="https://www.eclipse.org/sumo/contact">Contact</a>
                  </li>
                  
                
              </ul>
            </div>
            </div>
          </nav>

<!-- /navigation --><div id="content">
<section class="section">
  <div class="container-fluid header bg-gradient" style="padding: 40px 0 40px 0;">
    <div class="svg-rounded">
      <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 144.54 17.34" preserveAspectRatio="none" fill="#f8f8f8"><path d="M144.54,17.34H0V0H144.54ZM0,0S32.36,17.34,72.27,17.34,144.54,0,144.54,0"></path></svg>
    </div>
    <h1 class="text-center" style="margin-top: 80px; color:#17412f;">Contact</h1>
  
    
  </div>

  <div class="container">
    
    <div class="container"><div class="row">

<!-- mailing lists -->
<div class="col-md-12 contact-div">
<h4 style="color:#17412f;"><i class="fas fa-envelope-open-text"></i><br>
Mailing lists</h4>
<br>
If you have any questions about SUMO, please post them into one of our mailing lists. You may need to <a href="https://accounts.eclipse.org/user/register">create an Eclipse account</a> first.
<br>
Before you post on a list, please check the <a href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a> for already answered questions. 
<br><br>

<div class="row">
<div class="col-sm-4">
<a href="https://dev.eclipse.org/mailman/listinfo/sumo-user"><h5>sumo-user</h5></a>
<small>This is the first place you should ask your questions. If you have a novel question, <a href="https://sumo.dlr.de/docs/FAQ.html#what_should_i_do_to_get_helpful_answers_on_the_mailing_list">here is some general advice before asking</a>. If you wish to report an error <a href="https://sumo.dlr.de/docs/FAQ.html#how_do_i_report_erroneous_behavior_of_a_sumo_application">please follow these suggestions</a>. Subscribe to this list for asking questions, reporting issues and getting information about what other people ask.
<hr>
<i>Frequency: about 100 mails per month<br>
Archive: <a href="https://dev.eclipse.org/mhonarc/lists/sumo-user/">Eclipse Archive</a>, <a href="https://www.mail-archive.com/sumo-user@eclipse.org/">Mail Archive</a>, <a href="https://sourceforge.net/p/sumo/mailman/sumo-user/">SF Archive</a></i></small>
<div class="d-block d-sm-none" style="margin-top:60px;"></div>
</div>

<div class="col-sm-4">
<a href="https://dev.eclipse.org/mailman/listinfo/sumo-announce"><h5>sumo-announce</h5></a>
<small>Subscribe to this list if you want to get information about new releases or documents. Post to the list if you have to announce something by yourself.
<hr>
<i>
Frequency: few mails per year
<br>
Archive: <a href="https://dev.eclipse.org/mhonarc/lists/sumo-announce/">Eclipse Archive</a>, <a href="https://www.mail-archive.com/sumo-announce@eclipse.org/">Mail Archive</a>, <a href="https://sourceforge.net/p/sumo/mailman/sumo-announce/">SF Archive</a>
</i></small>
<div class="d-block d-sm-none" style="margin-top:60px;"></div>
</div>

<div class="col-sm-4">
<a href="https://dev.eclipse.org/mailman/listinfo/sumo-dev"><h5>sumo-dev</h5></a>
<small>This list is for topics related to sumo development. If you want to contribute code or ask a question in regard to extending SUMO, this is the right place.
<hr>
<i>
Frequency: few mails per month
<br>
Archive: <a href="https://dev.eclipse.org/mhonarc/lists/sumo-dev/">Eclipse Archive</a>, <a href="https://www.mail-archive.com/sumo-dev@eclipse.org/">Mail Archive</a>, <a href="https://sourceforge.net/p/sumo/mailman/sumo-devel/">SF Archive</a>
</i></small>
<div class="d-block d-sm-none" style="margin-top:20px;"></div>
</div>

<p></div></p>

<p>To <strong>unsubscribe</strong>, please visit the same link(s) as given above for subscription. You will find a field there that allows you to unsubscribe. An easy way to subscribe (or unsubscribe) is to write an email to <a href="mailto:sumo-user-join@eclipse.org">sumo-user-join@eclipse.org</a> (or <a href="mailto:sumo-user-leave@eclipse.org">sumo-user-leave@eclipse.org</a> for unsubscribing). Make sure to use the right sender address (subject and body can be empty). This works of course for the dev and the announce list as well.</p>

<div class="container alert alert-info alert-dismissible" style="margin-bottom:0;">
    There is also a <a href="http://sumo-user.90755.n8.nabble.com/">forum available</a> to access the <b>sumo-user</b> mailing list. Please be aware that every message to the forum also goes to all sumo-user subscribers and vice versa. You need to register for the forum, but you only need a valid email, not an Eclipse account.
</div>
</div>

<!-- project leads -->

<div class="col-md-12 contact-div">
<h4 style="color:#17412f;"><i class="fas fa-user-friends"></i><br>
Project Leads</h4><br>


<div class="row">

<div class="col-sm-6">
<img src="https://avatars.githubusercontent.com/behrisch" alt="picture of Michael Behrisch" style="width:100px; border-radius: 50%; margin-bottom:10px;">
<h5>Michael Behrisch</h5>
SUMO developer at the German Aerospace Center (DLR) since 2007, researcher, strategy refusenik, open source enthusiast and responsible for half of the failing integration tests.
<br><br>
<a href="mailto:sumo@dlr.de" class="btn btn-sm btn-outline-info">Email</a>
<div class="d-block d-sm-none" style="margin:30px 0;"><hr></div>
</div>

<div class="col-sm-6">
<img src="https://avatars.githubusercontent.com/roberthilbrich" alt="picture of Robert Hilbrich" style="width:100px; border-radius: 50%; margin-bottom:10px;">
<h5>Robert Hilbrich</h5>
SUMO team lead at the German Aerospace Center (DLR) in Berlin, responsible for business development and strategy, member of Eclipse Board of Directors and Chair of Eclipse openMobility.
<br><br>
<a href="mailto:sumo@dlr.de" class="btn btn-sm btn-outline-info">Email</a>
</div>

<p></div></p>

<p></div></p>

<!-- report a bug -->

<div class="col-sm-4 contact-div small-div">
<h4 style="color:#17412f;"><i class="fas fa-bug"></i><br>
Report a Bug</h4><br>
If you have found a bug within one of the applications, please let us know.
This is also the way to notify us if you find any typos or errors in our Documentation.
<br><br>
<a href="https://github.com/eclipse/sumo/issues"><button class="btn btn-sm btn-outline-info">Bug tracking service</button></a>
</div>

<!-- social media -->

<div class="col-sm-4 contact-div small-div">
<h4 style="color:#17412f;"><i class="fas fa-bullhorn"></i><br>
Social media</h4><br>
Occasional development updates are posted on our social media channels. Follow us and stay informed!
<br><br>
<a href="https://www.facebook.com/simulationofurbanmobility/"><button class="btn btn-sm btn-outline-info">Facebook</button></a>
<a href="https://twitter.com/EclipseSumo"><button class="btn btn-sm btn-outline-info">Twitter</button></a>
<a href="https://instagram.com/eclipse.sumo"><button class="btn btn-sm btn-outline-info">Instagram</button></a>
</div>

<!-- chat -->

<div class="col-sm contact-div" style="min-height:310px;">
<h4 style="color:#17412f;"><i class="fas fa-comments"></i><br>
Chat</h4><br>
There is a public channel available in the Eclipse's Mattermost instance, to facilitate occasional discussions.
<br><br>
<a href="https://mattermost.eclipse.org/eclipse/channels/sumo"><button class="btn btn-sm btn-outline-info">Mattermost channel</button></a>

</div>

<!-- commit rss -->

<div class="col-md-12 contact-div">
<h4 style="color:#17412f;"><i class="fas fa-rss"></i><br>
Commit RSS</h4><br>
If you want to receive regular updates on commits, you can subscribe to <a href="https://github.com/eclipse/sumo/commits/master.atom">this feed</a> or set up an <a href="https://ifttt.com/applets/147561p-rss-feed-to-email">IFTTT link</a> or use <a href="https://hubnotify.com/">https://hubnotify.com/</a> to send you an email.
</div>

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

    
    <div class="d-flex justify-content-end"><a href="https://github.com/eclipse/sumo.website/edit/master/content/contact.md"><button type="button" class="btn btn-light btn-sm" title="Edit this page on GitHub"><i class="fas fa-pencil-alt"></i> Edit</button></a></div>
    
  </div>
</section>

        </div>
<button onclick="goTopFunction()" id="goToTop" title="Go to top"><i class="fa fa-arrow-up"></i></button>

  
  <div style="margin-top: 20px; font-size: 0;">
    <svg class="wave d-none d-md-block" style="display: block; pointer-events: none; height:100px;" fill="#ddd" preserveAspectRatio="none" xmlns="http://www.w3.org/2000/svg" xlink="http://www.w3.org/1999/xlink" viewBox="0 0 1920 75">
        <defs>
            <style>.a {fill: none;} .b {clip-path: url(#a);} .d {opacity: 0.5; isolation: isolate;}</style>
            <clipPath id="a"><rect class="a" width="1920" height="75"></rect></clipPath>
        </defs>
        <title>wave</title>
        <g class="b"><path class="c" d="M1963,327H-105V65A2647.49,2647.49,0,0,1,431,19c217.7,3.5,239.6,30.8,470,36,297.3,6.7,367.5-36.2,642-28a2511.41,2511.41,0,0,1,420,48"></path></g>
        <g class="b"><path class="d" d="M-127,404H1963V44c-140.1-28-343.3-46.7-566,22-75.5,23.3-118.5,45.9-162,64-48.6,20.2-404.7,128-784,0C355.2,97.7,341.6,78.3,235,50,86.6,10.6-41.8,6.9-127,10"></path></g>
        <g class="b"><path class="d" d="M1979,462-155,446V106C251.8,20.2,576.6,15.9,805,30c167.4,10.3,322.3,32.9,680,56,207,13.4,378,20.3,494,24"></path></g>
        <g class="b"><path class="d" d="M1998,484H-243V100c445.8,26.8,794.2-4.1,1035-39,141-20.4,231.1-40.1,378-45,349.6-11.6,636.7,73.8,828,150"></path></g>
    </svg>
  </div>

<div class="d-block d-md-none" style="margin-top:20px;"></div>
  <footer class="footer" style="background: #ddd; margin-top: 0px; padding-top: 20px;">
          <div class="container">
            <div class="row" style="margin-bottom: 16px;">
              <div class="col-md-12">
          <div class="container-fluid">
          <div class="row" style="font-size: small;">
                  <div class="col-md text-left"><b>SUMO</b>
                  <ul class="ul-no-bullet">
                  <li><a href="https://www.eclipse.org/sumo/about">About</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Downloads.html">Downloads</a></li>
                  <li><a href="https://sumo.dlr.de/docs/ChangeLog.html">ChangeLog</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Libraries_Licenses.html">License</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Other/Projects.html">Projects using SUMO</a></li>
                  <li><a href="https://sumo.dlr.de/docs/Publications.html">Publications</a></li>
                  </ul>
                  </div>
                  <div class="col-md text-left"><b>Project</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo/who">Who's involved</a></li>
                      <li><a href="https://sumo.dlr.de/daily/">Status of daily build and tests</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo">GitHub repository</a></li>
                      <li><a href="https://www.github.com/eclipse/sumo.website">Website GitHub repository</a></li>
                      <li><a href="https://sourceforge.net/projects/sumo/">SourceForge</a></li>
                      <li><a href="https://dlr.de/ts/sumo">SUMO @ DLR</a></li>
                      <li><a href="https://projects.eclipse.org/projects/automotive.sumo">SUMO @ Eclipse</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Community</b>
                    <ul class="ul-no-bullet">
                      <li><a href="https://www.eclipse.org/sumo/contact">Mailing lists</a></li>
                      <li><a href="http://sumo-user.90755.n8.nabble.com/">Forum</a></li>
                      <li><a href="https://www.eclipse.org/sumo/conference">SUMO User Conference</a></li>
                      <li><a href="https://openmobility.eclipse.org/">openMobility Working Group</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Support & Training</b>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/sumo/contact">Contact us</a></li>
                    <li><a href="https://sumo.dlr.de/docs/FAQ.html">FAQ</a></li>
                    <li><a href="https://sumo.dlr.de/docs/index.html">Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Developer/index.html">Developer Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/daily/doxygen/">Doxygen Documentation</a></li>
                    <li><a href="https://sumo.dlr.de/docs/Tutorials/index.html">Tutorials</a></li>
                    <li><a href="https://github.com/eclipse/sumo/issues">Issue Tracking</a></li>
                    </ul>
                  </div>
                  <div class="col-md text-left"><b>Eclipse Foundation</b>
                    <br>
                    <a href="https://www.eclipse.org/"><img class="img-fluid" src="https://www.eclipse.org/sumo/images/logos/eclipse-logo.png" alt="Eclipse Foundation logo" style="margin:10px 0; width: 100px;"></a>
                    <ul class="ul-no-bullet">
                    <li><a href="https://www.eclipse.org/legal/privacy.php">Privacy Policy</a></li>
                    <li><a href="https://www.eclipse.org/legal/termsofuse.php">Website terms of use</a></li>
                    <li><a href="https://www.eclipse.org/legal/copyright.php">Copyright</a></li>
                    <li><a href="https://www.eclipse.org/legal">Legal</a></li>
                    </ul>
                  </div>
          </div>
          </div>
    
              </div>
              
              
            </div>
            <hr>
            <div class="text-center">Made with <i class="fas fa-heart" style="color: red;"></i> in Berlin</div>

                <br>
             
          </div>
  </footer>
  
  <script>
 
    window.onscroll = function() {scrollFunction()};
    
    function scrollFunction() {
      if (document.body.scrollTop > 20 || document.documentElement.scrollTop > 20) {
        document.getElementById("goToTop").style.display = "block";
        document.getElementById("navbar-logo").style.maxWidth = "60%";
      } else {
        document.getElementById("goToTop").style.display = "none";
        document.getElementById("navbar-logo").style.maxWidth = "100%";
      }
    }
  
    function goTopFunction() {
      document.body.scrollTop = 0;
      document.documentElement.scrollTop = 0;
    }
  </script>
</body>
</html>