timkicker 3 months ago
parent
commit
d3745ab3c7
  1. 393
      2025/02/24/eol/index.html
  2. 304
      archives/2025/02/index.html
  3. 304
      archives/2025/index.html
  4. 16
      archives/index.html
  5. 99
      atom.xml
  6. 2
      faq/index.html
  7. 8
      feed.json
  8. 24
      index.html
  9. 2
      newPost.json
  10. 101
      rss.xml
  11. 37
      sitemap.xml

393
2025/02/24/eol/index.html

@ -0,0 +1,393 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Bing & Google Site Index-->
<meta name="google-site-verification" content="B4hZCJh4Uz6qdaXiH65DRXUpjVTHBcblzZaXZjUo7AE" />
<meta name="msvalidate.01" content="1C56B1EC58ADE4A5D59E7AF88A8AFE99" />
<!-- Basic Page Needs
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta charset="utf-8">
<title>The Ethical Open License (EOL) - Rethinking Open Source Responsibility</title>
<link rel="sitemap" href="https://tim.kicker.devsitemap.xml" />
<link rel="canonical" href="https://tim.kicker.dev/2025/02/24/eol/">
<meta name="description" content="For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: what happens when your code is used for somet">
<meta name="keywords" content="tim, kicker, jochen, htl, website">
<meta name="author" content="Tim Kicker">
<meta property="og:image" content="https://tim.kicker.devhttps://socialify.git.ci/timkicker/eol/image?language=1&logo=https%3A%2F%2Fraw.githubusercontent.com%2Ftimkicker%2FEOL%2Frefs%2Fheads%2Fmain%2Ffile_with_handshake.png&name=1&owner=1&stargazers=1&theme=Light">
<meta property="og:site_name" content="Tim&#39;s Blog" />
<meta property="og:type" content="article" />
<meta property="og:title" content="The Ethical Open License (EOL) - Rethinking Open Source Responsibility" />
<meta property="og:description" content="For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: what happens when your code is used for somet">
<meta property="og:url" content="https://tim.kicker.dev/2025/02/24/eol/" />
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="The Ethical Open License (EOL) - Rethinking Open Source Responsibility">
<meta name="twitter:description" content="For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: what happens when your code is used for somet">
<meta name="twitter:image" content="https://tim.kicker.devhttps://socialify.git.ci/timkicker/eol/image?language=1&logo=https%3A%2F%2Fraw.githubusercontent.com%2Ftimkicker%2FEOL%2Frefs%2Fheads%2Fmain%2Ffile_with_handshake.png&name=1&owner=1&stargazers=1&theme=Light">
<meta name="twitter:url" content="https://tim.kicker.dev/2025/02/24/eol/" />
<!-- Mobile Specific Metas
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Preload fonts
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="preload" href="../fonts/dm-serif-display-v4-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../fonts/inter-v2-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<!-- CSS
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="stylesheet" href="/css/normalize.css">
<link rel="stylesheet" href="/css/skeleton.css">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/prism-dark.css">
<link rel="stylesheet" href="/css/prism-line-numbers.css">
<!-- User css -->
<link rel="stylesheet" href="/css/user.css">
<!-- Favicon
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="icon" type="image/png" href="/images/teddy-bear-apple.webp">
<!-- Custom Theme Color Style
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<style>
a:not(.icon) {
text-decoration-color: #0FA0CE;
background-image: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 50%,
#0FA0CE 50%
);
}
blockquote {
border-left: 8px solid #0FA0CE;
}
.nanobar .bar {
background: #0FA0CE;
}
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
background-color: #0FA0CE;
border-color: #0FA0CE;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #0FA0CE;
}
</style>
<!-- Google Analytics (With Privacy Settings On)
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Tim's Blog" type="application/atom+xml">
</head>
<body>
<div class="container">
<div class="row">
<div>
<script async src="https://stats.kicker.dev/script.js" data-website-id="295db5f5-27a1-42e8-9783-1e410896a596"></script>
<script data-goatcounter="https://altstats.kicker.dev/count" async src="//altstats.kicker.dev/count.js"></script>
<div class="row">
<div class="two columns" style="max-width: 50px">
<h1 class="mt-2 mode">
<div onclick=setDarkMode(true) id="darkBtn">🌑</div>
<div onclick=setDarkMode(false) id="lightBtn" class=hidden>☀️</div>
<script >
if (localStorage.getItem('preferredTheme') == 'dark') {
setDarkMode(true)
}
function setDarkMode(isDark) {
var darkBtn = document.getElementById('darkBtn')
var lightBtn = document.getElementById('lightBtn')
if (isDark) {
lightBtn.style.display = "block"
darkBtn.style.display = "none"
localStorage.setItem('preferredTheme', 'dark');
} else {
lightBtn.style.display = "none"
darkBtn.style.display = "block"
localStorage.removeItem('preferredTheme');
}
document.body.classList.toggle("darkmode");
}
</script>
</h1>
</div>
<div class="six columns ml-1">
<h1 class="mt-2">
<div onclick=navigateHome()>Hello World.</div>
<script >
function navigateHome() {
window.location.replace('https://tim.kicker.dev');
}
</script>
</h1>
</div>
<!--
<div class="six columns ml-1">
<h1 class="mt-2">
<a class="mt-2" href="/">Hello World.</a>
</h1>
</div>
-->
<div class="twelve columns">
<div class="row">
<div class="nine columns left">
<a href="/">Home</a>
<a href="/archives" class="ml">Blog</a>
<a href="/About" class="ml">About</a>
<a href="mailto:tim.kicker@protonmail.com" target="_blank" class="ml">Email</a>
</div>
</div>
<hr style="margin-bottom: 2.6rem">
</div>
</div>
<div class="trans">
<h2>The Ethical Open License (EOL) - Rethinking Open Source Responsibility</h2>
<p>For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: <strong>what happens when your code is used for something you fundamentally disagree with?</strong></p>
<p>We celebrate open-source as this great force for collaboration, and in many ways, it is. But there’s a gap in how we think about responsibility. Right now, if you release software under a standard open-source license, you’re essentially saying: “Here, take this. Use it for whatever you want.” And that’s fine, until you realize that “whatever you want” includes things like mass surveillance, AI-driven discrimination, child exploitation networks, or even tools used to facilitate human trafficking.</p>
<p>Some people argue that this is just the price of open-source – once you put code out there, it’s out of your hands. But I started asking myself: <strong>does it have to be?</strong></p>
<p><img src="https://socialify.git.ci/timkicker/eol/image?language=1&logo=https://raw.githubusercontent.com/timkicker/EOL/refs/heads/main/file_with_handshake.png&name=1&owner=1&stargazers=1&theme=Light"></p>
<hr>
<h2 id="What-Is-the-Ethical-Open-License-EOL"><a href="#What-Is-the-Ethical-Open-License-EOL" class="headerlink" title="What Is the Ethical Open License (EOL)?"></a>What Is the Ethical Open License (EOL)?</h2><p>The <strong>Ethical Open License (EOL)</strong> is an attempt to build a licensing model that allows for openness while setting some fundamental ethical limitations. It’s not about restricting everyday users or preventing innovation. It’s about setting clear boundaries on how software can and can’t be used.</p>
<p>Under EOL, your software for example <strong>cannot</strong> be used for:</p>
<ul>
<li><strong>Mass surveillance</strong> – No large-scale tracking, unauthorized data collection, or government spying programs.</li>
<li><strong>Autonomous weapons</strong> – Your code should not end up in military AI systems or automated combat technology.</li>
<li><strong>Discriminatory AI</strong> – No training models that reinforce bias or make decisions based on race, gender, or social class.</li>
<li><strong>Exploitation networks</strong> – No use in systems that facilitate child abuse, human trafficking, or other crimes that exploit vulnerable individuals.</li>
</ul>
<p>This is about recognizing that technology has real-world consequences and that developers should have a say in how their work is applied.</p>
<hr>
<h2 id="How-Does-EOL-Work"><a href="#How-Does-EOL-Work" class="headerlink" title="How Does EOL Work?"></a>How Does EOL Work?</h2><p>EOL follows a familiar open-source structure, but with added restrictions on unethical use. It grants users the right to:</p>
<ul>
<li>Use, modify, and distribute the software freely.</li>
<li>Contribute to the project under the same ethical guidelines.</li>
<li>Fork or create derivatives as long as they comply with the license terms.</li>
</ul>
<p>However, if an entity is found to be violating the ethical clauses of the license, they <strong>lose their right to use the software</strong>. This is meant to create a tangible consequence for misuse while keeping the spirit of open-source collaboration intact.</p>
<p>To avoid ambiguity, EOL also provides a <strong>defined process</strong> for addressing violations. This would ideally involve an independent review process where complaints can be filed, reviewed, and addressed based on available evidence.</p>
<p>If a violation is confirmed, the offending party is expected to cease the unethical use immediately or risk losing access to the software under the terms of the license.</p>
<hr>
<h2 id="The-Cost-Model-of-EOL"><a href="#The-Cost-Model-of-EOL" class="headerlink" title="The Cost Model of EOL"></a>The Cost Model of EOL</h2><p>One important question that comes up with any new license is: <strong>how does the cost model work?</strong></p>
<p>EOL itself is, like most open-source licenses, <strong>free to use</strong>. Any developer, company, or organization can adopt the license without paying fees. However, the enforcement mechanisms and the potential establishment of an independent ethics review board (IERB) introduce some financial considerations.</p>
<h3 id="Potential-Costs-and-Funding-Sources"><a href="#Potential-Costs-and-Funding-Sources" class="headerlink" title="Potential Costs and Funding Sources"></a><strong>Potential Costs and Funding Sources</strong></h3><ol>
<li><p><strong>Self-Governance (Free Model)</strong> – In its simplest form, projects adopting EOL could rely on community-driven enforcement, where violations are reported and discussed publicly. This keeps costs low but relies heavily on volunteer effort and public pressure.</p>
</li>
<li><p><strong>Ethics Review Board (IERB)</strong> – If a formal IERB were established, it would require funding for:</p>
<ul>
<li>Legal reviews of complaints</li>
<li>Investigations into reported misuse</li>
<li>Administrative work related to enforcement</li>
</ul>
<p>This could be supported through:</p>
<ul>
<li><strong>Corporate sponsorships</strong> from organizations that believe in ethical open-source development.</li>
<li><strong>Crowdfunding and donations</strong> from developers and supporters.</li>
<li><strong>A tiered compliance model</strong> where companies using EOL-licensed software commercially contribute a small fee toward maintaining ethical oversight.</li>
</ul>
</li>
<li><p><strong>Hybrid Approach</strong> – A mix of self-governance and optional paid enforcement. Smaller projects could rely on community oversight, while larger commercial users could opt into a paid compliance system that helps fund ethical review and enforcement.</p>
</li>
</ol>
<p>The exact cost model isn’t set in stone – it’s something that would need to be refined based on community feedback and practical needs. The core idea, however, is that ethical enforcement doesn’t have to be a barrier to open-source adoption, but it does require some thought into sustainability.</p>
<hr>
<h2 id="The-Royalty-Structure-of-EOL"><a href="#The-Royalty-Structure-of-EOL" class="headerlink" title="The Royalty Structure of EOL"></a>The Royalty Structure of EOL</h2><p><em>I’m still not entirely sure if a royalty model is the right approach or if it would actually be beneficial. The idea is to create a way for large-scale commercial users to contribute back to the ethical enforcement of open-source projects, but whether this is the best method is something that needs further discussion.</em></p>
<p>Another aspect of EOL is its <strong>royalty model</strong> for commercial use. While individuals, nonprofits, and small companies can use the software freely, larger companies generating significant revenue directly from EOL-licensed software are expected to contribute back to the ecosystem.</p>
<h3 id="Royalty-Rates-Based-on-Annual-Gross-Revenue"><a href="#Royalty-Rates-Based-on-Annual-Gross-Revenue" class="headerlink" title="Royalty Rates Based on Annual Gross Revenue"></a><strong>Royalty Rates Based on Annual Gross Revenue</strong></h3><table>
<thead>
<tr>
<th>Annual Gross Revenue</th>
<th>Royalty Rate</th>
</tr>
</thead>
<tbody><tr>
<td>Less than $1,000,000</td>
<td>0%</td>
</tr>
<tr>
<td>$1,000,000 - $5,000,000</td>
<td>1%</td>
</tr>
<tr>
<td>More than $5,000,000</td>
<td>2%</td>
</tr>
</tbody></table>
<p>These royalties are calculated based on <strong>annual gross revenue directly attributable to the software or its derivative work</strong>. The goal is to ensure that successful commercial ventures built on EOL-licensed software contribute fairly to its maintenance and ethical enforcement.</p>
<p>Funds collected through royalties can be allocated toward:</p>
<ul>
<li>Supporting ethical enforcement efforts</li>
<li>Maintaining an independent review process</li>
<li>Funding security audits and compliance verification</li>
<li>Ensuring long-term sustainability of ethically governed open-source projects</li>
</ul>
<p>This model helps create a balance between free access for non-commercial use and fair compensation for commercial beneficiaries, ensuring that ethical oversight remains feasible without burdening smaller developers or independent contributors.</p>
<hr>
<h2 id="“Isn’t-open-source-supposed-to-be-neutral-”"><a href="#“Isn’t-open-source-supposed-to-be-neutral-”" class="headerlink" title="“Isn’t open-source supposed to be neutral?”"></a>“Isn’t open-source supposed to be neutral?”</h2><p>The idea has always been that developers provide the tools, and it’s not their job to dictate how those tools are used.</p>
<p>But software isn’t neutral. A powerful AI model isn’t just some abstract tool – it actively shapes real-world outcomes. A social media algorithm doesn’t just recommend content – it determines what millions of people see and believe. And if we, as developers, recognize that, why should we act as if we have no role in what happens next?</p>
<p>That’s where EOL comes in – not as a perfect solution, but as a proposal for a different way of thinking about open-source responsibility.</p>
<hr>
<h2 id="EOL-is-Now-on-GitHub"><a href="#EOL-is-Now-on-GitHub" class="headerlink" title="EOL is Now on GitHub"></a>EOL is Now on GitHub</h2><p>The <strong>Ethical Open License (EOL) 1.0</strong> is now up on GitHub. It’s not a final product. It’s an open discussion. If you’re interested, check it out, share your thoughts, and let’s figure out if this is something that could work.</p>
<p>👉 <a target="_blank" rel="noopener" href="https://github.com/timkicker/EOL">github.com&#x2F;timkicker&#x2F;EOL</a></p>
<p>Whether this turns into something practical or just sparks a broader conversation, I’d call that a win.</p>
<hr>
<p>I don’t expect EOL to replace MIT, GPL, or any of the widely used licenses. But I do think it’s time we stop pretending that software is neutral.</p>
<p>The way our code is used <strong>matters</strong>. And if we, as developers, have the ability to set ethical boundaries, why shouldn’t we?</p>
<p> — Feb 24, 2025</p>
<hr>
<section id="comments" class="mt-2 mb-3">
<script data-isso="//comments.kicker.dev/"
src="//comments.kicker.dev/js/embed.min.js"></script>
<section id="isso-thread">
<noscript>Javascript needs to be activated to view comments.</noscript>
</section>
</section>
<div class="row mt-2">
<div class="eight columns">
<p id="madewith">
#<a href="https://git.kicker.dev/timkicker/tim.kicker.dev" target="_blank" rel="noreferrer">opensource</a></p>
</div>
<!-- Sepcial thanks to https://simpleicons.org/ for the icons -->
<div class="four columns mb-3 posisi" >
<a class="ml-0 footer-link icon" href="https://twitter.com/timjkicker/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="Twitter">
<svg class="twitter svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://github.com/timkicker" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="GitHub">
<svg class="github svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://www.linkedin.com/in/tim-kicker-5438b1237/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="LinkedIn">
<svg class="linkedin svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/js/nanobar.min.js"></script>
<script>
var options = {
classname: 'nanobar',
id: 'myNanobar'
};
var nanobar = new Nanobar(options);
nanobar.go(30);
nanobar.go(76);
nanobar.go(100);
</script>
<script>(function (w, d, s, id) {
if (typeof (w.webpushr) !== 'undefined') return; w.webpushr = w.webpushr || function () { (w.webpushr.q = w.webpushr.q || []).push(arguments) }; var js, fjs = d.getElementsByTagName(s)[0]; js = d.createElement(s); js.id = id; js.async = 1; js.src = "https://cdn.webpushr.com/app.min.js";fjs.parentNode.appendChild(js);}(window, document, 'script', 'webpushr-jssdk'));webpushr('setup', { 'key': 'BLrRztSWnClZ_Jjg50n_ziB6VHz0Wcp721ZbAl9So1t0DMi4ChlDXQ1Ta2wKVYebMjm1l2HQNdZBkaLwBeNoQ2Y' });</script></body>
</html>

