<!doctype html>
<html
  itemscope
  class=""
  lang="en-us"
  itemtype="http://schema.org/WebPage"
>
  <head><script src="/livereload.js?mindelay=10&amp;v=2&amp;port=1313&amp;path=livereload" data-no-instant defer></script>
    
    <meta charset="utf-8" />


<meta
  name="viewport"
  content="width=device-width, initial-scale=1, maximum-scale=5"
/>


<meta name="theme-name" content="hugoplate" />















<link rel="shortcut icon" href="/images/favicon_hudf4905de8b22f1b316f0f9113e9f1079_22623_96x0_resize_lanczos_3.png" type="image/x-icon">
<link rel="icon" href="/images/favicon_hudf4905de8b22f1b316f0f9113e9f1079_22623_96x0_resize_lanczos_3.png" type="image/x-icon">
<link rel="icon" type="image/png" sizes="48x48" href="/images/favicon_hudf4905de8b22f1b316f0f9113e9f1079_22623_48x0_resize_lanczos_3.png">
<link rel="icon" type="image/png" sizes="96x96" href="/images/favicon_hudf4905de8b22f1b316f0f9113e9f1079_22623_96x0_resize_lanczos_3.png">
<link rel="apple-touch-icon" sizes="144x144" href="/images/favicon_hudf4905de8b22f1b316f0f9113e9f1079_22623_144x0_resize_lanczos_3.png">







<link rel="manifest" href="/manifest.webmanifest" />
<meta
  name="msapplication-TileColor"
  content="#ddd" />
<meta
  name="theme-color"
  content="#ffffff" />




















  <base href="//localhost:1313/developers/" />







  
  


<title>Developers</title>















  <meta
    name="keywords"
    content="fediverse, nixos, open source" />




<meta
  name="description"
  content="Information for developers about the Fediversity Project." />



  <meta name="author" content="NGI Fediversity" />






  
  












  

  
  
  


  
  
    
    
      
    

    


    
    


    
    
      
      
      
        <meta property="og:image" content="//localhost:1313/images/og-image.png" />
        <meta name="twitter:image" content="//localhost:1313/images/og-image.png" />
        <meta
          name="twitter:card"
          content="summary
            _large_image
          " />
      
      
      <meta property="og:image:width" content="900" />
      <meta property="og:image:height" content="600" />
    


    
    <meta
      property="og:image:type"
      content="image/
        .png
      " />
  


  





<meta property="og:title" content="Developers" />
<meta property="og:description" content="Information for developers about the Fediversity Project." />
<meta property="og:type" content="website" />
<meta property="og:url" content="//localhost:1313/developers/" />


<meta name="twitter:title" content="Developers" />
<meta name="twitter:description" content="Information for developers about the Fediversity Project." />

















<script>
  let indexURL = "//localhost:1313/searchindex.json";
  let includeSectionsInSearch = ["blog"];
  let no_results_for = "No results for";
  let empty_search_results_placeholder = "Type something to search..";
</script>


















    
    
<meta http-equiv="x-dns-prefetch-control" content="on" />
<link rel="preconnect" href="https://use.fontawesome.com" crossorigin />
<link rel="preconnect" href="//cdnjs.cloudflare.com" />
<link rel="preconnect" href="//www.googletagmanager.com" />
<link rel="preconnect" href="//www.google-analytics.com" />
<link rel="dns-prefetch" href="https://use.fontawesome.com" />
<link rel="dns-prefetch" href="//ajax.googleapis.com" />
<link rel="dns-prefetch" href="//cdnjs.cloudflare.com" />
<link rel="dns-prefetch" href="//www.googletagmanager.com" />
<link rel="dns-prefetch" href="//www.google-analytics.com" />
<link rel="dns-prefetch" href="//fonts.googleapis.com" />
<link rel="dns-prefetch" href="//connect.facebook.net" />
<link rel="dns-prefetch" href="//platform.linkedin.com" />
<link rel="dns-prefetch" href="//platform.twitter.com" />


 
<link rel="preconnect" href="https://fonts.googleapis.com" />
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<script>
  (function () {
    const googleFont = document.createElement("link");
    googleFont.href =
      "https://fonts.googleapis.com/css2?family=Heebo:wght@400;600&family=Signika:wght@500;700&display=swap";
    googleFont.type = "text/css";
    googleFont.rel = "stylesheet";
    document.head.appendChild(googleFont);
  })();
