<!DOCTYPE html>
<html lang="en" dir="ltr" prefix="og: https://ogp.me/ns#">
  <head>
    <meta charset="utf-8">
<link rel="canonical" href="https://opensource.com/">
<meta property="og:site_name" content="Opensource.com">
<meta property="og:type" content="website">
<meta property="og:url" content="https://opensource.com/">
<meta property="og:title" content="Opensource.com">
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@opensourceway">
<meta name="twitter:title" content="Opensource.com">
<meta name="Generator" content="Drupal 10 (https://www.drupal.org)">
<meta name="MobileOptimized" content="width">
<meta name="HandheldFriendly" content="true">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" href="/themes/osdc/assets/img/favicons/favicon.ico" type="image/vnd.microsoft.icon">

    <title>Opensource.com</title>
    <link rel="stylesheet" media="all" href="/sites/default/files/css/css_NQ1nxvlxNeOjyo7GJF6jU-bX8uHtHobv8PV-CHf26EM.css?delta=0&amp;language=en&amp;theme=osdc&amp;include=eJxVjkEOgzAMBD9kyJMqx7FoihMjO9CG1xcBPfSyWmml2VlUJCRbF5RxOfoguc4O3r1xCRGdgQTd-18v7I4TO5Aah6pWUPLOoJ4oTKIRBQS7ru2RspNubD1oZVKBLfPbw5lj0bQKX5RbAl_4uThoLZPw0Ph4NoiC-21xztRwiKI0_6SqpntyRqPnF1GgU_Y">
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_OxBWfCNbQ0DfjsXj7OrV5J5bVQ9sXQvcpEDcyMq1-js.css?delta=1&amp;language=en&amp;theme=osdc&amp;include=eJxVjkEOgzAMBD9kyJMqx7FoihMjO9CG1xcBPfSyWmml2VlUJCRbF5RxOfoguc4O3r1xCRGdgQTd-18v7I4TO5Aah6pWUPLOoJ4oTKIRBQS7ru2RspNubD1oZVKBLfPbw5lj0bQKX5RbAl_4uThoLZPw0Ph4NoiC-21xztRwiKI0_6SqpntyRqPnF1GgU_Y">
<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Red+Hat+Text:wght@400;500;700&amp;display=swap">
<link rel="stylesheet" media="all" href="https://fonts.googleapis.com/css2?family=Red+Hat+Mono:wght@400;500;700&amp;display=swap">
<link rel="stylesheet" media="all" href="/sites/default/files/css/css_Giv0116jI53KYODyGfii-R0CZP4oLRijotD4QrdM7fo.css?delta=4&amp;language=en&amp;theme=osdc&amp;include=eJxVjkEOgzAMBD9kyJMqx7FoihMjO9CG1xcBPfSyWmml2VlUJCRbF5RxOfoguc4O3r1xCRGdgQTd-18v7I4TO5Aah6pWUPLOoJ4oTKIRBQS7ru2RspNubD1oZVKBLfPbw5lj0bQKX5RbAl_4uThoLZPw0Ph4NoiC-21xztRwiKI0_6SqpntyRqPnF1GgU_Y">

    <script src="/libraries/chapeaux--cpx-reporter/cpx-reporter.js?v=0.12.0" type="module"></script>
<script src="https://www.redhat.com/ma/dpal.js"></script>

    <script async data-debug data-domain="redhat2.com" id="trustarc" src="https://static.redhat.com/libs/redhat/marketing/latest/trustarc/trustarc.js" type="text/javascript"></script>

    <script type="module" src="/themes/osdc/node_modules/@patternfly/pfe-modal/dist/pfe-modal.min.js"></script>
  </head>
  <body class="path-frontpage page-node-type-page">
        <a href="#main-content" class="focusable skip-link">
      Skip to main content
    </a>
    
      <div class="dialog-off-canvas-main-canvas" data-off-canvas-main-canvas>
    <div class="layout-container">

  <header>
      <div class="region region-messages">
    <div data-drupal-messages-fallback class="hidden"></div>

  </div>

    