304
archives/2025/02/index.html

@ -0,0 +1,304 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Bing & Google Site Index-->
<meta name="google-site-verification" content="B4hZCJh4Uz6qdaXiH65DRXUpjVTHBcblzZaXZjUo7AE" />
<meta name="msvalidate.01" content="1C56B1EC58ADE4A5D59E7AF88A8AFE99" />
<!-- Basic Page Needs
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta charset="utf-8">
<title>All Posts - Tim Kicker</title>
<link rel="sitemap" href="https://tim.kicker.devsitemap.xml" />
<link rel="canonical" href="https://tim.kicker.dev/archives/2025/02/">
<meta name="description" content="Personal website of Tim Kicker">
<meta name="keywords" content="tim, kicker, jochen, htl, website">
<meta name="author" content="Tim Kicker">
<meta property="og:image" content="https://tim.kicker.dev/images/goldengate.jpg">
<meta property="og:site_name" content="Tim&#39;s Blog" />
<meta property="og:type" content="article" />
<meta property="og:title" content="All Posts - Tim Kicker" />
<meta property="og:description" content="Personal website of Tim Kicker">
<meta property="og:url" content="https://tim.kicker.dev/archives/2025/02/" />
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="All Posts - Tim Kicker">
<meta name="twitter:description" content="Personal website of Tim Kicker">
<meta name="twitter:image" content="https://tim.kicker.dev/images/goldengate.jpg">
<meta name="twitter:url" content="https://tim.kicker.dev/archives/2025/02/" />
<!-- Mobile Specific Metas
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Preload fonts
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="preload" href="../fonts/dm-serif-display-v4-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../fonts/inter-v2-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<!-- CSS
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="stylesheet" href="/css/normalize.css">
<link rel="stylesheet" href="/css/skeleton.css">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/prism-dark.css">
<link rel="stylesheet" href="/css/prism-line-numbers.css">
<!-- User css -->
<link rel="stylesheet" href="/css/user.css">
<!-- Favicon
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="icon" type="image/png" href="/images/teddy-bear-apple.webp">
<!-- Custom Theme Color Style
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<style>
a:not(.icon) {
text-decoration-color: #0FA0CE;
background-image: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 50%,
#0FA0CE 50%
);
}
blockquote {
border-left: 8px solid #0FA0CE;
}
.nanobar .bar {
background: #0FA0CE;
}
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
background-color: #0FA0CE;
border-color: #0FA0CE;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #0FA0CE;
}
</style>
<!-- Google Analytics (With Privacy Settings On)
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Tim's Blog" type="application/atom+xml">
</head>
<body>
<div class="container">
<div class="row">
<div>
<script async src="https://stats.kicker.dev/script.js" data-website-id="295db5f5-27a1-42e8-9783-1e410896a596"></script>
<script data-goatcounter="https://altstats.kicker.dev/count" async src="//altstats.kicker.dev/count.js"></script>
<div class="row">
<div class="two columns" style="max-width: 50px">
<h1 class="mt-2 mode">
<div onclick=setDarkMode(true) id="darkBtn">🌑</div>
<div onclick=setDarkMode(false) id="lightBtn" class=hidden>☀️</div>
<script >
if (localStorage.getItem('preferredTheme') == 'dark') {
setDarkMode(true)
}
function setDarkMode(isDark) {
var darkBtn = document.getElementById('darkBtn')
var lightBtn = document.getElementById('lightBtn')
if (isDark) {
lightBtn.style.display = "block"
darkBtn.style.display = "none"
localStorage.setItem('preferredTheme', 'dark');
} else {
lightBtn.style.display = "none"
darkBtn.style.display = "block"
localStorage.removeItem('preferredTheme');
}
document.body.classList.toggle("darkmode");
}
</script>
</h1>
</div>
<div class="six columns ml-1">
<h1 class="mt-2">
<div onclick=navigateHome()>Hello World.</div>
<script >
function navigateHome() {
window.location.replace('https://tim.kicker.dev');
}
</script>
</h1>
</div>
<!--
<div class="six columns ml-1">
<h1 class="mt-2">
<a class="mt-2" href="/">Hello World.</a>
</h1>
</div>
-->
<div class="twelve columns">
<div class="row">
<div class="nine columns left">
<a href="/">Home</a>
<a href="/archives" class="ml">Blog</a>
<a href="/About" class="ml">About</a>
<a href="mailto:tim.kicker@protonmail.com" target="_blank" class="ml">Email</a>
</div>
</div>
<hr style="margin-bottom: 2.6rem">
</div>
</div>
<div class="trans">
<h2>All Posts</h2>
<article>
<div class="row">
<div class="three columns left lit">
<p class="bottom">Feb 24, 2025</p>
</div>
<div class="nine columns left mb-3">
<a href="/2025/02/24/eol/" class="">
The Ethical Open License (EOL) - Rethinking Open Source Responsibility
</a>
</div>
</div>
</article>
<div class="pagination-bar">
<ul class="pagination">
</ul>
</div>
<div class="row mt-2">
<div class="eight columns">
<p id="madewith">
#<a href="https://git.kicker.dev/timkicker/tim.kicker.dev" target="_blank" rel="noreferrer">opensource</a></p>
</div>
<!-- Sepcial thanks to https://simpleicons.org/ for the icons -->
<div class="four columns mb-3 posisi" >
<a class="ml-0 footer-link icon" href="https://twitter.com/timjkicker/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="Twitter">
<svg class="twitter svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://github.com/timkicker" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="GitHub">
<svg class="github svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://www.linkedin.com/in/tim-kicker-5438b1237/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="LinkedIn">
<svg class="linkedin svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/js/nanobar.min.js"></script>
<script>
var options = {
classname: 'nanobar',
id: 'myNanobar'
};
var nanobar = new Nanobar(options);
nanobar.go(30);
nanobar.go(76);
nanobar.go(100);
</script>
<script>(function (w, d, s, id) {
if (typeof (w.webpushr) !== 'undefined') return; w.webpushr = w.webpushr || function () { (w.webpushr.q = w.webpushr.q || []).push(arguments) }; var js, fjs = d.getElementsByTagName(s)[0]; js = d.createElement(s); js.id = id; js.async = 1; js.src = "https://cdn.webpushr.com/app.min.js";fjs.parentNode.appendChild(js);}(window, document, 'script', 'webpushr-jssdk'));webpushr('setup', { 'key': 'BLrRztSWnClZ_Jjg50n_ziB6VHz0Wcp721ZbAl9So1t0DMi4ChlDXQ1Ta2wKVYebMjm1l2HQNdZBkaLwBeNoQ2Y' });</script></body>
</html>