</script>


                                    
      
<link
  href="/css/style.css"
  integrity=""
  rel="stylesheet"
/>


<link
  defer
  async
  rel="stylesheet"
  href="/css/style-lazy.css"
  integrity=""
  media="print"
  onload="this.media='all'; this.onload=null;"
/>

  </head>

  <body>
    
     




    
    <div
  class="fixed left-0 top-0 z-50 flex w-[30px] items-center justify-center bg-gray-200 py-[2.5px] text-[12px] uppercase text-black sm:bg-red-200 md:bg-yellow-200 lg:bg-green-200 xl:bg-blue-200 2xl:bg-pink-200"
>
  <span class="block sm:hidden">all</span>
  <span class="hidden sm:block md:hidden">sm</span>
  <span class="hidden md:block lg:hidden">md</span>
  <span class="hidden lg:block xl:hidden">lg</span>
  <span class="hidden xl:block 2xl:hidden">xl</span>
  <span class="hidden 2xl:block">2xl</span>
</div>
 

    
    <header
  class="header sticky top-0 z-30"
>
  <nav class="navbar container">
    
    <div class="order-0">
      
      <a class="navbar-brand block" href="/">
        















  









  
  
  


  
  
    
    
  


  
  
    
    
    
    
    
    
    
  
  

  
  
    
    
      
      


      
      
        
        
        
        

        
        
        
      
      
    
  
  

  
    <img
      fetchpriority="high"
      decoding="async"
      class="img logo-light"
      width="160"
      height="32"
      src="/images/logo_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_q80_h2_lanczos_3.webp"
      alt="Hugoplate"
      onerror="this.onerror=null;this.src='\/images\/logo_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_lanczos_3.png';" />

    <img
      fetchpriority="high"
      decoding="async"
      class="img logo-dark"
      width="160"
      height="32"
      src="/images/logo-darkmode_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_q80_h2_lanczos_3.webp"
      alt="Hugoplate"
      onerror="this.onerror=null;this.src='\/images\/logo-darkmode_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_lanczos_3.png';" />
  
  


      </a>
    </div>
    
    <input id="nav-toggle" type="checkbox" class="hidden" />
    <label
      for="nav-toggle"
      class="order-3 cursor-pointer flex items-center lg:hidden text-dark lg:order-1"
    >
      <svg id="show-button" class="h-6 fill-current block" viewBox="0 0 20 20">
        <title>Menu Open</title>
        <path d="M0 3h20v2H0V3z m0 6h20v2H0V9z m0 6h20v2H0V0z"></path>
      </svg>
      <svg id="hide-button" class="h-6 fill-current hidden" viewBox="0 0 20 20">
        <title>Menu Close</title>
        <polygon
          points="11 9 22 9 22 11 11 11 11 22 9 22 9 11 -2 11 -2 9 9 9 9 -2 11 -2"
          transform="rotate(45 10 10)"
        ></polygon>
      </svg>
    </label>
    

    
    <ul
      id="nav-menu"
      class="navbar-nav order-3 hidden lg:flex w-full pb-6 lg:order-1 lg:w-auto lg:space-x-2 lg:pb-0 xl:space-x-8"
    >
           
      <li class="nav-item nav-dropdown group relative">
        <span
          class="nav-link 
                
                
                active
              
                
                
                
              
                
                
                
               inline-flex items-center"
        >
          For You
          <svg class="h-4 w-4 fill-current" viewBox="0 0 20 20">
            <path
              d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"
            />
          </svg>
        </span>
        <ul
          class="nav-dropdown-list lg:group-hover:visible lg:group-hover:opacity-100"
        >
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link 
                      active"
              
              href="/developers/"
            >
              Developers
            </a>
          </li>
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/ec/"
            >
              European Commission
            </a>
          </li>
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/individuals/"
            >
              Individuals
            </a>
          </li>
          
        </ul>
      </li>
           
      <li class="nav-item nav-dropdown group relative">
        <span
          class="nav-link 
                
                
                
              
                
                
                
              
                
                
                
              
                
                
                
               inline-flex items-center"
        >
          Consortium
          <svg class="h-4 w-4 fill-current" viewBox="0 0 20 20">
            <path
              d="M9.293 12.95l.707.707L15.657 8l-1.414-1.414L10 10.828 5.757 6.586 4.343 8z"
            />
          </svg>
        </span>
        <ul
          class="nav-dropdown-list lg:group-hover:visible lg:group-hover:opacity-100"
        >
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/nlnet/"
            >
              NLnet
            </a>
          </li>
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/nordunet/"
            >
              NORDUnet
            </a>
          </li>
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/oid/"
            >
              Open Internet Discourse
            </a>
          </li>
            
          <li class="nav-dropdown-item">
            <a
              class="nav-dropdown-link "
              
              href="/tweag/"
            >
              Tweag
            </a>
          </li>
          
        </ul>
      </li>
           
      <li class="nav-item">
        <a
          class="nav-link "
          
          href="/fediversity/"
          >Fediversity</a
        >
      </li>
           
      <li class="nav-item">
        <a
          class="nav-link "
          
          href="/grants/"
          >Grants</a
        >
      </li>
           
      <li class="nav-item">
        <a
          class="nav-link "
          
          href="/events/"
          >Events</a
        >
      </li>
           
      <li class="nav-item">
        <a
          class="nav-link "
          
          href="/blog/"
          >News</a
        >
      </li>
        
      <li class="mt-4 inline-block lg:hidden">
        <a
          class="btn btn-outline-primary btn-sm"
          href="/contact"
        >
          Contact
        </a>
      </li>
      
    </ul>

    <div class="order-1 ml-auto flex items-center md:order-2 lg:ml-0">
       
      <button
        aria-label="search"
        class="border-border text-dark hover:text-primary mr-5 inline-block border-r pr-5 text-xl"
        data-target="search-modal"
      >
        <i class="fa-solid fa-search"></i>
      </button>
        
      
 
 