<div class="region-top-bar">
  <div class="region wrapper region-user-menu">
    <div class="hamburger__container">
        <div class="hamburger">
            <button id="mobnav-btn" aria-label="Toggle main menu" class="button--plain toggle-menu"></button>
            <div class="bar"></div>
        </div>
    </div>

    <a href="https://www.redhat.com/en?intcmp=701600000011l7VAAQ" target="_blank" class="flex-center support-logo">
        <img alt="Supported by Red Hat" src="/themes/osdc/assets/img/l_supported-by-redhat-white.svg" title="Supported by Red Hat" width="125" height="56" class="support-logo__image">
    </a>

    <button id="toggle-search" aria-label="Toggle Search" class="button--plain toggle-search">
        <i class="icon-search"></i>
    </button>
    <nav role="navigation" aria-labelledby="block-useraccountmenu-menu" id="block-useraccountmenu" class="block block-menu navigation menu--account">
            
  <h2 class="visually-hidden" id="block-useraccountmenu-menu">User account menu</h2>
  

        
    
                    <ul class="account">
    
                            <li class="log-in account__item">
        <a href="/user/login?current=/" class="account__link" data-drupal-link-system-path="user/login">Log in</a>
                </li>
                            <li class="rss account__item">
        <a href="/feed" title="RSS" class="account__link" data-drupal-link-system-path="rss.xml">RSS</a>
                </li>
            </ul>
    


  </nav>

  </div>
</div>

      <div class="region region-header">
    <div id="block-osdc-branding" class="block block-system block-system-branding-block">
  
    
    <div class="branding">
          <a href="/" rel="home" aria-label="Opensource.com" class="branding__logo">
        <img src="/themes/osdc/logo.svg" alt="Home">
      </a>
        <a href="https://www.redhat.com/en?intcmp=701600000011l7VAAQ" target="_blank" class="branding__supported-by">
      <img src="/themes/osdc/assets/img/l_supported-by-redhat-white.svg" width="125" height="56" class="branding__supported-by__image" alt="Supported by Red Hat">
    </a>
  </div>
  <div class="branding__slogan"></div>