304
archives/2025/index.html

@ -0,0 +1,304 @@
<!DOCTYPE html>
<html lang="en">
<head>
<!-- Bing & Google Site Index-->
<meta name="google-site-verification" content="B4hZCJh4Uz6qdaXiH65DRXUpjVTHBcblzZaXZjUo7AE" />
<meta name="msvalidate.01" content="1C56B1EC58ADE4A5D59E7AF88A8AFE99" />
<!-- Basic Page Needs
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta charset="utf-8">
<title>All Posts - Tim Kicker</title>
<link rel="sitemap" href="https://tim.kicker.devsitemap.xml" />
<link rel="canonical" href="https://tim.kicker.dev/archives/2025/">
<meta name="description" content="Personal website of Tim Kicker">
<meta name="keywords" content="tim, kicker, jochen, htl, website">
<meta name="author" content="Tim Kicker">
<meta property="og:image" content="https://tim.kicker.dev/images/goldengate.jpg">
<meta property="og:site_name" content="Tim&#39;s Blog" />
<meta property="og:type" content="article" />
<meta property="og:title" content="All Posts - Tim Kicker" />
<meta property="og:description" content="Personal website of Tim Kicker">
<meta property="og:url" content="https://tim.kicker.dev/archives/2025/" />
<meta name="twitter:card" content="summary_large_image">
<meta name="twitter:title" content="All Posts - Tim Kicker">
<meta name="twitter:description" content="Personal website of Tim Kicker">
<meta name="twitter:image" content="https://tim.kicker.dev/images/goldengate.jpg">
<meta name="twitter:url" content="https://tim.kicker.dev/archives/2025/" />
<!-- Mobile Specific Metas
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- Preload fonts
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="preload" href="../fonts/dm-serif-display-v4-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<link rel="preload" href="../fonts/inter-v2-latin-regular.woff2" as="font" type="font/woff2" crossorigin>
<!-- CSS
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="stylesheet" href="/css/normalize.css">
<link rel="stylesheet" href="/css/skeleton.css">
<link rel="stylesheet" href="/css/custom.css">
<link rel="stylesheet" href="/css/prism-dark.css">
<link rel="stylesheet" href="/css/prism-line-numbers.css">
<!-- User css -->
<link rel="stylesheet" href="/css/user.css">
<!-- Favicon
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<link rel="icon" type="image/png" href="/images/teddy-bear-apple.webp">
<!-- Custom Theme Color Style
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<style>
a:not(.icon) {
text-decoration-color: #0FA0CE;
background-image: linear-gradient(
to bottom,
rgba(0, 0, 0, 0) 50%,
#0FA0CE 50%
);
}
blockquote {
border-left: 8px solid #0FA0CE;
}
.nanobar .bar {
background: #0FA0CE;
}
.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
background-color: #0FA0CE;
border-color: #0FA0CE;
}
input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
border: 1px solid #0FA0CE;
}
</style>
<!-- Google Analytics (With Privacy Settings On)
–––––––––––––––––––––––––––––––––––––––––––––––––– -->
<meta name="generator" content="Hexo 6.3.0"><link rel="alternate" href="/atom.xml" title="Tim's Blog" type="application/atom+xml">
</head>
<body>
<div class="container">
<div class="row">
<div>
<script async src="https://stats.kicker.dev/script.js" data-website-id="295db5f5-27a1-42e8-9783-1e410896a596"></script>
<script data-goatcounter="https://altstats.kicker.dev/count" async src="//altstats.kicker.dev/count.js"></script>
<div class="row">
<div class="two columns" style="max-width: 50px">
<h1 class="mt-2 mode">
<div onclick=setDarkMode(true) id="darkBtn">🌑</div>
<div onclick=setDarkMode(false) id="lightBtn" class=hidden>☀️</div>
<script >
if (localStorage.getItem('preferredTheme') == 'dark') {
setDarkMode(true)
}
function setDarkMode(isDark) {
var darkBtn = document.getElementById('darkBtn')
var lightBtn = document.getElementById('lightBtn')
if (isDark) {
lightBtn.style.display = "block"
darkBtn.style.display = "none"
localStorage.setItem('preferredTheme', 'dark');
} else {
lightBtn.style.display = "none"
darkBtn.style.display = "block"
localStorage.removeItem('preferredTheme');
}
document.body.classList.toggle("darkmode");
}
</script>
</h1>
</div>
<div class="six columns ml-1">
<h1 class="mt-2">
<div onclick=navigateHome()>Hello World.</div>
<script >
function navigateHome() {
window.location.replace('https://tim.kicker.dev');
}
</script>
</h1>
</div>
<!--
<div class="six columns ml-1">
<h1 class="mt-2">
<a class="mt-2" href="/">Hello World.</a>
</h1>
</div>
-->
<div class="twelve columns">
<div class="row">
<div class="nine columns left">
<a href="/">Home</a>
<a href="/archives" class="ml">Blog</a>
<a href="/About" class="ml">About</a>
<a href="mailto:tim.kicker@protonmail.com" target="_blank" class="ml">Email</a>
</div>
</div>
<hr style="margin-bottom: 2.6rem">
</div>
</div>
<div class="trans">
<h2>All Posts</h2>
<article>
<div class="row">
<div class="three columns left lit">
<p class="bottom">Feb 24, 2025</p>
</div>
<div class="nine columns left mb-3">
<a href="/2025/02/24/eol/" class="">
The Ethical Open License (EOL) - Rethinking Open Source Responsibility
</a>
</div>
</div>
</article>
<div class="pagination-bar">
<ul class="pagination">
</ul>
</div>
<div class="row mt-2">
<div class="eight columns">
<p id="madewith">
#<a href="https://git.kicker.dev/timkicker/tim.kicker.dev" target="_blank" rel="noreferrer">opensource</a></p>
</div>
<!-- Sepcial thanks to https://simpleicons.org/ for the icons -->
<div class="four columns mb-3 posisi" >
<a class="ml-0 footer-link icon" href="https://twitter.com/timjkicker/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="Twitter">
<svg class="twitter svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>Twitter</title><path d="M23.954 4.569c-.885.389-1.83.654-2.825.775 1.014-.611 1.794-1.574 2.163-2.723-.951.555-2.005.959-3.127 1.184-.896-.959-2.173-1.559-3.591-1.559-2.717 0-4.92 2.203-4.92 4.917 0 .39.045.765.127 1.124C7.691 8.094 4.066 6.13 1.64 3.161c-.427.722-.666 1.561-.666 2.475 0 1.71.87 3.213 2.188 4.096-.807-.026-1.566-.248-2.228-.616v.061c0 2.385 1.693 4.374 3.946 4.827-.413.111-.849.171-1.296.171-.314 0-.615-.03-.916-.086.631 1.953 2.445 3.377 4.604 3.417-1.68 1.319-3.809 2.105-6.102 2.105-.39 0-.779-.023-1.17-.067 2.189 1.394 4.768 2.209 7.557 2.209 9.054 0 13.999-7.496 13.999-13.986 0-.209 0-.42-.015-.63.961-.689 1.8-1.56 2.46-2.548l-.047-.02z"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://github.com/timkicker" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="GitHub">
<svg class="github svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>GitHub</title><path d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/></svg>
</a>
<a class="ml-0 footer-link icon" href="https://www.linkedin.com/in/tim-kicker-5438b1237/" target="_blank" style="text-decoration: none" rel="noreferrer" aria-label="LinkedIn">
<svg class="linkedin svg-hov" width="18" role="img" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg"><title>LinkedIn</title><path d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/></svg>
</a>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="/js/nanobar.min.js"></script>
<script>
var options = {
classname: 'nanobar',
id: 'myNanobar'
};
var nanobar = new Nanobar(options);
nanobar.go(30);
nanobar.go(76);
nanobar.go(100);
</script>
<script>(function (w, d, s, id) {
if (typeof (w.webpushr) !== 'undefined') return; w.webpushr = w.webpushr || function () { (w.webpushr.q = w.webpushr.q || []).push(arguments) }; var js, fjs = d.getElementsByTagName(s)[0]; js = d.createElement(s); js.id = id; js.async = 1; js.src = "https://cdn.webpushr.com/app.min.js";fjs.parentNode.appendChild(js);}(window, document, 'script', 'webpushr-jssdk'));webpushr('setup', { 'key': 'BLrRztSWnClZ_Jjg50n_ziB6VHz0Wcp721ZbAl9So1t0DMi4ChlDXQ1Ta2wKVYebMjm1l2HQNdZBkaLwBeNoQ2Y' });</script></body>
</html>

