CINXE.COM

About It's FOSS

<!DOCTYPE html> <html lang="en" data-color-scheme="system"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>About It&#x27;s FOSS</title> <meta name="HandheldFriendly" content="True"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="theme-color" content="#007b80"> <link rel="preload" href="/assets/dist/app.min.js?v=af50510519" as="script"> <link rel="preload" href="/assets/dist/app.min.css?v=af50510519" as="style"> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <style> body { --font-headings: var(--gh-font-heading, var(--font-system)); --font-body: var(--gh-font-heading, var(--font-system)); } </style> <link rel="preload stylesheet" href="https://fonts.googleapis.com/css2?family=Figtree:wght@400;500;600;700&display=swap" as="style" onload="this.onload=null;this.rel='stylesheet'" crossorigin> <style>body { --font-body: var(--gh-font-body, 'Figtree'), sans-serif; --font-headings: var(--gh-font-heading, 'Figtree'), sans-serif; }</style> <script async defer src="/assets/dist/app.min.js?v=af50510519"></script> <link rel="stylesheet" type="text/css" href="/assets/dist/app.min.css?v=af50510519"> <link rel="preconnect" href="https://a.pub.network/" crossorigin /> <link rel="preconnect" href="https://b.pub.network/" crossorigin /> <link rel="preconnect" href="https://c.pub.network/" crossorigin /> <link rel="preconnect" href="https://d.pub.network/" crossorigin /> <link rel="preconnect" href="https://c.amazon-adsystem.com" crossorigin /> <link rel="preconnect" href="https://s.amazon-adsystem.com" crossorigin /> <link rel="preconnect" href="https://btloader.com/" crossorigin /> <link rel="preconnect" href="https://api.btloader.com/" crossorigin /> <link rel="preconnect" href="https://confiant-integrations.global.ssl.fastly.net" crossorigin /> <link rel="stylesheet" href="https://a.pub.network/core/pubfig/cls.css"> <script data-cfasync="false" type="text/javascript"> var freestar = freestar || {}; freestar.queue = freestar.queue || []; freestar.config = freestar.config || {}; freestar.config.enabled_slots = []; freestar.initCallback = function () { (freestar.config.enabled_slots.length === 0) ? freestar.initCallbackCalled = false : freestar.newAdSlots(freestar.config.enabled_slots) } </script> <script src="https://a.pub.network/itsfoss/pubfig.min.js" data-cfasync="false" async></script> <style> :root { --global-max-width: 1320px; /* site max width */ --global-content-width: 680px; /* post-content-width */ --global-wide-width: 960px; /* site max width */ --global-post-hero-content-max-width: 768px; --global-radius: 5px; /* default radius */ --global-gallery-gap: 1em; /* Image gallery distance between images */ --global-hyphens: none; /* none/auto */ --global-header-height: 72px; --global-theme-notifications: visible; /* visible/hidden */ --global-progress-bar: visible; /* visible/hidden */ --global-content-preview-fading: 0%; /* 50%-100% for fading effect */ --global-hero-img-filter: ; --global-scroll-behavior: auto; } </style> <script> let preferredTheme = localStorage.getItem('PREFERRED_COLOR_SCHEME') || `system`; document.documentElement.setAttribute('data-color-scheme', preferredTheme); // Global values needed const themeGlobal = { currentPage: parseInt(''), nextPage: parseInt(''), nextPageLink: '', maxPages: parseInt(''), lastPage: `` === `` ? true : false, postsPerPage: parseInt('24'), totalPosts: parseInt(''), scrollPos: 0, imageLightbox: `true` === `true` ? true : false, autoloadResources: false, filterScrollBehavior: 'smooth' } // Calculate contrast & HSL value; function getBrandColorInfo(hexcolor) { // get contrast if (hexcolor.slice(0, 1) === '#') { hexcolor = hexcolor.slice(1); } if (hexcolor.length === 3) { hexcolor = hexcolor.split('').map(function (hex) { return hex + hex;}).join(''); } let r = parseInt(hexcolor.substr(0,2),16), g = parseInt(hexcolor.substr(2,2),16), b = parseInt(hexcolor.substr(4,2),16); let yiq = ((r * 299) + (g * 587) + (b * 114)) / 1000; const colorContrast = (yiq >= 128) ? '#000' : '#fff'; //get HSL r /= 255, g /= 255, b /= 255; const max = Math.max(r, g, b), min = Math.min(r, g, b); let h, s, l = (max + min) / 2; if ( max == min ) { h = s = 0; } else { let d = max - min; s = l > 0.5 ? d / (2 - max - min) : d / (max + min); switch(max){ case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; break; } h /= 6; } const colorHSL = [Math.round(h * 360), Math.round(s * 100), Math.round(l * 100)]; // return return { colorContrast, colorHSL } }; const brandColor = getBrandColorInfo("#007b80"); let style = document.createElement('style'); style.innerHTML = `:root { --color-brand-contrast: ${brandColor.colorContrast}; --color-brand-h: ${brandColor.colorHSL[0]}; --color-brand-s: ${brandColor.colorHSL[1]}%; --color-brand-l: ${brandColor.colorHSL[2]}%; --color-brand-hsl: ${brandColor.colorHSL[0]} ${brandColor.colorHSL[1]}% ${brandColor.colorHSL[2]}%; }` document.getElementsByTagName('head')[0].appendChild(style); </script> <link rel="icon" href="https://itsfoss.com/content/images/size/w256h256/2022/12/android-chrome-192x192.png" type="image/png"> <link rel="canonical" href="https://itsfoss.com/about/"> <meta name="referrer" content="no-referrer-when-downgrade"> <meta property="og:site_name" content="It&#x27;s FOSS"> <meta property="og:type" content="website"> <meta property="og:title" content="About It&#x27;s FOSS"> <meta property="og:description" content="It’s FOSS is an award-winning web-portal that focuses on Open Source in general and Linux in particular. While there are several other Linux websites on the internet, It’s FOSS specifically focuses on beginners to the Linux world. Its motto is to make your desktop Linux experience better. The"> <meta property="og:url" content="https://itsfoss.com/about/"> <meta property="og:image" content="https://itsfoss.com/content/images/2023/01/homepage-featured-image.png"> <meta property="article:published_time" content="2022-12-26T06:34:52.000Z"> <meta property="article:modified_time" content="2023-02-21T11:57:23.000Z"> <meta property="article:publisher" content="https://www.facebook.com/itsfoss"> <meta name="twitter:card" content="summary_large_image"> <meta name="twitter:title" content="About It&#x27;s FOSS"> <meta name="twitter:description" content="It’s FOSS is an award-winning web-portal that focuses on Open Source in general and Linux in particular. While there are several other Linux websites on the internet, It’s FOSS specifically focuses on beginners to the Linux world. Its motto is to make your desktop Linux experience better. The"> <meta name="twitter:url" content="https://itsfoss.com/about/"> <meta name="twitter:image" content="https://itsfoss.com/content/images/2023/01/homepage-featured-image.png"> <meta name="twitter:label1" content="Written by"> <meta name="twitter:data1" content="Abhishek Prakash"> <meta name="twitter:site" content="@itsfoss2"> <meta name="twitter:creator" content="@abhishek_foss"> <meta property="og:image:width" content="800"> <meta property="og:image:height" content="450"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Article", "publisher": { "@type": "Organization", "name": "It&#x27;s FOSS", "url": "https://itsfoss.com/", "logo": { "@type": "ImageObject", "url": "https://itsfoss.com/content/images/2023/01/itsfoss-logo.png" } }, "author": { "@type": "Person", "name": "Abhishek Prakash", "image": { "@type": "ImageObject", "url": "https://www.gravatar.com/avatar/84de387e32f72af3e12bf434a82ea8e8?s=250&r=x&d=mp", "width": 250, "height": 250 }, "url": "https://itsfoss.com/author/abhishek/", "sameAs": [ "https://twitter.com/abhishek_foss" ] }, "headline": "About It&#x27;s FOSS", "url": "https://itsfoss.com/about/", "datePublished": "2022-12-26T06:34:52.000Z", "dateModified": "2023-02-21T11:57:23.000Z", "description": "It’s FOSS is an award-winning web-portal that focuses on Open Source in general and Linux in particular.\n\nWhile there are several other Linux websites on the internet, It’s FOSS specifically focuses on beginners to the Linux world. Its motto is to make your desktop Linux experience better. The goal of It’s FOSS is to increase the number of Linux desktop users, which is achieved by helping them solve various issues one might encounter. Tutorials are written keeping beginners in mind with screensh", "mainEntityOfPage": "https://itsfoss.com/about/" } </script> <meta name="generator" content="Ghost 5.110"> <link rel="alternate" type="application/rss+xml" title="It&#x27;s FOSS" href="https://itsfoss.com/rss/"> <script defer src="https://cdn.jsdelivr.net/ghost/portal@~2.49/umd/portal.min.js" data-i18n="true" data-ghost="https://itsfoss.com/" data-key="121ee4fb8f9bf181b8f07c52f6" data-api="https://itsfoss.com/ghost/api/content/" data-locale="en" crossorigin="anonymous"></script><style id="gh-members-styles">.gh-post-upgrade-cta-content, .gh-post-upgrade-cta { display: flex; flex-direction: column; align-items: center; font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; text-align: center; width: 100%; color: #ffffff; font-size: 16px; } .gh-post-upgrade-cta-content { border-radius: 8px; padding: 40px 4vw; } .gh-post-upgrade-cta h2 { color: #ffffff; font-size: 28px; letter-spacing: -0.2px; margin: 0; padding: 0; } .gh-post-upgrade-cta p { margin: 20px 0 0; padding: 0; } .gh-post-upgrade-cta small { font-size: 16px; letter-spacing: -0.2px; } .gh-post-upgrade-cta a { color: #ffffff; cursor: pointer; font-weight: 500; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a:hover { color: #ffffff; opacity: 0.8; box-shadow: none; text-decoration: underline; } .gh-post-upgrade-cta a.gh-btn { display: block; background: #ffffff; text-decoration: none; margin: 28px 0 0; padding: 8px 18px; border-radius: 4px; font-size: 16px; font-weight: 600; } .gh-post-upgrade-cta a.gh-btn:hover { opacity: 0.92; }</style><script async src="https://js.stripe.com/v3/"></script> <script defer src="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/sodo-search.min.js" data-key="121ee4fb8f9bf181b8f07c52f6" data-styles="https://cdn.jsdelivr.net/ghost/sodo-search@~1.5/umd/main.css" data-sodo-search="https://itsfoss.com/" data-locale="en" crossorigin="anonymous"></script> <link href="https://itsfoss.com/webmentions/receive/" rel="webmention"> <script defer src="/public/cards.min.js?v=af50510519"></script> <link rel="stylesheet" type="text/css" href="/public/cards.min.css?v=af50510519"> <script defer src="/public/member-attribution.min.js?v=af50510519"></script><style>:root {--ghost-accent-color: #007b80;}</style> <style> body { --global-max-width: 1400px; --global-content-width: 70rem; } </style> <style> @media only screen and (max-width: 600px) { .hide-mobile {display:none;} } </style> <!-- CSS for bullet point rendering issue on course pages --> <style> .content ul li { list-style: inside; margin-bottom: 2rem; } </style> <!-- Vimeo embed fix for custom docs pages --> <style> .js-reframe { padding-top: 0px !important; } </style> <!-- Sourcepoint CMP CSS for geo depending button --> <style> #pmLink { visibility: hidden; text-decoration: none; cursor: pointer; background: transparent; border: none; } #pmLink:hover { visibility: visible; color: grey; } </style> <!-- Google tag (gtag.js) --> <script async src="https://www.googletagmanager.com/gtag/js?id=UA-24863836-4"></script> <script> window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', 'UA-24863836-4'); </script> <!-- Umami analytics --> <script async src="https://groovy-manul.pikapod.net/script.js" data-website-id="9f9bd940-0b37-4748-8257-9814959d3526"></script> <!-- Contextly Related Posts --> <script> !function(w,d,id,ns,s){var c=w[ns]=w[ns]||{};if(c.ready||(c.q=[],c.ready=function(){c.q.push(arguments)}),!d.getElementById(id)){var e=d.createElement(s);e.id=id,e.src="https://assets.context.ly/kit/6.latest/loader.js";var h=d.getElementsByTagName(s)[0];h.parentNode.insertBefore(e,h)}}(window,document,"ctx-loader","Contextly","script"); </script> <!-- Open Links in New Tab --> <script> document.addEventListener('DOMContentLoaded', function() { var links = document.querySelectorAll('a'); links.forEach(function(link) { if (link.hostname != window.location.hostname) { link.target = '_blank'; } }); }); </script> </head> <body class="page-template page-about " data-hero-image=""> <header class="header js-header" data-header="normal"> <div class="container wrapper flex is-rel header__inner"> <a class="header__brand" href="https://itsfoss.com"> <picture class=""> <source srcset="/content/images/size/w300/format/webp/2023/01/itsfoss-logo.png 300w," data-sizes="auto" type="image/webp" > <img class="header__logo" data-srcset="/content/images/size/w300/2023/01/itsfoss-logo.png 300w," srcset="/content/images/size/w30/2023/01/itsfoss-logo.png" data-sizes="auto" data-src="/content/images/size/w100/2023/01/itsfoss-logo.png" src="/content/images/size/w30/2023/01/itsfoss-logo.png" alt="It&#x27;s FOSS" loading="eager" > </picture></a> <nav class="header__menu items-center"> <ul class="nav"> <li class="nav-news" data-label="📰 News" data-length="7"> <a href="https://news.itsfoss.com/"> <span>📰 News</span> </a> </li> <li class="nav-newsletter" data-label="📬 Newsletter" data-length="13"> <a href="https://itsfoss.com/newsletter/"> <span>📬 Newsletter</span> </a> </li> <li class="nav-quizzes-puzzles" data-label="🧩 Quizzes &amp; Puzzles" data-length="20"> <a href="https://itsfoss.com/quiz/"> <span>🧩 Quizzes &amp; Puzzles</span> </a> </li> <li class="nav-resources" data-label="🎒 Resources" data-length="12"> <a href="https://itsfoss.com/resources/"> <span>🎒 Resources</span> </a> </li> <li class="nav-community" data-label="🏘️ Community" data-length="13"> <a href="https://itsfoss.community/"> <span>🏘️ Community</span> </a> </li> <li class="nav-about nav-current" data-label="📖 About" data-length="8"> <a href="https://itsfoss.com/about/"> <span>📖 About</span> </a> </li> <li class="nav-contact is-subitem" data-label="-🪪 Contact" data-length="11"> <a href="https://itsfoss.com/contact-us/"> <span>-🪪 Contact</span> </a> </li> <li class="nav-policies is-subitem" data-label="-📜 Policies" data-length="12"> <a href="https://itsfoss.com/policies/"> <span>-📜 Policies</span> </a> </li> </ul> <div class="header__menu--sub items-center"> <button class="header__menu--more is-mainitem" aria-label="Menu"><i class="icon icon-dots"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-dots" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <circle cx="5" cy="12" r="1"></circle> <circle cx="12" cy="12" r="1"></circle> <circle cx="19" cy="12" r="1"></circle> </svg> </i></button> <ul class="nav secondary submenu"> <li class="nav-linux-server-side" data-label="Linux Server Side" data-length="17"> <a href="https://linuxhandbook.com/"> <span>Linux Server Side</span> </a> </li> <li class="nav-en-espanol" data-label="En Español" data-length="10"> <a href="https://itsfoss.com/es/"> <span>En Español</span> </a> </li> <li class="nav-feedback" data-label="🗳️ Feedback" data-length="12"> <a href="https://itsfoss.com/update-feedback/"> <span>🗳️ Feedback</span> </a> </li> <li class="nav-impressum" data-label="Impressum" data-length="9"> <a href="https://itsfoss.com/impressum/"> <span>Impressum</span> </a> </li> <li class="nav-terms-of-use" data-label="Terms of use" data-length="12"> <a href="https://itsfoss.com/terms/"> <span>Terms of use</span> </a> </li> </ul> </div> </nav> <span class="header--spacer"></span> <button class="btn-toggle header-search__toggle" data-ghost-search title="Search" aria-label="Search"> <i class="icon icon-search"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-search" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <circle cx="10" cy="10" r="7" /> <line x1="21" y1="21" x2="15" y2="15" /> </svg> </i> </button> <a href="/signup/" class="btn signup-link btn--brand radius" data-portal="signup">Subscribe</a> <div class="member-menu js-member-menu"> <a href="/signup/" data-portal="signup" class="signup-link"> <i class="icon icon-arrow-up-right icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-arrow-up-right" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <line x1="17" y1="7" x2="7" y2="17" /> <polyline points="8 7 17 7 17 16" /> </svg> </i>Sign up </a> <a href="/signin/" data-portal="signin" class="signin-link"> <i class="icon icon-login icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="feather feather-log-in"> <path d="M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"></path> <polyline points="10 17 15 12 10 7"></polyline> <line x1="15" y1="12" x2="3" y2="12"></line> </svg> </i>Sign in </a> </div> <button class="btn-toggle menu__toggle js-menu-open" type="button" title="Menu" aria-label="Menu"> <span></span> <span></span> </button> </div> </header> <div class="menu js-menu"> <div class="menu__header flex content-end"> <button class="btn-toggle menu__toggle is-active js-menu-close" type="button" title="Menu" aria-label="Menu"> <span></span> <span></span> </button> </div> <nav class="menu__navigation"> <ul class="nav"> <li class="nav-news" data-label="📰 News" data-length="7"> <a href="https://news.itsfoss.com/"> <span>📰 News</span> </a> </li> <li class="nav-newsletter" data-label="📬 Newsletter" data-length="13"> <a href="https://itsfoss.com/newsletter/"> <span>📬 Newsletter</span> </a> </li> <li class="nav-quizzes-puzzles" data-label="🧩 Quizzes &amp; Puzzles" data-length="20"> <a href="https://itsfoss.com/quiz/"> <span>🧩 Quizzes &amp; Puzzles</span> </a> </li> <li class="nav-resources" data-label="🎒 Resources" data-length="12"> <a href="https://itsfoss.com/resources/"> <span>🎒 Resources</span> </a> </li> <li class="nav-community" data-label="🏘️ Community" data-length="13"> <a href="https://itsfoss.community/"> <span>🏘️ Community</span> </a> </li> <li class="nav-about nav-current" data-label="📖 About" data-length="8"> <a href="https://itsfoss.com/about/"> <span>📖 About</span> </a> </li> <li class="nav-contact is-subitem" data-label="-🪪 Contact" data-length="11"> <a href="https://itsfoss.com/contact-us/"> <span>-🪪 Contact</span> </a> </li> <li class="nav-policies is-subitem" data-label="-📜 Policies" data-length="12"> <a href="https://itsfoss.com/policies/"> <span>-📜 Policies</span> </a> </li> </ul> <ul class="nav secondary submenu"> <li class="nav-linux-server-side" data-label="Linux Server Side" data-length="17"> <a href="https://linuxhandbook.com/"> <span>Linux Server Side</span> </a> </li> <li class="nav-en-espanol" data-label="En Español" data-length="10"> <a href="https://itsfoss.com/es/"> <span>En Español</span> </a> </li> <li class="nav-feedback" data-label="🗳️ Feedback" data-length="12"> <a href="https://itsfoss.com/update-feedback/"> <span>🗳️ Feedback</span> </a> </li> <li class="nav-impressum" data-label="Impressum" data-length="9"> <a href="https://itsfoss.com/impressum/"> <span>Impressum</span> </a> </li> <li class="nav-terms-of-use" data-label="Terms of use" data-length="12"> <a href="https://itsfoss.com/terms/"> <span>Terms of use</span> </a> </li> </ul> </nav> <div class="menu__actions flex w-100"> <a href="/signin/" data-portal="signin" class="btn signin-link btn--bordered radius m-r"> Log in </a> <a href="/signup/" data-portal="signup" class="btn signup-link btn--brand radius"> Subscribe </a> </div> <template data-toggle-template> <button class="submenu-toggle" onclick="this.parentNode.classList.toggle('is-active')" title="Menu toggle" aria-label="Menu toggle"> <i class="icon icon-chevron-down"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-chevron-down" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <polyline points="6 9 12 15 18 9"></polyline> </svg> </i> </button> </template> </div> <main class="main"> <div class="container wrapper m-0-auto"> <div class="post-hero is-page" data-feature-image="false" data-image-style="max-width"> <div class="post-hero__content flex flex-col"> <h1 class="post-hero__title m-b-0">About It&#x27;s FOSS</h1> </div> </div> <div class="row m-b-lg"> <div class="col-xs-12 col-lg-3"> <div class="post-toc js-post-toc is-aside"> <div class="post-toc__header flex items-center"> <button class="post-toc__toggle js-toc-toggle"> <span class="m-r-sm uppercase">On this page</span> <i class="icon icon-list icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-list" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <line x1="9" y1="6" x2="20" y2="6" /> <line x1="9" y1="12" x2="20" y2="12" /> <line x1="9" y1="18" x2="20" y2="18" /> <line x1="5" y1="6" x2="5" y2="6.01" /> <line x1="5" y1="12" x2="5" y2="12.01" /> <line x1="5" y1="18" x2="5" y2="18.01" /> </svg> </i> </button> </div> <div class="post-toc__content js-toc"></div> <div class="hide-mobile"> <div align="center" data-freestar-ad="__336x280 __336x280" id="itsfoss_300x250_300x600_Sidebar3_new" style="margin-top:5px"> <script data-cfasync="false" type="text/javascript"> freestar.config.enabled_slots.push({ placementName: "itsfoss_300x250_300x600_Sidebar3_new", slotId: "itsfoss_300x250_300x600_Sidebar3_new" }); </script> </div> </div> </div> </div> <div class="col-xs-12 col-lg-6"> <article class="post no-image content post-access-public no-overflow"> <div class="hide-mobile"> <!-- code from Primis/Freestar - Itsfoss.com --> <div id="FreeStarVideoAdContainer"> <div id="freestar-video-parent"> <div id="freestar-video-child"></div> </div> </div> <!-- code from Primis/Freestar --> </div> <a href="https://www.warp.dev?utm_source=its_foss&utm_medium=display&utm_campaign=linux_launch" target="_blank"><img src="/assets/images/warp.webp" alt="Warp Terminal"></a> <p><em><em><strong>It’s FOSS</strong></em></em> is an award-winning web-portal that focuses on Open Source in general and Linux in particular.</p><p>While there are several other Linux websites on the internet, <strong>It’s FOSS specifically focuses on beginners to the Linux</strong> world. Its motto is to <strong>make your desktop Linux experience better</strong>. The goal of It’s FOSS is to increase the number of Linux desktop users, which is achieved by helping them solve various issues one might encounter. Tutorials are written keeping beginners in mind with screenshots and proper steps.</p><p>If you wonder how come It’s FOSS is different from several other blogs in the same arena, let me tell you one thing. All the tips, tricks and tutorials are tried and tested first by us. We won’t suggest you try anything which we haven’t tried ourselves.</p><p>Apart from how-to tutorials, It’s FOSS also provides information on various applications to improve the Linux desktop experience. News related to Open Source is also covered to keep the readers updated.</p><h2 id="awards-and-accolades-for-it%E2%80%99s-foss">Awards and accolades for It’s FOSS</h2><p>Apart from the regular appreciation by thousands of readers, It’s FOSS has been awarded:</p><!--kg-card-begin: html--><ul> <li>Won the best Software Blog by IndiBlogger in 2013</li> <li>Top 5 software blogs by Blog Adda in 2015</li> <li><a href="https://www.makeuseof.com/tag/websites-linux-users/" rel="nofollow">Top 10 Linux websites to follow by Make Use Of</a> 2017</li> <li>Top 20 most popular Linux websites by <a href="https://feedly.com/i/top/linux-blogs" rel="nofollow">Feedly</a></li> <li>Top 5 best Ubuntu websites to follow by <a href="https://linuxhint.com/best_ubuntu_news_websites_blogs/" rel="nofollow">Linux Hint</a></li> <li>Top 3 best Linux websites to follow by <a href="https://blog.feedspot.com/linux_blogs/" rel="nofollow">Feedspot</a></li> <li>Top 50 Raspberry Pi Blogs by <a href="https://www.dusuniot.com/blog/top-raspberry-pi-blogs/" rel="nofollow">Dusun</a></li> </ul><!--kg-card-end: html--><h2 id="what-will-you-learn-at-it%E2%80%99s-foss">What will you learn at It’s FOSS?</h2><ul><li>Learn more about desktop Linux. Be a Linux guru in your friend circle</li><li>Solving common occurring issues in Linux</li><li>Get to know more about desktop Linux and its usage</li><li>Know and discover new Linux applications and programs to use</li><li>Know about desktop customization and beautifying your Linux desktop</li><li>Learn about the latest happening in Linux and Open Source world</li><li>Become a better Linux user</li></ul><h2 id="how-to-get-more-out-of-it%E2%80%99s-foss">How to get more out of It’s FOSS?</h2><ul><li>Visit the website regularly</li><li>Use the search option on the right-hand side to look for older articles on your topic of interest</li><li>Add <a href="https://itsfoss.com/feed/">our feed</a> to your favorite feed-reader</li><li>Subscribe to our weekly newsletter to get all the latest articles in your inbox</li><li><a href="https://www.facebook.com/itsfoss" rel="noopener">Like us on Facebook</a> to stay updated on latest happenings</li><li>Join our <a href="https://t.me/joinchat/AAAAAEPRGUJrEE1itjpH6A" rel="noopener">Telegram channel</a></li><li>Do join our <a href="https://itsfoss.community/" rel="noopener">friendly community forum</a> and seek help and advice from us and fellow Linux users</li></ul><figure class="kg-card kg-bookmark-card"><a class="kg-bookmark-container" href="https://itsfoss.community/"><div class="kg-bookmark-content"><div class="kg-bookmark-title">It’s FOSS Community</div><div class="kg-bookmark-description">A place for desktop Linux users and It’s FOSS readers</div><div class="kg-bookmark-metadata"><img class="kg-bookmark-icon" src="https://itsfoss.community/uploads/default/optimized/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c_2_180x180.png" alt=""><span class="kg-bookmark-author">It&#x27;s FOSS Community</span></div></div><div class="kg-bookmark-thumbnail"><img src="https://itsfoss.community/uploads/default/original/1X/f274f9749e3fd8b4d6fbae1cf90c5c186d2f699c.png" alt=""></div></a></figure><h2 id="media-partnership"><em><em>Media Partnership</em></em></h2><p>It’s FOSS has been the official media partner for several international Linux and Open Source events. Some of the main ones are:</p><ul><li>Open Source Summit organized by The Linux Foundation, Europe</li><li>FOSSBackstage, Germany</li><li>OSCAL, Albania</li><li>Univention Summit, Germany</li><li>SUSEConf</li><li>ApacheCon</li><li>Southern California Linux Expo (“SCALE”)</li><li>Nest with Fedora </li></ul><p>If you want to partner with us for your open source event, don’t hesitate to contact us.</p> </article> </div> <div class="col-xs-12 col-lg-3 hide-mobile"> <aside class="sidebar"> <span class="section-title sm">Featured</span> <div class="sidebar__section"> <a class="sidebar-story" href="https://itsfoss.com/zimacube-review/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2024/11/zimacube--1-.png 100w,/content/images/size/w300/format/webp/2024/11/zimacube--1-.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2024/11/zimacube--1-.png 100w,/content/images/size/w300/2024/11/zimacube--1-.png 300w," srcset="/content/images/size/w30/2024/11/zimacube--1-.png" data-sizes="auto" data-src="/content/images/size/w100/2024/11/zimacube--1-.png" src="/content/images/size/w30/2024/11/zimacube--1-.png" alt="Zimacube review" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">ZimaCube Review: Almost Perfect Out of Box Homelab Experience in Local Cloud Setup</h3> </div> </a><a class="sidebar-story" href="https://itsfoss.com/quiz/save-tux-linux-commands/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2024/11/tux-rescue.png 100w,/content/images/size/w300/format/webp/2024/11/tux-rescue.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2024/11/tux-rescue.png 100w,/content/images/size/w300/2024/11/tux-rescue.png 300w," srcset="/content/images/size/w30/2024/11/tux-rescue.png" data-sizes="auto" data-src="/content/images/size/w100/2024/11/tux-rescue.png" src="/content/images/size/w30/2024/11/tux-rescue.png" alt="save the tux" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">Save The Tux With Linux Command Knowledge Quiz</h3> </div> </a><a class="sidebar-story" href="https://itsfoss.com/opencoder-vscode/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2024/11/running-opencoder-llm-in-vscode.png 100w,/content/images/size/w300/format/webp/2024/11/running-opencoder-llm-in-vscode.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2024/11/running-opencoder-llm-in-vscode.png 100w,/content/images/size/w300/2024/11/running-opencoder-llm-in-vscode.png 300w," srcset="/content/images/size/w30/2024/11/running-opencoder-llm-in-vscode.png" data-sizes="auto" data-src="/content/images/size/w100/2024/11/running-opencoder-llm-in-vscode.png" src="/content/images/size/w30/2024/11/running-opencoder-llm-in-vscode.png" alt="opencoder LLM" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">Running Opencoder LLM in VS Code: A Local, Copilot Alternative</h3> </div> </a><a class="sidebar-story" href="https://itsfoss.com/linux-market-share/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/wordpress/2017/09/linux-desktop-market-share.jpg 100w,/content/images/size/w300/format/webp/wordpress/2017/09/linux-desktop-market-share.jpg 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/wordpress/2017/09/linux-desktop-market-share.jpg 100w,/content/images/size/w300/wordpress/2017/09/linux-desktop-market-share.jpg 300w," srcset="/content/images/size/w30/wordpress/2017/09/linux-desktop-market-share.jpg" data-sizes="auto" data-src="/content/images/size/w100/wordpress/2017/09/linux-desktop-market-share.jpg" src="/content/images/size/w30/wordpress/2017/09/linux-desktop-market-share.jpg" alt="Desktop Linux market share" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">Desktop Linux Market Share: March 2025</h3> </div> </a> </div> <div class="sidebar__section flex flex-cc hide-mobile"> <div align="center" data-freestar-ad="__300x250 __300x600" id="itsfoss_300x250_Sidebar1"> <script data-cfasync="false" type="text/javascript"> freestar.config.enabled_slots.push({ placementName: "itsfoss_300x250_Sidebar1", slotId: "itsfoss_300x250_Sidebar1" }); </script> </div> </div> <span class="section-title sm">Latest</span> <div class="sidebar__section"> <a class="sidebar-story" href="https://itsfoss.com/vibe-coding-editors/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2025/04/vibe-coding-editors-linux.png 100w,/content/images/size/w300/format/webp/2025/04/vibe-coding-editors-linux.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2025/04/vibe-coding-editors-linux.png 100w,/content/images/size/w300/2025/04/vibe-coding-editors-linux.png 300w," srcset="/content/images/size/w30/2025/04/vibe-coding-editors-linux.png" data-sizes="auto" data-src="/content/images/size/w100/2025/04/vibe-coding-editors-linux.png" src="/content/images/size/w30/2025/04/vibe-coding-editors-linux.png" alt="Vibe coding editors for Linux" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">7 Code Editors You Can Use for Vibe Coding on Linux</h3> <div class="sidebar-story__info"> <time datetime="2025-04-05" class="sidebar-story__date"> 05 Apr 2025 </time> </div> </div> </a><a class="sidebar-story" href="https://itsfoss.com/newsletter/foss-weekly-25-14/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2025/04/foss-weekly.png 100w,/content/images/size/w300/format/webp/2025/04/foss-weekly.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2025/04/foss-weekly.png 100w,/content/images/size/w300/2025/04/foss-weekly.png 300w," srcset="/content/images/size/w30/2025/04/foss-weekly.png" data-sizes="auto" data-src="/content/images/size/w100/2025/04/foss-weekly.png" src="/content/images/size/w30/2025/04/foss-weekly.png" alt="FOSS Weekly" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">FOSS Weekly #25.14: Fedora 42 COSMIC, OnePackage, AppImage Tools and More Linux Stuff</h3> <div class="sidebar-story__info"> <time datetime="2025-04-03" class="sidebar-story__date"> 03 Apr 2025 </time> </div> </div> </a><a class="sidebar-story" href="https://itsfoss.com/appimage-tools/"> <figure class="sidebar-story__media m-r"> <picture class=""> <source data-srcset="/content/images/size/w100/format/webp/2025/04/appimage-tools.png 100w,/content/images/size/w300/format/webp/2025/04/appimage-tools.png 300w," data-sizes="auto" type="image/webp" > <img class="lazyload" data-srcset="/content/images/size/w100/2025/04/appimage-tools.png 100w,/content/images/size/w300/2025/04/appimage-tools.png 300w," srcset="/content/images/size/w30/2025/04/appimage-tools.png" data-sizes="auto" data-src="/content/images/size/w100/2025/04/appimage-tools.png" src="/content/images/size/w30/2025/04/appimage-tools.png" alt="appimage enhance" > </picture> </figure> <div class="sidebar-story__content"> <h3 class="sidebar-story__title">5 Tools to Enhance Your AppImage Experience on Linux</h3> <div class="sidebar-story__info"> <time datetime="2025-04-02" class="sidebar-story__date"> 02 Apr 2025 </time> </div> </div> </a> </div> <div class="sidebar__section hide-mobile flex flex-cc"> <div class="sidebar__subscribe"> <h4 class="text-acc fw-800"> Become a Better Linux User </h4> <div class="m-b text-acc" id="sidebar-input-label"> With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world </div> <form class="subscribe-form" data-members-form="subscribe" data-style=""> <input data-members-email class="" type="email" autocomplete="email" placeholder="Your email address" aria-labelledby="sidebar-input-label" required> <button class="btn btn--brand" type="submit"> <span>Subscribe</span> </button> <div class="msg-success">Great! Check your inbox and click the link.</div> <div class="msg-error">Sorry, something went wrong. Please try again.</div> </form> </div> </div> <div class="sidebar__section is-sticky flex-direction: column hide-mobile"> <div align="center" data-freestar-ad="__336x280 __336x280" id="itsfoss_300x250_300x600_Sidebar2_new"> <script data-cfasync="false" type="text/javascript"> freestar.config.enabled_slots.push({ placementName: "itsfoss_300x250_300x600_Sidebar2_new", slotId: "itsfoss_300x250_300x600_Sidebar2_new" }); </script> </div> </div> </aside> </div> </div> </div> <div class="container wrapper flex flex-wrap gap-lg m-b-lg"> <div class="post-comments radius-double p-lg p-b-0 flex-1 self-align-start" id="comments"> <script src="https://cdn.fastcomments.com/js/embed-v2.min.js"></script> <div id="fastcomments-widget"></div> <script> (function () { let simpleSSO = null; simpleSSO = { loginURL: '#/portal/signin' } FastCommentsUI(document.getElementById('fastcomments-widget'), { tenantId: "zzbYFZ39cH4", simpleSSO: simpleSSO, url: window.location.origin + window.location.pathname, urlId: window.location.origin + window.location.pathname }); })(); </script> </div> </div> </main> <section class="container wrapper section cta m-b-0" > <div class="cta__inner radius-double is-rel w-100 p-t-lg p-b-lg has-img"> <div class="cta__content flex flex-col is-rel z-index-1"> <h2 class="cta__title">Become a Better Linux User</h2> <p id="cta-input-label" class="cta__description opacity-075">With the FOSS Weekly Newsletter, you learn useful Linux tips, discover applications, explore new distros and stay updated with the latest from Linux world </p> <form class="subscribe-form" data-members-form="signup" data-style="inline-joined"> <input data-members-email class="" type="email" autocomplete="email" placeholder="Your email address" aria-labelledby="cta-input-label" required> <button class="btn btn--brand btn--gradient uppercase" type="submit"> <span>Subscribe</span> </button> <div class="msg-success">Great! Check your inbox and click the link.</div> <div class="msg-error">Sorry, something went wrong. Please try again.</div> </form> </div> <figure class="cta__media"> <img class="lazyload cta__img" src="/assets/images/itsfoss-cta.webp" alt="itsfoss happy penguin"/> </figure> </div> </section> <footer class="footer"> <div class="container wrapper"> <div class="row m-b"> <div class="col-xs-12 col-md-4"> <div class="footer__brand flex items-center"> <picture class=""> <source data-srcset="/content/images/size/w300/format/webp/2023/01/itsfoss-logo.png 300w," data-sizes="auto" type="image/webp" > <img class="footer__logo m-r lazyload" data-srcset="/content/images/size/w300/2023/01/itsfoss-logo.png 300w," srcset="/content/images/size/w30/2023/01/itsfoss-logo.png" data-sizes="auto" data-src="/content/images/size/w100/2023/01/itsfoss-logo.png" src="/content/images/size/w30/2023/01/itsfoss-logo.png" alt="It&#x27;s FOSS" > </picture> </div> <div class="footer__description" id="footer-input-label"> Making You a Better Linux User </div> <form class="subscribe-form radius-rounded m-b" data-members-form="subscribe" data-style="inline-joined"> <input data-members-email class="w-100 radius-rounded" type="email" autocomplete="email" placeholder="Your email address" aria-labelledby="footer-input-label" required> <button class="btn btn--primary radius-rounded" type="submit"> <span>Subscribe</span> </button> <div class="msg-success">Great! Check your inbox and click the link.</div> <div class="msg-error">Sorry, something went wrong. Please try again.</div> </form> </div> <div class="col-xs-12 col-md-4 m-b footer-nav"> <span class="fw-700 m-b-sm display-block text-acc">Navigation</span> <div class="grid col-2"> <ul class="nav"> <li class="nav-news" data-label="📰 News" data-length="7"> <a href="https://news.itsfoss.com/"> <span>📰 News</span> </a> </li> <li class="nav-newsletter" data-label="📬 Newsletter" data-length="13"> <a href="https://itsfoss.com/newsletter/"> <span>📬 Newsletter</span> </a> </li> <li class="nav-quizzes-puzzles" data-label="🧩 Quizzes &amp; Puzzles" data-length="20"> <a href="https://itsfoss.com/quiz/"> <span>🧩 Quizzes &amp; Puzzles</span> </a> </li> <li class="nav-resources" data-label="🎒 Resources" data-length="12"> <a href="https://itsfoss.com/resources/"> <span>🎒 Resources</span> </a> </li> <li class="nav-community" data-label="🏘️ Community" data-length="13"> <a href="https://itsfoss.community/"> <span>🏘️ Community</span> </a> </li> <li class="nav-about nav-current" data-label="📖 About" data-length="8"> <a href="https://itsfoss.com/about/"> <span>📖 About</span> </a> </li> <li class="nav-contact is-subitem" data-label="-🪪 Contact" data-length="11"> <a href="https://itsfoss.com/contact-us/"> <span>-🪪 Contact</span> </a> </li> <li class="nav-policies is-subitem" data-label="-📜 Policies" data-length="12"> <a href="https://itsfoss.com/policies/"> <span>-📜 Policies</span> </a> </li> </ul> <ul class="nav secondary submenu"> <li class="nav-linux-server-side" data-label="Linux Server Side" data-length="17"> <a href="https://linuxhandbook.com/"> <span>Linux Server Side</span> </a> </li> <li class="nav-en-espanol" data-label="En Español" data-length="10"> <a href="https://itsfoss.com/es/"> <span>En Español</span> </a> </li> <li class="nav-feedback" data-label="🗳️ Feedback" data-length="12"> <a href="https://itsfoss.com/update-feedback/"> <span>🗳️ Feedback</span> </a> </li> <li class="nav-impressum" data-label="Impressum" data-length="9"> <a href="https://itsfoss.com/impressum/"> <span>Impressum</span> </a> </li> <li class="nav-terms-of-use" data-label="Terms of use" data-length="12"> <a href="https://itsfoss.com/terms/"> <span>Terms of use</span> </a> </li> </ul> </div> </div> <div class="col-xs-12 col-sm-6 col-md-2 m-b"> <span class="fw-700 m-b-sm display-block text-acc">Resources</span> <ul class="nav"> <li><a href="/tag/courses/">Courses 🎓</a></li> <li><a href="/tag/distro-resources/">Distro Resources 📖</a></li> <li><a href="/tag/guides/">Guides 📒</a></li> </ul> </div> <div class="col-xs-12 col-sm-6 col-md-2 m-b"> <span class="fw-700 m-b-sm display-block text-acc">Social</span> <div class="social-links flex flex-col"> <a href="https://www.facebook.com/itsfoss" class="facebook" aria-label="Facebook"><i class="icon icon-facebook icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-facebook" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M7 10v4h3v7h4v-7h3l1 -4h-4v-2a1 1 0 0 1 1 -1h3v-4h-3a5 5 0 0 0 -5 5v2h-3" /> </svg> </i><span>Facebook</span></a> <a href="https://twitter.com/itsfoss2" class="twitter" aria-label="Twitter"><i class="icon icon-twitter-x icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"></path> <path d="M4 4l11.733 16h4.267l-11.733 -16z"></path> <path d="M4 20l6.768 -6.768m2.46 -2.46l6.772 -6.772"></path> </svg> </i><span>Twitter</span></a> <a href="https://itsfoss.com/rss/" class="rss" aria-label="RSS"><i class="icon icon-rss icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-rss" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <circle cx="5" cy="19" r="1" /> <path d="M4 4a16 16 0 0 1 16 16" /> <path d="M4 11a9 9 0 0 1 9 9" /> </svg> </i><span>RSS</span></a> <a href="https://www.instagram.com/itsfoss/" class="instagram" aria-label="Instagram"><i class="icon icon-instagram icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-instagram" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <desc>Download more icon variants from https://tabler-icons.io/i/brand-instagram</desc> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <rect x="4" y="4" width="16" height="16" rx="4" /> <circle cx="12" cy="12" r="3" /> <line x1="16.5" y1="7.5" x2="16.5" y2="7.501" /> </svg> </i><span>Instagram</span></a> <a href="https://t.me/itsfoss_official" class="telegram" aria-label="Telegram"><i class="icon icon-telegram icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-telegram" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <desc>Download more icon variants from https://tabler-icons.io/i/brand-telegram</desc> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M15 10l-4 4l6 6l4 -16l-18 7l4 2l2 6l3 -4" /> </svg> </i><span>Telegram</span></a> <a href="https://www.youtube.com/@Itsfoss" class="youtube" aria-label="Youtube"><i class="icon icon-youtube icon--sm"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-brand-youtube" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <desc>Download more icon variants from https://tabler-icons.io/i/brand-youtube</desc> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <rect x="3" y="5" width="18" height="14" rx="4" /> <path d="M10 9l5 3l-5 3z" /> </svg> </i><span>Youtube</span></a> </div> </div> </div> <div class="footer__bottom"> <div class="footer__copy"> <span>&copy;2025&nbsp;<a href="https://itsfoss.com">It&#x27;s FOSS</a>.</span> <span>Hosted on&nbsp;<a href="https://digitalocean.pxf.io/JzK74r">Digital Ocean</a>&nbsp;&&nbsp;Published with&nbsp;<a href="https://ghost.org/pricing/?via=abhishek70">Ghost</a>&nbsp;&&nbsp;<a href="https://brightthemes.lemonsqueezy.com/?aff=GNoD0">Rinne</a>.</span> </div> <div class="color-scheme flex flex-cc radius-half"> <div class="color-scheme-symbol"> <span class="accent-bg"></span> </div> <select class="color-scheme-select radius-half js-color-scheme-select" aria-label="Change color scheme"> <option value="system" selected>System</option> <option value="light">Light</option> <option value="dark">Dark</option> </select> <i class="icon icon-select"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-select" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path d="M17 8.517L12 3 7 8.517M7 15.48l5 5.517 5-5.517"></path> </svg> </i></div> </div> </div> </footer> <dialog class="notification"> <i class="icon icon-success notification-icon"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-circle-check" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <circle cx="12" cy="12" r="9" /> <path d="M9 12l2 2l4 -4" /> </svg> </i> <i class="icon icon-error notification-icon"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-octagon" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M8.7 3h6.6c.3 0 .5 .1 .7 .3l4.7 4.7c.2 .2 .3 .4 .3 .7v6.6c0 .3 -.1 .5 -.3 .7l-4.7 4.7c-.2 .2 -.4 .3 -.7 .3h-6.6c-.3 0 -.5 -.1 -.7 -.3l-4.7 -4.7c-.2 -.2 -.3 -.4 -.3 -.7v-6.6c0 -.3 .1 -.5 .3 -.7l4.7 -4.7c.2 -.2 .4 -.3 .7 -.3z" /> <line x1="12" y1="8" x2="12" y2="12" /> <line x1="12" y1="16" x2="12.01" y2="16" /> </svg> </i> <i class="icon icon-warning notification-icon"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-alert-triangle" width="24" height="24" viewBox="0 0 24 24" stroke-width="2" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <path d="M12 9v2m0 4v.01" /> <path d="M5 19h14a2 2 0 0 0 1.84 -2.75l-7.1 -12.25a2 2 0 0 0 -3.5 0l-7.1 12.25a2 2 0 0 0 1.75 2.75" /> </svg> </i> <p class="notification-msg signup-success">Great! You’ve successfully signed up.</p> <p class="notification-msg signin-success">Welcome back! You&#x27;ve successfully signed in.</p> <p class="notification-msg subscribe-success">You&#x27;ve successfully subscribed to It&#x27;s FOSS.</p> <p class="notification-msg link-expired">Your link has expired.</p> <p class="notification-msg checkout-success">Success! Check your email for magic link to sign-in.</p> <p class="notification-msg billing-success">Success! Your billing info has been updated.</p> <p class="notification-msg billing-cancel">Your billing was not updated.</p> <button class="notification-close js-notification-close" aria-label="Close" onclick="closeNotification(event.currentTarget.parentNode);"> <i class="icon icon-x"> <svg xmlns="http://www.w3.org/2000/svg" class="icon icon-tabler icon-tabler-x" width="24" height="24" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"> <path stroke="none" d="M0 0h24v24H0z" fill="none"/> <line x1="18" y1="6" x2="6" y2="18" /> <line x1="6" y1="6" x2="18" y2="18" /> </svg> </i> </button> </dialog> <script> document.addEventListener('readystatechange', function(event) { if (document.readyState === "complete") { // table of contents toggle const tocToggleBtn = document.querySelector('.js-toc-toggle'); const postToc = document.querySelector('.js-post-toc'); // media query for TOC function const mqSmall = window.matchMedia('(max-width: 767px)'); const mqLarge = window.matchMedia('(min-width: 768px)'); if (tocToggleBtn && postToc) { // if device is large, show the TOC by default if (mqLarge.matches) postToc.classList.add('is-active'); // open/close the TOC tocToggleBtn.onclick = function(event) { postToc.classList.toggle('is-active'); } } // get header height as threshold const headerHeight = parseInt(getComputedStyle(document.documentElement) .getPropertyValue('--global-header-height')); const headerStyle = document.querySelector('.js-header').getAttribute('data-header'); let headerOffset = headerStyle === 'normal' ? 20 : headerHeight + 20; if (postToc) { tocbot.init({ // Where to render the table of contents. tocSelector: '.js-toc', // Where to grab the headings to build the table of contents. contentSelector: '.content', // Which headings to grab inside of the contentSelector element. headingSelector: 'h1, h2, h3, h4', // Ignore some headings (like header card and toggle card) ignoreSelector: '[class*="kg-"],[class*="content-cta"]', // For headings inside relative or absolute positioned containers within content. hasInnerContainers: false, // smooth scroll scrollSmooth: false, // offset headingsOffset: headerOffset, // onclick event /*onClick: function(e){ e.preventDefault(); const href = this.getAttribute('href'); if (href) { const el = document.querySelector(`#${CSS.escape(href.substring(1))}`); let offset; const bodyRect = document.body.getBoundingClientRect().top; const elementRect = el.getBoundingClientRect().top; const elementPosition = elementRect - bodyRect; offset = headerOffset; themeGlobal.scrollPos = elementPosition; const offsetPosition = elementPosition - offset; window.scrollTo({ top: offsetPosition, behavior: 'smooth' }); } // if on small screen close the TOC when clicking on item if (mqSmall.matches) postToc.classList.remove('is-active'); }*/ }); document.querySelector('.js-toc .toc-list') ? postToc.classList.add('is-rendered') : null; } } }); </script> <script> const navItems = document.querySelectorAll('.header .nav:not(.submenu) li, .menu .nav:not(.submenu) li') const allNavItems = document.querySelectorAll('.is-subitem') // Remove '-' signs allNavItems.forEach(item => { const itemName = item.querySelector('a span') itemName.innerText = itemName.innerText.slice(1) }); // Add subitems in place let subMenu, hasItems navItems.forEach((item, index) => { if (item.classList.contains('is-subitem') && !navItems[index - 1].classList.contains('is-subitem')) navItems[index - 1].classList.add('is-mainitem'); subMenu = item.classList.contains('is-subitem') ? subMenu : document.createElement('ul'); if (item.classList.contains('is-subitem')) { subMenu.appendChild(item) subMenu.classList.add('nav','submenu') } else { item.appendChild(subMenu) } }); </script> <script> const submenus = document.querySelectorAll('.menu .is-mainitem') const toggle = document.querySelector('[data-toggle-template]'); submenus.forEach(menu => { const toggleBtn = toggle.content.cloneNode(true); menu.appendChild(toggleBtn); }); </script> <script> // Give the parameter a variable name const qsParams = new URLSearchParams(window.location.search); const isAction = qsParams.has('action'); const isStripe = qsParams.has('stripe'); const success = qsParams.get('success'); const action = qsParams.get('action'); const stripe = qsParams.get('stripe'); if (qsParams && isAction) { if (success === "true") { switch (action) { case 'subscribe': openNotification('subscribe-success'); break; case 'signup': openNotification('signup-success'); break; case 'signin': openNotification('signin-success'); break; default: break; } } else { openNotification('link-expired'); } } if (qsParams && isStripe) { switch (stripe) { case 'success': openNotification('checkout-success'); break; case 'billing-update-success': openNotification('billing-success'); break; case 'billing-update-cancel': openNotification('billing-cancel'); break; default: break; } } /** * Handle Notifications */ function openNotification(type) { const notification = document.querySelector('dialog.notification'); if (notification) { notification.setAttribute('data-msg-type', type); notification.show(); setTimeout(function(){ closeNotification(notification); }, 3000); } } /** * Clean URI */ function clearURI() { window.history.replaceState({}, '', `${window.location.pathname}`); } function closeNotification(notification) { notification.close(); clearURI(); setTimeout(function(){ notification.removeAttribute('data-msg-type') }, 500); } </script> <script src="https://talk.hyvor.com/embed/comment-counts.js"></script> <script> hyvorTalkCommentCounts.load({ "website-id": 8243 }) </script> <script> Contextly.ready('widgets'); </script> <!-- HTML for geo depending button --> <button id="pmLink">Privacy Manager</button> <!-- Blockthrough script --> <script type="text/javascript" async src="https://btloader.com/tag?o=5714937848528896&upapi=true"></script> <!-- This site is converting visitors into subscribers and customers with OptinMonster - https://optinmonster.com --> <script>(function(d,u,ac){var s=d.createElement('script');s.type='text/javascript';s.src='https://a.omappapi.com/app/js/api.min.js';s.async=true;s.dataset.user=u;s.dataset.account=ac;d.getElementsByTagName('head')[0].appendChild(s);})(document,333364,352958);</script> <!-- / https://optinmonster.com --> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10