</div>

  </div>

  </header>

    <div class="region region-main-nav">
    <nav role="navigation" aria-labelledby="block-mainnavigation-menu" id="block-mainnavigation" class="block block-menu navigation menu--main">
            
  <h2 class="visually-hidden" id="block-mainnavigation-menu">Main navigation</h2>
  

        
    
                    <ul class="main" id="main-menu">
    
                            <li class="main__item">
        <a href="/" class="main__link is-active" data-drupal-link-system-path="&lt;front&gt;" aria-current="page">Articles</a>
                </li>
                            <li class="main__item is-expanded">
        <a href="/resources" class="main__link" data-drupal-link-system-path="node/17752">Resources</a>
                        
                    <ul class="main__submenu">
    
                            <li class="main__item is-expanded">
        <a href="/resources/what-open-source" class="main__link" data-drupal-link-system-path="node/17753">What is open source?</a>
                        
                    <ul class="main__submenu">
    
                            <li class="main__item">
        <a href="/open-source-way" class="main__link" data-drupal-link-system-path="node/17730">The open source way</a>
                </li>
            </ul>
    
                </li>
                            <li class="main__item">
        <a href="/resources/projects-and-applications" class="main__link" data-drupal-link-system-path="node/17760">Projects and applications</a>
                </li>
                            <li class="main__item">
        <a href="/resources/organizations" class="main__link" data-drupal-link-system-path="node/17763">Organizations</a>
                </li>
                            <li class="main__item is-expanded">
        <a href="/alternatives" class="main__link" data-drupal-link-system-path="node/30871">Open source alternatives</a>
                        
                    <ul class="main__submenu">
    
                            <li class="main__item">
        <a href="/alternatives/adobe-acrobat" class="main__link" data-drupal-link-system-path="node/29486">Alternatives to Acrobat</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/autocad" class="main__link" data-drupal-link-system-path="node/29001">Alternatives to AutoCAD</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/dreamweaver" class="main__link" data-drupal-link-system-path="node/27646">Alternatives to Dreamweaver</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/gmail" class="main__link" data-drupal-link-system-path="node/22941">Alternatives to Gmail</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/matlab" class="main__link" data-drupal-link-system-path="node/29276">Alternatives to MATLAB</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/minecraft" class="main__link" data-drupal-link-system-path="node/22786">Alternatives to Minecraft</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/google-photos" class="main__link" data-drupal-link-system-path="node/27211">Alternatives to Google Photos</a>
                </li>
                            <li class="main__item">
        <a href="/life/12/6/design-without-debt-five-tools-for-designers" class="main__link" data-drupal-link-system-path="node/16365">Alternatives to Photoshop</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/skype" class="main__link" data-drupal-link-system-path="node/45576">Alternatives to Skype</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/slack" class="main__link" data-drupal-link-system-path="node/23286">Alternatives to Slack</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives/trello" class="main__link" data-drupal-link-system-path="node/22546">Alternatives to Trello</a>
                </li>
                            <li class="main__item">
        <a href="/alternatives" class="main__link" data-drupal-link-system-path="node/30871">More...</a>
                </li>
            </ul>
    
                </li>
                            <li class="main__item">
        <a href="/resources/linux" class="main__link" data-drupal-link-system-path="node/19796">Linux</a>
                </li>
            </ul>
    
                </li>
                            <li class="main__item">
        <a href="/downloads" class="main__link" data-drupal-link-system-path="downloads">Downloads</a>
                </li>
                            <li class="main__item">
        <a href="/faq" class="main__link" data-drupal-link-system-path="node/62466">Frequently Asked Questions</a>
                </li>
            </ul>
    


  </nav>
<div class="views-exposed-form block block-views block-views-exposed-filter-blockacquia-search-page" data-drupal-selector="views-exposed-form-acquia-search-page" id="block-exposedformacquia-searchpage">
  
    
      <form action="/site-search" method="get" id="views-exposed-form-acquia-search-page" accept-charset="UTF-8">
  <div class="form--inline clearfix">
  <div class="js-form-item form-item js-form-type-textfield form-type-textfield js-form-item-search form-item-search">
      <label for="edit-search">Search</label>
        <input placeholder="Search" data-drupal-selector="edit-search" type="text" id="edit-search" name="search" value size="30" maxlength="128" class="form-text">

        </div>
<div data-drupal-selector="edit-actions" class="form-actions js-form-wrapper form-wrapper" id="edit-actions"><input data-drupal-selector="edit-submit-acquia-search" type="submit" id="edit-submit-acquia-search" value="Go" class="button js-form-submit form-submit">
</div>

</div>

</form>

  </div>


  </div>


  <main>
    <a id="main-content" tabindex="-1"></a>
    <div class="wrapper wrapper--870">
        <div class="region region-content">
    <div id="block-osdc-page-title" class="block block-core block-page-title-block">
  
    
      
  <h1 class="published page-title">
    <span class="field field--name-title field--type-string field--label-hidden">Home Page</span>

      </h1>


  </div>
<div id="block-mainpagecontent" class="block block-system block-system-main-block">
  
    
      
<article class="node node--type-page node--view-mode-full">

  
  

  
  <div class="node__content">
      <div class="layout layout--onecol">
    <div class="layout__region layout__region--content">
      <div class="block block-block-content block-block-content4db14609-fb2c-45cb-ba2e-1d569092aec3">
  
    
      
            <div class="field field--name-field-referenced-item field--type-entity-reference field--label-hidden field__item"><article class="teaser teaser--featured">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">       <a href="/article/23/6/new-developments-opensourcecom" hreflang="en"><img loading="lazy" src="/sites/default/files/2023-06/camylla-battani-ABVE1cyT7hk-unsplash.webp" width="960" height="640" alt="Hands in a circle">