16
archives/index.html

@ -218,6 +218,22 @@
<h2>All Posts</h2>
<article>
<div class="row">
<div class="three columns left lit">
<p class="bottom">Feb 24, 2025</p>
</div>
<div class="nine columns left mb-3">
<a href="/2025/02/24/eol/" class="">
The Ethical Open License (EOL) - Rethinking Open Source Responsibility
</a>
</div>
</div>
</article>
<article>
<div class="row">

99
atom.xml

@ -3,7 +3,104 @@
<id>https://tim.kicker.dev</id>
<title>Tim&#39;s Blog</title>
<link href="https://tim.kicker.dev" />
<updated>2024-06-26T18:20:59.000Z</updated>
<updated>2025-02-24T15:20:53.000Z</updated>
<entry>
<id>https://tim.kicker.dev/2025/02/24/eol/</id>
<title>The Ethical Open License (EOL) - Rethinking Open Source Responsibility</title>
<link rel="alternate" href="https://tim.kicker.dev/2025/02/24/eol/"/>
<content type="html">&lt;p&gt;For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: &lt;strong&gt;what happens when your code is used for something you fundamentally disagree with?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We celebrate open-source as this great force for collaboration, and in many ways, it is. But there’s a gap in how we think about responsibility. Right now, if you release software under a standard open-source license, you’re essentially saying: “Here, take this. Use it for whatever you want.” And that’s fine, until you realize that “whatever you want” includes things like mass surveillance, AI-driven discrimination, child exploitation networks, or even tools used to facilitate human trafficking.&lt;/p&gt;
&lt;p&gt;Some people argue that this is just the price of open-source – once you put code out there, it’s out of your hands. But I started asking myself: &lt;strong&gt;does it have to be?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://socialify.git.ci/timkicker/eol/image?language=1&amp;logo=https://raw.githubusercontent.com/timkicker/EOL/refs/heads/main/file_with_handshake.png&amp;name=1&amp;owner=1&amp;stargazers=1&amp;theme=Light&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;What-Is-the-Ethical-Open-License-EOL&#34;&gt;&lt;a href=&#34;#What-Is-the-Ethical-Open-License-EOL&#34; class=&#34;headerlink&#34; title=&#34;What Is the Ethical Open License (EOL)?&#34;&gt;&lt;/a&gt;What Is the Ethical Open License (EOL)?&lt;/h2&gt;&lt;p&gt;The &lt;strong&gt;Ethical Open License (EOL)&lt;/strong&gt; is an attempt to build a licensing model that allows for openness while setting some fundamental ethical limitations. It’s not about restricting everyday users or preventing innovation. It’s about setting clear boundaries on how software can and can’t be used.&lt;/p&gt;
&lt;p&gt;Under EOL, your software for example &lt;strong&gt;cannot&lt;/strong&gt; be used for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mass surveillance&lt;/strong&gt; – No large-scale tracking, unauthorized data collection, or government spying programs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomous weapons&lt;/strong&gt; – Your code should not end up in military AI systems or automated combat technology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discriminatory AI&lt;/strong&gt; – No training models that reinforce bias or make decisions based on race, gender, or social class.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exploitation networks&lt;/strong&gt; – No use in systems that facilitate child abuse, human trafficking, or other crimes that exploit vulnerable individuals.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is about recognizing that technology has real-world consequences and that developers should have a say in how their work is applied.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;How-Does-EOL-Work&#34;&gt;&lt;a href=&#34;#How-Does-EOL-Work&#34; class=&#34;headerlink&#34; title=&#34;How Does EOL Work?&#34;&gt;&lt;/a&gt;How Does EOL Work?&lt;/h2&gt;&lt;p&gt;EOL follows a familiar open-source structure, but with added restrictions on unethical use. It grants users the right to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use, modify, and distribute the software freely.&lt;/li&gt;
&lt;li&gt;Contribute to the project under the same ethical guidelines.&lt;/li&gt;
&lt;li&gt;Fork or create derivatives as long as they comply with the license terms.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, if an entity is found to be violating the ethical clauses of the license, they &lt;strong&gt;lose their right to use the software&lt;/strong&gt;. This is meant to create a tangible consequence for misuse while keeping the spirit of open-source collaboration intact.&lt;/p&gt;
&lt;p&gt;To avoid ambiguity, EOL also provides a &lt;strong&gt;defined process&lt;/strong&gt; for addressing violations. This would ideally involve an independent review process where complaints can be filed, reviewed, and addressed based on available evidence.&lt;/p&gt;
&lt;p&gt;If a violation is confirmed, the offending party is expected to cease the unethical use immediately or risk losing access to the software under the terms of the license.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;The-Cost-Model-of-EOL&#34;&gt;&lt;a href=&#34;#The-Cost-Model-of-EOL&#34; class=&#34;headerlink&#34; title=&#34;The Cost Model of EOL&#34;&gt;&lt;/a&gt;The Cost Model of EOL&lt;/h2&gt;&lt;p&gt;One important question that comes up with any new license is: &lt;strong&gt;how does the cost model work?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;EOL itself is, like most open-source licenses, &lt;strong&gt;free to use&lt;/strong&gt;. Any developer, company, or organization can adopt the license without paying fees. However, the enforcement mechanisms and the potential establishment of an independent ethics review board (IERB) introduce some financial considerations.&lt;/p&gt;
&lt;h3 id=&#34;Potential-Costs-and-Funding-Sources&#34;&gt;&lt;a href=&#34;#Potential-Costs-and-Funding-Sources&#34; class=&#34;headerlink&#34; title=&#34;Potential Costs and Funding Sources&#34;&gt;&lt;/a&gt;&lt;strong&gt;Potential Costs and Funding Sources&lt;/strong&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Self-Governance (Free Model)&lt;/strong&gt; – In its simplest form, projects adopting EOL could rely on community-driven enforcement, where violations are reported and discussed publicly. This keeps costs low but relies heavily on volunteer effort and public pressure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ethics Review Board (IERB)&lt;/strong&gt; – If a formal IERB were established, it would require funding for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Legal reviews of complaints&lt;/li&gt;
&lt;li&gt;Investigations into reported misuse&lt;/li&gt;
&lt;li&gt;Administrative work related to enforcement&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This could be supported through:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Corporate sponsorships&lt;/strong&gt; from organizations that believe in ethical open-source development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Crowdfunding and donations&lt;/strong&gt; from developers and supporters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A tiered compliance model&lt;/strong&gt; where companies using EOL-licensed software commercially contribute a small fee toward maintaining ethical oversight.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hybrid Approach&lt;/strong&gt; – A mix of self-governance and optional paid enforcement. Smaller projects could rely on community oversight, while larger commercial users could opt into a paid compliance system that helps fund ethical review and enforcement.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The exact cost model isn’t set in stone – it’s something that would need to be refined based on community feedback and practical needs. The core idea, however, is that ethical enforcement doesn’t have to be a barrier to open-source adoption, but it does require some thought into sustainability.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;The-Royalty-Structure-of-EOL&#34;&gt;&lt;a href=&#34;#The-Royalty-Structure-of-EOL&#34; class=&#34;headerlink&#34; title=&#34;The Royalty Structure of EOL&#34;&gt;&lt;/a&gt;The Royalty Structure of EOL&lt;/h2&gt;&lt;p&gt;&lt;em&gt;I’m still not entirely sure if a royalty model is the right approach or if it would actually be beneficial. The idea is to create a way for large-scale commercial users to contribute back to the ethical enforcement of open-source projects, but whether this is the best method is something that needs further discussion.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Another aspect of EOL is its &lt;strong&gt;royalty model&lt;/strong&gt; for commercial use. While individuals, nonprofits, and small companies can use the software freely, larger companies generating significant revenue directly from EOL-licensed software are expected to contribute back to the ecosystem.&lt;/p&gt;
&lt;h3 id=&#34;Royalty-Rates-Based-on-Annual-Gross-Revenue&#34;&gt;&lt;a href=&#34;#Royalty-Rates-Based-on-Annual-Gross-Revenue&#34; class=&#34;headerlink&#34; title=&#34;Royalty Rates Based on Annual Gross Revenue&#34;&gt;&lt;/a&gt;&lt;strong&gt;Royalty Rates Based on Annual Gross Revenue&lt;/strong&gt;&lt;/h3&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Annual Gross Revenue&lt;/th&gt;
&lt;th&gt;Royalty Rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Less than $1,000,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$1,000,000 - $5,000,000&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;More than $5,000,000&lt;/td&gt;
&lt;td&gt;2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;These royalties are calculated based on &lt;strong&gt;annual gross revenue directly attributable to the software or its derivative work&lt;/strong&gt;. The goal is to ensure that successful commercial ventures built on EOL-licensed software contribute fairly to its maintenance and ethical enforcement.&lt;/p&gt;
&lt;p&gt;Funds collected through royalties can be allocated toward:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supporting ethical enforcement efforts&lt;/li&gt;
&lt;li&gt;Maintaining an independent review process&lt;/li&gt;
&lt;li&gt;Funding security audits and compliance verification&lt;/li&gt;
&lt;li&gt;Ensuring long-term sustainability of ethically governed open-source projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This model helps create a balance between free access for non-commercial use and fair compensation for commercial beneficiaries, ensuring that ethical oversight remains feasible without burdening smaller developers or independent contributors.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;“Isn’t-open-source-supposed-to-be-neutral-”&#34;&gt;&lt;a href=&#34;#“Isn’t-open-source-supposed-to-be-neutral-”&#34; class=&#34;headerlink&#34; title=&#34;“Isn’t open-source supposed to be neutral?”&#34;&gt;&lt;/a&gt;“Isn’t open-source supposed to be neutral?”&lt;/h2&gt;&lt;p&gt;The idea has always been that developers provide the tools, and it’s not their job to dictate how those tools are used.&lt;/p&gt;
&lt;p&gt;But software isn’t neutral. A powerful AI model isn’t just some abstract tool – it actively shapes real-world outcomes. A social media algorithm doesn’t just recommend content – it determines what millions of people see and believe. And if we, as developers, recognize that, why should we act as if we have no role in what happens next?&lt;/p&gt;
&lt;p&gt;That’s where EOL comes in – not as a perfect solution, but as a proposal for a different way of thinking about open-source responsibility.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;EOL-is-Now-on-GitHub&#34;&gt;&lt;a href=&#34;#EOL-is-Now-on-GitHub&#34; class=&#34;headerlink&#34; title=&#34;EOL is Now on GitHub&#34;&gt;&lt;/a&gt;EOL is Now on GitHub&lt;/h2&gt;&lt;p&gt;The &lt;strong&gt;Ethical Open License (EOL) 1.0&lt;/strong&gt; is now up on GitHub. It’s not a final product. It’s an open discussion. If you’re interested, check it out, share your thoughts, and let’s figure out if this is something that could work.&lt;/p&gt;
&lt;p&gt;👉 &lt;a href=&#34;https://github.com/timkicker/EOL&#34;&gt;github.com&amp;#x2F;timkicker&amp;#x2F;EOL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Whether this turns into something practical or just sparks a broader conversation, I’d call that a win.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I don’t expect EOL to replace MIT, GPL, or any of the widely used licenses. But I do think it’s time we stop pretending that software is neutral.&lt;/p&gt;
&lt;p&gt;The way our code is used &lt;strong&gt;matters&lt;/strong&gt;. And if we, as developers, have the ability to set ethical boundaries, why shouldn’t we?&lt;/p&gt;
</content>
<updated>2025-02-24T15:20:53.000Z</updated>
</entry>
<entry>
<id>https://tim.kicker.dev/2024/06/26/the-selfhosting-experience/</id>
<title>The Selfhosting Experience</title>