<div class="theme-switcher mr-5">
  <input id="theme-switcher" data-theme-switcher type="checkbox" />
  <label for="theme-switcher">
    <span class="sr-only">theme switcher</span>
    <span>
      
      <svg
        class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10 opacity-100"
        viewBox="0 0 56 56"
        fill="#fff"
        height="16"
        width="16"
      >
        <path
          d="M30 4.6c0-1-.9-2-2-2a2 2 0 0 0-2 2v5c0 1 .9 2 2 2s2-1 2-2Zm9.6 9a2 2 0 0 0 0 2.8c.8.8 2 .8 2.9 0L46 13a2 2 0 0 0 0-2.9 2 2 0 0 0-3 0Zm-26 2.8c.7.8 2 .8 2.8 0 .8-.7.8-2 0-2.9L13 10c-.7-.7-2-.8-2.9 0-.7.8-.7 2.1 0 3ZM28 16a12 12 0 0 0-12 12 12 12 0 0 0 12 12 12 12 0 0 0 12-12 12 12 0 0 0-12-12Zm23.3 14c1.1 0 2-.9 2-2s-.9-2-2-2h-4.9a2 2 0 0 0-2 2c0 1.1 1 2 2 2ZM4.7 26a2 2 0 0 0-2 2c0 1.1.9 2 2 2h4.9c1 0 2-.9 2-2s-1-2-2-2Zm37.8 13.6a2 2 0 0 0-3 0 2 2 0 0 0 0 2.9l3.6 3.5a2 2 0 0 0 2.9 0c.8-.8.8-2.1 0-3ZM10 43.1a2 2 0 0 0 0 2.9c.8.7 2.1.8 3 0l3.4-3.5c.8-.8.8-2.1 0-2.9-.8-.8-2-.8-2.9 0Zm20 3.4c0-1.1-.9-2-2-2a2 2 0 0 0-2 2v4.9c0 1 .9 2 2 2s2-1 2-2Z"
        />
      </svg>
      
      <svg
        class="absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-10 opacity-0"
        viewBox="0 0 24 24"
        fill="none"
        height="16"
        width="16"
      >
        <path
          fill="#000"
          fill-rule="evenodd"
          clip-rule="evenodd"
          d="M8.2 2.2c1-.4 2 .6 1.6 1.5-1 3-.4 6.4 1.8 8.7a8.4 8.4 0 0 0 8.7 1.8c1-.3 2 .5 1.5 1.5v.1a10.3 10.3 0 0 1-9.4 6.2A10.3 10.3 0 0 1 3.2 6.7c1-2 2.9-3.5 4.9-4.4Z"
        />
      </svg>
    </span>
  </label>
</div>