</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a href="/article/23/6/new-developments-opensourcecom" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">New developments at Opensource.com</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item"><p>The community is hard at work on something new.</p>
</div>
      
              <footer>
                <div class="teaser__author">
<div class="user__item">
  <pfe-avatar name="Opensource.com" shape="circle" pattern="squares" src="/sites/default/files/opensource.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/admin" hreflang="en">Opensource.com</a>
      </div>
  <span class="user__attributes"></span>
</div>
</div>
              </footer>
      </div>
</article>


</div>
      
      <div class="field field--name-field-referenced-sub-items field--type-entity-reference field--label-hidden field__items">
              <div class="field__item"><article class="teaser teaser--sub-feature">
  <figure></figure>
  <div class="teaser__content">
    
          <h2>
        <a href="/article/23/4/distributed-database-load-balancing-architecture-shardingsphere" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">A distributed database load-balancing architecture with ShardingSphere</span>
</a>
      </h2>
        
          
              <footer>
        <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Wu Weijie " shape="circle" pattern="squares" src="/sites/default/files/2023-03/%E9%A3%9E%E4%B9%A620220718-081740_0.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/wuweijie" hreflang="en">Wu Weijie </a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
              </footer>
      </div>
</article>




</div>
              <div class="field__item"><article class="teaser teaser--sub-feature">
  <figure></figure>
  <div class="teaser__content">
    
          <h2>
        <a href="/article/23/4/edit-photos-open-source-ai" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Edit your photos with open source artificial intelligence</span>
</a>
      </h2>
        
          
              <footer>
        <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Don Watkins" shape="circle" pattern="squares" src="/sites/default/files/donw2-crop.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/don-watkins" hreflang="en">Don Watkins</a>
      </div>
  <span class="user__attributes"><span class="user-attributes">(Correspondent)</span>
</span>
</div>

        </div>
              </footer>
      </div>
</article>




</div>
              <div class="field__item"><article class="teaser teaser--sub-feature">
  <figure></figure>
  <div class="teaser__content">
    
          <h2>
        <a href="/article/23/4/5-reasons-virtual-machines-still-matter" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">5 reasons virtual machines still matter</span>
</a>
      </h2>
        
          
              <footer>
        <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Alan Smithee" shape="circle" pattern="squares" src="/sites/default/files/osdc_default_avatar_1.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/alansmithee" hreflang="en">Alan Smithee</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
              </footer>
      </div>
</article>




</div>
          </div>
  
  </div>