2
faq/index.html

@ -217,7 +217,7 @@
<h2>Frequently asked questions</h2>
<h4 id="What-is-your-blog-all-about"><a href="#What-is-your-blog-all-about" class="headerlink" title="What is your blog all about?"></a>What is your blog all about?</h4><p>The purpose of this website is to give you a small overview about my projects, interests and opinions.</p>
<h4 id="How-can-I-contact-the-author-administrator-of-the-blog"><a href="#How-can-I-contact-the-author-administrator-of-the-blog" class="headerlink" title="How can I contact the author&#x2F;administrator of the blog?"></a>How can I contact the author&#x2F;administrator of the blog?</h4><p>Mail: <a href="mailto:&#116;&#105;&#109;&#x2e;&#x6b;&#x69;&#x63;&#x6b;&#x65;&#x72;&#x40;&#112;&#114;&#111;&#x74;&#111;&#110;&#x6d;&#97;&#x69;&#x6c;&#x2e;&#99;&#111;&#109;">&#116;&#105;&#109;&#x2e;&#x6b;&#x69;&#x63;&#x6b;&#x65;&#x72;&#x40;&#112;&#114;&#111;&#x74;&#111;&#110;&#x6d;&#97;&#x69;&#x6c;&#x2e;&#99;&#111;&#109;</a></p>
<h4 id="How-can-I-contact-the-author-administrator-of-the-blog"><a href="#How-can-I-contact-the-author-administrator-of-the-blog" class="headerlink" title="How can I contact the author&#x2F;administrator of the blog?"></a>How can I contact the author&#x2F;administrator of the blog?</h4><p>Mail: <a href="mailto:&#116;&#x69;&#x6d;&#x2e;&#107;&#105;&#x63;&#107;&#x65;&#x72;&#x40;&#112;&#x72;&#111;&#116;&#x6f;&#x6e;&#109;&#97;&#x69;&#x6c;&#46;&#x63;&#111;&#x6d;">&#116;&#x69;&#x6d;&#x2e;&#107;&#105;&#x63;&#107;&#x65;&#x72;&#x40;&#112;&#x72;&#111;&#116;&#x6f;&#x6e;&#109;&#97;&#x69;&#x6c;&#46;&#x63;&#111;&#x6d;</a></p>
<p>Twitter: <a target="_blank" rel="noopener" href="https://twitter.com/timjkicker/">@timjkicker</a></p>
<p>LinkedIn: <a target="_blank" rel="noopener" href="https://www.linkedin.com/in/tim-kicker/">https://www.linkedin.com/in/tim-kicker/</a> </p>
<h4 id="Are-the-articles-on-this-blog-written-by-a-single-author-or-multiple-contributors"><a href="#Are-the-articles-on-this-blog-written-by-a-single-author-or-multiple-contributors" class="headerlink" title="Are the articles on this blog written by a single author or multiple contributors?"></a>Are the articles on this blog written by a single author or multiple contributors?</h4><p>At the time of writing, all blogs were completely done by myself.</p>