<script>
  var darkMode = false;

  
  if (window.matchMedia("(prefers-color-scheme: dark)").matches){darkMode = true}
  

  if (localStorage.getItem("theme") === "dark"){darkMode = true}
  else if (localStorage.getItem("theme") === "light"){darkMode = false}
  if (darkMode){document.documentElement.classList.toggle("dark")}
  var themeSwitch = document.querySelectorAll("[data-theme-switcher]");

  document.addEventListener("DOMContentLoaded", () => {
    [].forEach.call(themeSwitch, function (ts) {
      ts.checked = darkMode ? true : false;
      ts.addEventListener("click", () => {
        document.documentElement.classList.toggle("dark");
        localStorage.setItem(
          "theme",
          document.documentElement.classList.contains("dark") ? "dark" : "light"
        );
      });
    });
  });
</script>



      
      
      <a
        href="/contact"
        class="btn btn-outline-primary btn-sm hidden lg:inline-block"
      >
        Contact
      </a>
      
    </div>
  </nav>
</header>
 




  
    <div
      class="search-modal "
      aria-hidden="true"
      style="--color-primary: #121212">
      <div data-target="close-search-modal" class="search-modal-overlay"></div>
      <div
        class="search-wrapper"
        data-image="true"
        data-description="true"
        data-tags="true"
        data-categories="true">
        <div class="search-wrapper-header">
          <label for="search-modal-input" style="margin-top:-1px">
            <span class="sr-only">search icon</span>
            <svg
              xmlns="http://www.w3.org/2000/svg"
              viewBox="0 0 512 512"
              height="18"
              width="18"
              class="search-icon"
              data-type="search">
              <path
                fill="currentColor"
                d="M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z" />
            </svg>
            <svg
              xmlns="http://www.w3.org/2000/svg"
              viewBox="0 0 512 512"
              height="18"
              width="18"
              class="search-reset"
              data-type="reset">
              <path
                fill="currentColor"
                d="M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z" />
            </svg>
          </label>
          <input
            id="search-modal-input"
            type="text"
            data-search-input
            autocomplete="off"
            aria-label="Search"
            placeholder="Search Post ..." />
        </div>
        <div class="search-wrapper-body">
          <div class="search-result" data-search-result></div>
          <span class="search-result-empty">
            Type something to search..
          </span>
        </div>
        <div class="search-wrapper-footer">
          <span>
            <kbd>
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="14"
                height="14"
                fill="currentColor"
                viewBox="0 0 16 16">
                <path
                  d="M3.204 11h9.592L8 5.519 3.204 11zm-.753-.659 4.796-5.48a1 1 0 0 1 1.506 0l4.796 5.48c.566.647.106 1.659-.753 1.659H3.204a1 1 0 0 1-.753-1.659z" />
              </svg>
            </kbd>
            <kbd>
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="14"
                height="14"
                fill="currentColor"
                style="margin-top:1px;"
                viewBox="0 0 16 16">
                <path
                  d="M3.204 5h9.592L8 10.481 3.204 5zm-.753.659 4.796 5.48a1 1 0 0 0 1.506 0l4.796-5.48c.566-.647.106-1.659-.753-1.659H3.204a1 1 0 0 0-.753 1.659z" />
              </svg>
            </kbd>
            to navigate
          </span>
          <span>
            <kbd>
              <svg
                xmlns="http://www.w3.org/2000/svg"
                width="12"
                height="12"
                fill="currentColor"
                style="display:inline-block;"
                viewBox="0 0 16 16">
                <path
                  fill-rule="evenodd"
                  d="M14.5 1.5a.5.5 0 0 1 .5.5v4.8a2.5 2.5 0 0 1-2.5 2.5H2.707l3.347 3.346a.5.5 0 0 1-.708.708l-4.2-4.2a.5.5 0 0 1 0-.708l4-4a.5.5 0 1 1 .708.708L2.707 8.3H12.5A1.5 1.5 0 0 0 14 6.8V2a.5.5 0 0 1 .5-.5z" />
              </svg>
            </kbd>
            to select
          </span>
          <span class="search-result-info"></span>
          <span data-target="close-search-modal">
            <kbd>ESC</kbd> to close
          </span>
        </div>
      </div>
    </div>
  



    <main> <section>
  <div class="container text-center">
    <div
      class="from-body to-theme-light rounded-2xl bg-gradient-to-b px-8 py-14"
    >
      <h1>Developers</h1>
        