<div class="views-element-container block block-views block-views-blockhomepage-article-river-offset-x-6">
  
    
      <div><div class="view view-homepage-article-river view-id-homepage_article_river view-display-id-offset_x_6 js-view-dom-id-80603c2011619d1502cabec16530b4f211e4504d14ec8db10c8124e7c82cb5e0">
  
    
      
      <div class="view-content">
          <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/6/new-developments-opensourcecom" data-render-position="4" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/2023-06/camylla-battani-ABVE1cyT7hk-unsplash.webp?itok=TrY1nclD" width="360" height="202" alt="Hands in a circle" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="4" href="/article/23/6/new-developments-opensourcecom" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">New developments at Opensource.com</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>The community is hard at work on something new.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Opensource.com" shape="circle" pattern="squares" src="/sites/default/files/opensource.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/admin" hreflang="en">Opensource.com</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">June 6, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/5/virtual-in-person-events" data-render-position="5" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/people_remote_teams_world.png?itok=IpuGEPtX" width="360" height="202" alt="Remote people connected on clouds" title="Remote people connected on clouds" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="5" href="/article/23/5/virtual-in-person-events" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Tips for running virtual, in-person, and hybrid events</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Create the perfect blend of virtual and in-person events.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Ray Paik" shape="circle" pattern="squares" src="/sites/default/files/pictures/headshot_2_copy.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/rpaik" hreflang="en">Ray Paik</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">May 3, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/5/docsify-markdown-html" data-render-position="6" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/browser_web_internet_website.png?itok=QvQMcVZI" width="360" height="202" alt="Digital creative of a browser on the internet" title="Digital creative of a browser on the internet" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="6" href="/article/23/5/docsify-markdown-html" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Generate web pages from Markdown with Docsify-This</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>This open source tool makes it easier than ever to convert Markdown to web pages.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Paul Hibbitts" shape="circle" pattern="squares" src="/sites/default/files/2023-04/PhPainting%20-square300px.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/paulhibbitts" hreflang="en">Paul Hibbitts</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">May 2, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/guilt-motivation" data-render-position="7" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/microphone_speak.png?itok=MopHVObW" width="360" height="202" alt="photo of microphone" title="photo of microphone" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="7" href="/article/23/4/guilt-motivation" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">How I used guilt as a motivator for good</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Guilt is usually considered a negative emotion, but by steering it well, you can achieve surprising success.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Surya Seetharaman" shape="circle" pattern="squares" src="/sites/default/files/2023-04/opensourceDP_0.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/its-surya" hreflang="en">Surya Seetharaman</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 28, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/open-source-docathon" data-render-position="8" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/files_documents_paper_folder.png?itok=MDz5v3zH" width="360" height="202" alt="Files in a folder" title="Files in a folder" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="8" href="/article/23/4/open-source-docathon" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">3 reasons to host a docathon for your open source project</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>A marathon for documentation is a great way to produce or improve the docs for your open source project.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Lydie Mod&#xe9;-Malivert" shape="circle" pattern="squares" src="/sites/default/files/2023-04/lydie_modemalivert_profilepic_0.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/lmalivert" hreflang="en">Lydie Mod&#xe9;-Malivert</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 28, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/open-source-tools-virtual-conference" data-render-position="9" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/chat_video_conference_talk_team.png?itok=7kYkOyMP" width="360" height="202" alt="Two people chatting via a video conference app" title="Two people chatting via a video conference app" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="9" href="/article/23/4/open-source-tools-virtual-conference" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Run a virtual conference using only open source tools</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Here&apos;s how to use open source tools to run your next virtual event.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="M&#xe1;ir&#xed;n Duffy" shape="circle" pattern="squares" src="/sites/default/files/pictures/picture-343-8e0fb148b105b450634e30acd8f5b22b.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/mairin" hreflang="en">M&#xe1;ir&#xed;n Duffy</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 27, 2023</span>
      </footer>
      </div>
</article>




</div>

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

  </div>
<div class="cta-block block block-block-content block-block-content6b16487f-d1b9-4d48-968e-f53dc993bff6">
  
  
      
            <div class="clearfix text-formatted field field--name-field-cta-content field--type-text-long field--label-hidden field__item"><h2>Find the perfect open source tool</h2>
<p>Project management, business intelligence, reporting, and more. Check these popular projects.</p>
</div>
      
    <div class="field--name-field-cta-link">
      <a href="/alternatives?utm_source=intcta" class data-analytics-category data-analytics-text="Get started" data-analytics-linktype="cta">Get started</a>
    </div>

  </div>