8
feed.json
File diff suppressed because it is too large
View File

24
index.html

@ -230,12 +230,12 @@
<div class="row">
<div class="three columns left lit">
<p class="bottom">Jun 26, 2024</p>
<p class="bottom">Feb 24, 2025</p>
</div>
<div class="nine columns left mb-3">
<a href="/2024/06/26/the-selfhosting-experience/" >
<a href="/2025/02/24/eol/" >
The Selfhosting Experience
The Ethical Open License (EOL) - Rethinking Open Source Responsibility
</a>
</div>
@ -244,12 +244,12 @@
<div class="row">
<div class="three columns left lit">
<p class="bottom">Aug 2, 2023</p>
<p class="bottom">Jun 26, 2024</p>
</div>
<div class="nine columns left mb-3">
<a href="/2023/08/02/digital-nomad/" >
<a href="/2024/06/26/the-selfhosting-experience/" >
The first digital nomad
The Selfhosting Experience
</a>
</div>
@ -258,12 +258,12 @@
<div class="row">
<div class="three columns left lit">
<p class="bottom">Jul 25, 2023</p>
<p class="bottom">Aug 2, 2023</p>
</div>
<div class="nine columns left mb-3">
<a href="/2023/07/25/beautiful-internet/" >
<a href="/2023/08/02/digital-nomad/" >
The internet has become soulless and i hate it
The first digital nomad
</a>
</div>
@ -272,12 +272,12 @@
<div class="row">
<div class="three columns left lit">
<p class="bottom">Jul 18, 2023</p>
<p class="bottom">Jul 25, 2023</p>
</div>
<div class="nine columns left mb-3">
<a href="/2023/07/18/telegram/" >
<a href="/2023/07/25/beautiful-internet/" >
Should it really be Telegram?
The internet has become soulless and i hate it
</a>
</div>