<ul class="mt-6 inline-flex space-x-1 capitalize">
  <li>
    <a class="text-primary" href="//localhost:1313/">
      Home
    </a>
    <span class="inlin-block mr-1">/</span>
  </li>
      
  <li>
    <span class="text-primary">
      Developers
    </span>
  </li>
</ul>

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


<section class="section-sm">
  <div class="container">
    <div class="row justify-center">
      <div class="lg:col-10">
        <div class="content"><p>The Fediversity Project enables easy hosting for a wide variety of fediverse platforms, all based on NixOS. At the start, the project will support Mastodon, PixelFed,PeerTube, Matrix and Nexcloud, and the project is actively working to expand this offering. Other services that are offered are email (based on Stalwart) and domain registry.</p>
<p>As part of the NGI Funding, the Fediversity Project also offers grants to developers to expand the ecosystem. The NLNet website has more information on how you as a developer can apply to grants, ranging from 5.000 to 50.000 euro&rsquo;s.</p>
<p>If you are a developer of fediverse software, and would like to get your platform also offered for easy hosting as part of the Fediversity Project, please reach out to us. You can contact us HERE.</p>
<p>As the project is based upon NixOS, we are actively supporting making fediverse projects available as nix packages. If your project is on the fence about this, please reach out. Nix packages make updating and maintaining fediverse projects a breeze!</p>
</div>
      </div>
    </div>
  </div>
</section>
</main>

    
    <footer class="bg-theme-light">
  <div class="container">
    <div class="row items-center py-10">
      <div class="lg:col-3 mb-8 text-center lg:mb-0 lg:text-left">
        
        <a
          class="navbar-brand inline-block"
          href="/"
        >
          















  









  
  
  


  
  
    
    
  


  
  
    
    
    
    
    
    
    
  
  

  
  
    
    
      
      


      
      
        
        
        
        

        
        
        
      
      
    
  
  

  
    <img
      fetchpriority="high"
      decoding="async"
      class="img logo-light"
      width="160"
      height="32"
      src="/images/logo_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_q80_h2_lanczos_3.webp"
      alt="Hugoplate"
      onerror="this.onerror=null;this.src='\/images\/logo_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_lanczos_3.png';" />

    <img
      fetchpriority="high"
      decoding="async"
      class="img logo-dark"
      width="160"
      height="32"
      src="/images/logo-darkmode_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_q80_h2_lanczos_3.webp"
      alt="Hugoplate"
      onerror="this.onerror=null;this.src='\/images\/logo-darkmode_hu3e1f0f6bc04cc0e54cd69f08cd041995_19726_320x0_resize_lanczos_3.png';" />
  
  


        </a>
      </div>
      <div class="lg:col-6 mb-8 text-center lg:mb-0">
        <ul>
          
          <li class="m-3 inline-block">
            <a
              
              href="
                  /fediversity/
                "
              >About</a
            >
          </li>
          
          <li class="m-3 inline-block">
            <a
              
              href="
                  /privacy-policy/
                "
              >Privacy Policy</a
            >
          </li>
          
        </ul>
      </div>
      <div class="lg:col-3 mb-8 text-center lg:mb-0 lg:mt-0 lg:text-right">
        <ul class="social-icons">
          
          <li>
            <a
              target="_blank"
              aria-label="mastodon"
              rel="nofollow noopener"
              href="https://mastodon.fediversity.eu/@fediversity"
            >
              <i class="fab fa-mastodon"></i>
            </a>
          </li>
          
          <li>
            <a
              target="_blank"
              aria-label="rss"
              rel="nofollow noopener"
              href="https://fediversity.eu/rss"
            >
              <i class="fab fa-rss"></i>
            </a>
          </li>
          
        </ul>
      </div>
    </div>
  </div>
  <div class="border-border border-t py-7">
    <div class="text-light container text-center">
      <p></p>
    </div>
  </div>
</footer>


    
    
                                                        


    
<script
  crossorigin="anonymous"
  integrity=""
  src="/js/script.js"
></script>


<script
  defer
  async
  crossorigin="anonymous"
  integrity=""
  src="/js/script-lazy.js"
></script>



<script>
  if ('serviceWorker' in navigator){navigator.serviceWorker.register("/service-worker.js");}
</script>





  







  </body>
</html>