<div class="views-element-container block block-views block-views-blockhomepage-article-river-offset-x-3">
  
    
      <div><div class="view view-homepage-article-river view-id-homepage_article_river view-display-id-offset_x_3 js-view-dom-id-2de633ab5a45cb24949211c2330c82d23915150b8b7a1f43bdf8d99bccf27126">
  
    
      
      <div class="view-content">
      <div data-drupal-views-infinite-scroll-content-wrapper class="views-infinite-scroll-content-wrapper clearfix">    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/challenges-open-source-developing-countries" data-render-position="10" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/cloud-globe.png?itok=dyWexPPF" width="360" height="202" alt="Introduction to the Domain Name System (DNS)" title="Introduction to the Domain Name System (DNS)" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="10" href="/article/23/4/challenges-open-source-developing-countries" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">3 key open source challenges in developing countries</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Open source faces many struggles in developing countries that make how it&apos;s perceived and its associations inaccurate and out of touch.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Ahmed Sobeh" shape="circle" pattern="squares" src="/sites/default/files/2023-03/WhatsApp%20Image%202023-03-26%20at%2021.32.59.jpeg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/ahmed-sobeh" hreflang="en">Ahmed Sobeh</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 27, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/website-test-drupal-cypress" data-render-position="11" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/lenovo-thinkpad-laptop-concentration-focus-windows-office.png?itok=o33Y6omA" width="360" height="202" alt="Business woman on laptop sitting in front of window" title="Woman using laptop concentrating" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="11" href="/article/23/4/website-test-drupal-cypress" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Test your Drupal website with Cypress</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Testing makes everything better. Learn how to use Cypress for your Drupal website.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Jordan Graham" shape="circle" pattern="squares" src="/sites/default/files/osdc_default_avatar_1.png" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/cobadger" hreflang="en">Jordan Graham</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 26, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/designers-developers-collaborate" data-render-position="12" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/checklist_hands_team_collaboration.png?itok=qFR4FVf3" width="360" height="202" alt="a checklist for a team" title="a checklist for a team" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="12" href="/article/23/4/designers-developers-collaborate" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">5 open ways to help UX designers and developers collaborate better</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Designing with open decisions can help increase collaboration between user experience and dev teams.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Katie Riker" shape="circle" pattern="squares" src="/sites/default/files/2023-03/profilepic.jpeg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/kriker" hreflang="en">Katie Riker</a>
      </div>
  <span class="user__attributes"></span>
</div>

        </div>
                <span class="teaser__date">April 26, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/linux-gnome-44-features" data-render-position="13" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/custom_gnomes.png?itok=np3Gk-pG" width="360" height="202" alt="GNOME" title="GNOME" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="13" href="/article/23/4/linux-gnome-44-features" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">What&apos;s new in GNOME 44?</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>The GNOME Linux desktop&apos;s latest release is now available. Find out about the new and improved Bluetooth, user interface, apps, and other features in GNOME 44.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Jim Hall" shape="circle" pattern="squares" src="/sites/default/files/pictures/jimhall1.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/jim-hall" hreflang="en">Jim Hall</a>
      </div>
  <span class="user__attributes"><span class="user-attributes">(Correspondent)</span>
</span>
</div>

        </div>
                <span class="teaser__date">April 25, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/retry-your-python-code-until-it-fails" data-render-position="14" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/python_jungle_lead.jpeg?itok=tpFPCKg4" width="360" height="202" alt="Real python in the graphic jungle" title="Python in the jungle" class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="14" href="/article/23/4/retry-your-python-code-until-it-fails" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Retry your Python code until it fails</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Use the Tenacity and Mock libraries to find the bugs hiding deep within your code.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="Moshe Zadka" shape="circle" pattern="squares" src="/sites/default/files/pictures/m48a0550-half.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/moshez" hreflang="en">Moshe Zadka</a>
      </div>
  <span class="user__attributes"><span class="user-attributes">(Correspondent)</span>
</span>
</div>

        </div>
                <span class="teaser__date">April 25, 2023</span>
      </footer>
      </div>
</article>




</div>
    <div class="views-row"><article class="teaser">
  <figure>
            <div class="field field--name-field-lead-image field--type-entity-reference field--label-hidden field__item">        <a href="/article/23/4/learn-tcltk-wish-simple-game" data-render-position="15" data-link-type="listing result click" hreflang="en"><img loading="lazy" src="/sites/default/files/styles/article_teaser/public/lead-images/programming_keyboard_coding.png?itok=ePvYP5D4" width="360" height="202" alt="Programming keyboard." title="Programming keyboard." class="image-style-article-teaser">

</a>
   </div>
      </figure>
  <div class="teaser__content">
    
          <h2>
        <a data-link-type="listing result click" data-render-position="15" href="/article/23/4/learn-tcltk-wish-simple-game" rel="bookmark"><span class="field field--name-title field--type-string field--label-hidden">Learn Tcl/Tk and Wish with this simple game</span>