2
newPost.json

@ -1 +1 @@
{"title":"The Selfhosting Experience","id":"2024/06/26/the-selfhosting-experience/","date_published":"06/26/2024","summary":"","url":"https://tim.kicker.dev/2024/06/26/the-selfhosting-experience/","tags":[],"categories":[]}
{"title":"The Ethical Open License (EOL) - Rethinking Open Source Responsibility","id":"2025/02/24/eol/","date_published":"02/24/2025","summary":"","url":"https://tim.kicker.dev/2025/02/24/eol/","tags":[],"categories":[]}

101
rss.xml

@ -5,8 +5,105 @@
<link>https://tim.kicker.dev</link>
<description>Personal website of Tim Kicker</description>
<language>en</language>
<pubDate>Wed, 26 Jun 2024 18:20:59 +0000</pubDate>
<lastBuildDate>Wed, 26 Jun 2024 18:20:59 +0000</lastBuildDate>
<pubDate>Mon, 24 Feb 2025 15:20:53 +0000</pubDate>
<lastBuildDate>Mon, 24 Feb 2025 15:20:53 +0000</lastBuildDate>
<item>
<guid isPermalink="true">https://tim.kicker.dev/2025/02/24/eol/</guid>
<title>The Ethical Open License (EOL) - Rethinking Open Source Responsibility</title>
<link>https://tim.kicker.dev/2025/02/24/eol/</link>
<pubDate>Mon, 24 Feb 2025 15:20:53 +0000</pubDate>
<description><![CDATA[ &lt;p&gt;For a while now, I’ve been thinking about something that doesn’t get talked about enough in open source: &lt;strong&gt;what happens when your code is used for something you fundamentally disagree with?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;We celebrate open-source as this great force for collaboration, and in many ways, it is. But there’s a gap in how we think about responsibility. Right now, if you release software under a standard open-source license, you’re essentially saying: “Here, take this. Use it for whatever you want.” And that’s fine, until you realize that “whatever you want” includes things like mass surveillance, AI-driven discrimination, child exploitation networks, or even tools used to facilitate human trafficking.&lt;/p&gt;
&lt;p&gt;Some people argue that this is just the price of open-source – once you put code out there, it’s out of your hands. But I started asking myself: &lt;strong&gt;does it have to be?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&#34;https://socialify.git.ci/timkicker/eol/image?language=1&amp;logo=https://raw.githubusercontent.com/timkicker/EOL/refs/heads/main/file_with_handshake.png&amp;name=1&amp;owner=1&amp;stargazers=1&amp;theme=Light&#34;&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;What-Is-the-Ethical-Open-License-EOL&#34;&gt;&lt;a href=&#34;#What-Is-the-Ethical-Open-License-EOL&#34; class=&#34;headerlink&#34; title=&#34;What Is the Ethical Open License (EOL)?&#34;&gt;&lt;/a&gt;What Is the Ethical Open License (EOL)?&lt;/h2&gt;&lt;p&gt;The &lt;strong&gt;Ethical Open License (EOL)&lt;/strong&gt; is an attempt to build a licensing model that allows for openness while setting some fundamental ethical limitations. It’s not about restricting everyday users or preventing innovation. It’s about setting clear boundaries on how software can and can’t be used.&lt;/p&gt;
&lt;p&gt;Under EOL, your software for example &lt;strong&gt;cannot&lt;/strong&gt; be used for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Mass surveillance&lt;/strong&gt; – No large-scale tracking, unauthorized data collection, or government spying programs.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Autonomous weapons&lt;/strong&gt; – Your code should not end up in military AI systems or automated combat technology.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Discriminatory AI&lt;/strong&gt; – No training models that reinforce bias or make decisions based on race, gender, or social class.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Exploitation networks&lt;/strong&gt; – No use in systems that facilitate child abuse, human trafficking, or other crimes that exploit vulnerable individuals.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This is about recognizing that technology has real-world consequences and that developers should have a say in how their work is applied.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;How-Does-EOL-Work&#34;&gt;&lt;a href=&#34;#How-Does-EOL-Work&#34; class=&#34;headerlink&#34; title=&#34;How Does EOL Work?&#34;&gt;&lt;/a&gt;How Does EOL Work?&lt;/h2&gt;&lt;p&gt;EOL follows a familiar open-source structure, but with added restrictions on unethical use. It grants users the right to:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Use, modify, and distribute the software freely.&lt;/li&gt;
&lt;li&gt;Contribute to the project under the same ethical guidelines.&lt;/li&gt;
&lt;li&gt;Fork or create derivatives as long as they comply with the license terms.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;However, if an entity is found to be violating the ethical clauses of the license, they &lt;strong&gt;lose their right to use the software&lt;/strong&gt;. This is meant to create a tangible consequence for misuse while keeping the spirit of open-source collaboration intact.&lt;/p&gt;
&lt;p&gt;To avoid ambiguity, EOL also provides a &lt;strong&gt;defined process&lt;/strong&gt; for addressing violations. This would ideally involve an independent review process where complaints can be filed, reviewed, and addressed based on available evidence.&lt;/p&gt;
&lt;p&gt;If a violation is confirmed, the offending party is expected to cease the unethical use immediately or risk losing access to the software under the terms of the license.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;The-Cost-Model-of-EOL&#34;&gt;&lt;a href=&#34;#The-Cost-Model-of-EOL&#34; class=&#34;headerlink&#34; title=&#34;The Cost Model of EOL&#34;&gt;&lt;/a&gt;The Cost Model of EOL&lt;/h2&gt;&lt;p&gt;One important question that comes up with any new license is: &lt;strong&gt;how does the cost model work?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;EOL itself is, like most open-source licenses, &lt;strong&gt;free to use&lt;/strong&gt;. Any developer, company, or organization can adopt the license without paying fees. However, the enforcement mechanisms and the potential establishment of an independent ethics review board (IERB) introduce some financial considerations.&lt;/p&gt;
&lt;h3 id=&#34;Potential-Costs-and-Funding-Sources&#34;&gt;&lt;a href=&#34;#Potential-Costs-and-Funding-Sources&#34; class=&#34;headerlink&#34; title=&#34;Potential Costs and Funding Sources&#34;&gt;&lt;/a&gt;&lt;strong&gt;Potential Costs and Funding Sources&lt;/strong&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Self-Governance (Free Model)&lt;/strong&gt; – In its simplest form, projects adopting EOL could rely on community-driven enforcement, where violations are reported and discussed publicly. This keeps costs low but relies heavily on volunteer effort and public pressure.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Ethics Review Board (IERB)&lt;/strong&gt; – If a formal IERB were established, it would require funding for:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Legal reviews of complaints&lt;/li&gt;
&lt;li&gt;Investigations into reported misuse&lt;/li&gt;
&lt;li&gt;Administrative work related to enforcement&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This could be supported through:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Corporate sponsorships&lt;/strong&gt; from organizations that believe in ethical open-source development.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Crowdfunding and donations&lt;/strong&gt; from developers and supporters.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A tiered compliance model&lt;/strong&gt; where companies using EOL-licensed software commercially contribute a small fee toward maintaining ethical oversight.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;Hybrid Approach&lt;/strong&gt; – A mix of self-governance and optional paid enforcement. Smaller projects could rely on community oversight, while larger commercial users could opt into a paid compliance system that helps fund ethical review and enforcement.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The exact cost model isn’t set in stone – it’s something that would need to be refined based on community feedback and practical needs. The core idea, however, is that ethical enforcement doesn’t have to be a barrier to open-source adoption, but it does require some thought into sustainability.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;The-Royalty-Structure-of-EOL&#34;&gt;&lt;a href=&#34;#The-Royalty-Structure-of-EOL&#34; class=&#34;headerlink&#34; title=&#34;The Royalty Structure of EOL&#34;&gt;&lt;/a&gt;The Royalty Structure of EOL&lt;/h2&gt;&lt;p&gt;&lt;em&gt;I’m still not entirely sure if a royalty model is the right approach or if it would actually be beneficial. The idea is to create a way for large-scale commercial users to contribute back to the ethical enforcement of open-source projects, but whether this is the best method is something that needs further discussion.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Another aspect of EOL is its &lt;strong&gt;royalty model&lt;/strong&gt; for commercial use. While individuals, nonprofits, and small companies can use the software freely, larger companies generating significant revenue directly from EOL-licensed software are expected to contribute back to the ecosystem.&lt;/p&gt;
&lt;h3 id=&#34;Royalty-Rates-Based-on-Annual-Gross-Revenue&#34;&gt;&lt;a href=&#34;#Royalty-Rates-Based-on-Annual-Gross-Revenue&#34; class=&#34;headerlink&#34; title=&#34;Royalty Rates Based on Annual Gross Revenue&#34;&gt;&lt;/a&gt;&lt;strong&gt;Royalty Rates Based on Annual Gross Revenue&lt;/strong&gt;&lt;/h3&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Annual Gross Revenue&lt;/th&gt;
&lt;th&gt;Royalty Rate&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;td&gt;Less than $1,000,000&lt;/td&gt;
&lt;td&gt;0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;$1,000,000 - $5,000,000&lt;/td&gt;
&lt;td&gt;1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;More than $5,000,000&lt;/td&gt;
&lt;td&gt;2%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;These royalties are calculated based on &lt;strong&gt;annual gross revenue directly attributable to the software or its derivative work&lt;/strong&gt;. The goal is to ensure that successful commercial ventures built on EOL-licensed software contribute fairly to its maintenance and ethical enforcement.&lt;/p&gt;
&lt;p&gt;Funds collected through royalties can be allocated toward:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Supporting ethical enforcement efforts&lt;/li&gt;
&lt;li&gt;Maintaining an independent review process&lt;/li&gt;
&lt;li&gt;Funding security audits and compliance verification&lt;/li&gt;
&lt;li&gt;Ensuring long-term sustainability of ethically governed open-source projects&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;This model helps create a balance between free access for non-commercial use and fair compensation for commercial beneficiaries, ensuring that ethical oversight remains feasible without burdening smaller developers or independent contributors.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;“Isn’t-open-source-supposed-to-be-neutral-”&#34;&gt;&lt;a href=&#34;#“Isn’t-open-source-supposed-to-be-neutral-”&#34; class=&#34;headerlink&#34; title=&#34;“Isn’t open-source supposed to be neutral?”&#34;&gt;&lt;/a&gt;“Isn’t open-source supposed to be neutral?”&lt;/h2&gt;&lt;p&gt;The idea has always been that developers provide the tools, and it’s not their job to dictate how those tools are used.&lt;/p&gt;
&lt;p&gt;But software isn’t neutral. A powerful AI model isn’t just some abstract tool – it actively shapes real-world outcomes. A social media algorithm doesn’t just recommend content – it determines what millions of people see and believe. And if we, as developers, recognize that, why should we act as if we have no role in what happens next?&lt;/p&gt;
&lt;p&gt;That’s where EOL comes in – not as a perfect solution, but as a proposal for a different way of thinking about open-source responsibility.&lt;/p&gt;
&lt;hr&gt;
&lt;h2 id=&#34;EOL-is-Now-on-GitHub&#34;&gt;&lt;a href=&#34;#EOL-is-Now-on-GitHub&#34; class=&#34;headerlink&#34; title=&#34;EOL is Now on GitHub&#34;&gt;&lt;/a&gt;EOL is Now on GitHub&lt;/h2&gt;&lt;p&gt;The &lt;strong&gt;Ethical Open License (EOL) 1.0&lt;/strong&gt; is now up on GitHub. It’s not a final product. It’s an open discussion. If you’re interested, check it out, share your thoughts, and let’s figure out if this is something that could work.&lt;/p&gt;
&lt;p&gt;👉 &lt;a href=&#34;https://github.com/timkicker/EOL&#34;&gt;github.com&amp;#x2F;timkicker&amp;#x2F;EOL&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Whether this turns into something practical or just sparks a broader conversation, I’d call that a win.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;I don’t expect EOL to replace MIT, GPL, or any of the widely used licenses. But I do think it’s time we stop pretending that software is neutral.&lt;/p&gt;
&lt;p&gt;The way our code is used &lt;strong&gt;matters&lt;/strong&gt;. And if we, as developers, have the ability to set ethical boundaries, why shouldn’t we?&lt;/p&gt;
]]></description>
</item>
<item>
<guid isPermalink="true">https://tim.kicker.dev/2024/06/26/the-selfhosting-experience/</guid>
<title>The Selfhosting Experience</title>