</a>
      </h2>
        
          
            <div class="clearfix text-formatted field field--name-field-article-subhead field--type-text-long field--label-hidden field__item">  <p>Here&apos;s an easy coding project to get you started with Tcl/Tk.</p>


</div>
      
              <footer>
                <div class="teaser__author">
          
<div class="user__item">
  <pfe-avatar name="James Farrell" shape="circle" pattern="squares" src="/sites/default/files/pictures/img_0.jpg" pfelement class="PFElement"></pfe-avatar>
  <div class="user__name">
            <a href="/users/jamesf" hreflang="en">James Farrell</a>
      </div>
  <span class="user__attributes"><span class="user-attributes">(Alumni)</span>
</span>
</div>

        </div>
                <span class="teaser__date">April 24, 2023</span>
      </footer>
      </div>
</article>




</div>
</div>

    </div>
  
      
<ul class="js-pager__items pager" data-drupal-views-infinite-scroll-pager>
  <li class="pager__item">
    <a class="button" href="?page=1" title="Load more items" rel="next">Load More</a>
  </li>
</ul>

          </div>
</div>

  </div>

    </div>
  </div>

  </div>

</article>

  </div>

  </div>

    </div>
  </main>

      <footer class="global_footer">
      <div class="wrapper">
          <div class="region region-left-footer">
    <div id="block-aboutthissitefooter" class="block block-block-content block-block-content1d00183d-1f84-4ed3-9367-c632014cd322">
  
      <h2>About This Site</h2>
    
      
            <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>The opinions expressed on this website are those of each author, not of the author&apos;s employer or of Red Hat.</p>
<p><a href="/">Opensource.com</a> aspires to publish all content under a <a href="https://creativecommons.org/licenses/">Creative Commons license</a> but may not be able to do so in all cases. You are responsible for ensuring that you have the necessary permission to reuse any work on this site. Red Hat and the Red Hat logo are trademarks of Red Hat, LLC, registered in the United States and other countries.</p>
<p>A note on advertising: Opensource.com does not sell advertising on the site or in any of its newsletters.</p>
</div>
      
  </div>

  </div>

          <div class="region region-right-footer">
    <div id="block-sitebranding" class="block block-system block-system-branding-block">
  
    
    <div class="branding">
          <a href="/" rel="home" aria-label class="branding__logo">
        <img src="/themes/osdc/logo.svg" alt="Home">
      </a>
      </div>
</div>

  </div>

          <div class="region region-copyright">
    <div id="block-copyrightfooter" class="block block-block-content block-block-contentc0a744a4-2740-4f8a-a693-ee8d7cb5ff86">
  
    
      
            <div class="clearfix text-formatted field field--name-body field--type-text-with-summary field--label-hidden field__item"><p>Copyright &#xa9;<span id="copyright-year">2021</span> Red Hat, LLC</p>
</div>
      
  </div>
<nav role="navigation" aria-labelledby="block-legal-menu" id="block-legal" class="block block-menu navigation menu--legal">
            
  <h2 class="visually-hidden" id="block-legal-menu">Legal</h2>
  

        
              <ul class="menu">
                    <li class="menu-item">
        <a href="/privacy-policy" data-drupal-link-system-path="node/17705">Privacy Policy</a>
              </li>
                <li class="menu-item">
        <a href="/legal" data-drupal-link-system-path="legal">Terms of use</a>
              </li>
                <li class="menu-item">
        <span id="teconsent"></span>
              </li>
        </ul>
  


  </nav>

  </div>

      </div>
      <div id="consent_blackbar"></div>

    </footer>
    <a rel="me" href="https://mastodon.sdf.org/@Opensource"></a></div>
  </div>

    <cpx-reporter event="User Detected" auto><script type="data">{"loggedIn":false}</script>
</cpx-reporter>
<cpx-reporter auto event="Page Load Completed"></cpx-reporter>
    <script type="application/json" data-drupal-selector="drupal-settings-json">{"path":{"baseUrl":"\/","pathPrefix":"","currentPath":"node\/69046","currentPathIsAdmin":false,"isFront":true,"currentLanguage":"en"},"pluralDelimiter":"\u0003","suppressDeprecationErrors":true,"ajaxPageState":{"libraries":"eJxNkOGSgyAMhF8I5JGYGHJKjYQh2Kt9-otap_cDZvdjgYWR4b2HMcsAD3g5ZFA1D0q3XkkVJtLbF0m2ZpOWXCv18E8Pc55mttEflpdGlm4rcH6TS9CBYacWV-qmp4D1FRtVad0gylqlUOnOQrL1mLKiPKntwTAKO9GEAVrPyOQ7WcV2MezgRxZcLjuxjPCJK0HD2VVhDqltFXg4tOdcFnVttlsTPSMU4N0O1pAs8uVH53iWtleWbu187rR65IwLJae7mr2-65npV8M5D6ukjT8o5vKTi22Liu3ocVJ_U3_RP0vxmRU","theme":"osdc","theme_token":null},"ajaxTrustedUrl":{"\/site-search":true},"views":{"ajax_path":"\/views\/ajax","ajaxViews":{"views_dom_id:2de633ab5a45cb24949211c2330c82d23915150b8b7a1f43bdf8d99bccf27126":{"view_name":"homepage_article_river","view_display_id":"offset_x_3","view_args":"","view_path":"\/node\/69046","view_base_path":null,"view_dom_id":"2de633ab5a45cb24949211c2330c82d23915150b8b7a1f43bdf8d99bccf27126","pager_element":0},"views_dom_id:80603c2011619d1502cabec16530b4f211e4504d14ec8db10c8124e7c82cb5e0":{"view_name":"homepage_article_river","view_display_id":"offset_x_6","view_args":"","view_path":"\/node\/69046","view_base_path":null,"view_dom_id":"80603c2011619d1502cabec16530b4f211e4504d14ec8db10c8124e7c82cb5e0","pager_element":0}}},"user":{"uid":0,"permissionsHash":"bc13164d8931f8d14b743e3c22c9159308b51a70c1eafe240ce98221f01ff908"}}</script>
<script src="/sites/default/files/js/js_qgp1hJtRopt0_BeP4SC5ao8KRG5al8MAxKSuQPvkAEA.js?scope=footer&amp;delta=0&amp;language=en&amp;theme=osdc&amp;include=eJxNjtEOwjAIRX-oXT-pYRQ3JitNS-bm10s0Rh9ITg73EgoYCFzU807mvCRsZ-7UtJtL1L1ppWqhr86Fjlw8ld-VhFrNd5GN9ojCeKcSdBRMi-gMEg6mx8hcb1w9kwd2FUlvG782fuynB90YhaIRDOphFnheaWadYIMzoBYalVsjS388rbys4mPb-P0JFeTyayOVBvIC0tdbeA"></script>
<script src="/themes/osdc/node_modules/%40patternfly/pfe-avatar/dist/pfe-avatar.min.js?sqka6y" type="module"></script>
<script src="/sites/default/files/js/js_Vs1jklihE74Lmh50K_QZN26KPvA_Q49pCnF9Sshashw.js?scope=footer&amp;delta=2&amp;language=en&amp;theme=osdc&amp;include=eJxNjtEOwjAIRX-oXT-pYRQ3JitNS-bm10s0Rh9ITg73EgoYCFzU807mvCRsZ-7UtJtL1L1ppWqhr86Fjlw8ld-VhFrNd5GN9ojCeKcSdBRMi-gMEg6mx8hcb1w9kwd2FUlvG782fuynB90YhaIRDOphFnheaWadYIMzoBYalVsjS388rbys4mPb-P0JFeTyayOVBvIC0tdbeA"></script>

  </body>
</html>