37
sitemap.xml

@ -2,9 +2,9 @@
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://tim.kicker.dev/digital-piracy/</loc>
<loc>https://tim.kicker.dev/campus-sulz-frueher/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -13,7 +13,16 @@
<url>
<loc>https://tim.kicker.dev/faq/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tim.kicker.dev/digital-piracy/</loc>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -22,34 +31,34 @@
<url>
<loc>https://tim.kicker.dev/2023/05/18/whatsapp-analyze/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tim.kicker.dev/campus-sulz-frueher/</loc>
<loc>https://tim.kicker.dev/2024/06/26/the-selfhosting-experience/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tim.kicker.dev/2023/07/18/telegram/</loc>
<loc>https://tim.kicker.dev/2025/02/24/eol/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://tim.kicker.dev/2024/06/26/the-selfhosting-experience/</loc>
<loc>https://tim.kicker.dev/2023/07/18/telegram/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -58,7 +67,7 @@
<url>
<loc>https://tim.kicker.dev/2023/08/02/digital-nomad/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -67,7 +76,7 @@
<url>
<loc>https://tim.kicker.dev/2023/07/25/beautiful-internet/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -76,7 +85,7 @@
<url>
<loc>https://tim.kicker.dev/About/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
@ -85,7 +94,7 @@
<url>
<loc>https://tim.kicker.dev/</loc>
<lastmod>2024-07-02</lastmod>
<lastmod>2025-02-24</lastmod>
<changefreq>daily</changefreq>
<priority>1.0</priority>
</url>

|||||||
100:0
Loading…
Cancel
Save