<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	    xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	     xmlns:dc="http://purl.org/dc/elements/1.1/"
	   xmlns:atom="http://www.w3.org/2005/Atom"
	     xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	  xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>
<channel>
	<title>foss &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/foss/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Sun, 12 Jul 2026 21:20:16 +0000</lastBuildDate>
	<language>en-GB</language>
	<copyright>© Terence Eden. 🄯 CC BY-SA. See https://shkspr.mobi/blog/copyright-and-copyleft/</copyright>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.1</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>foss &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Which Copyleft Licence is Suitable for an SVG?]]></title>
		<link>https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/</link>
					<comments>https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Sat, 20 Jun 2026 11:34:22 +0000</pubDate>
		<category><![CDATA[Copyleft]]></category><category><![CDATA[copyright]]></category><category><![CDATA[Creative Commons]]></category><category><![CDATA[foss]]></category><category><![CDATA[GPL]]></category><category><![CDATA[images]]></category><category><![CDATA[svg]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=68741</guid>

					<description><![CDATA[The Scalable Vector Graphics (SVG) format is amazing. It allows you to precisely define how an image should look. Written in XML, it uses various mathematical operations to display an image which looks crisp and clear at any size.  Here&#039;s a trivial example:  &#60;svg height=&#34;100&#34; viewBox=&#34;0 0 100 100&#34; width=&#34;100&#34; xmlns=&#34;http://www.w3.org/2000/svg&#34;&#62;    &#60;circle cx=&#34;50&#34; cy=&#34;50&#34;  fill=&#34;#f00&#34; r=&#34;50&#34;/&#62;…]]></description>
										<content:encoded><![CDATA[<p>The Scalable Vector Graphics (SVG) format is amazing. It allows you to precisely define how an image should look. Written in XML, it uses various mathematical operations to display an image which looks crisp and clear at any size.</p>

<p>Here's a trivial example:</p>

<pre><code class="language-SVG">&lt;svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg"&gt;
   &lt;circle cx="50" cy="50"  fill="#f00" r="50"/&gt;
&lt;/svg&gt;
</code></pre>

<p>That code produces this circle:</p>

<svg height="100" viewBox="0 0 100 100" width="100" xmlns="http://www.w3.org/2000/svg">
   <circle cx="50" cy="50" fill="#f00" r="50"></circle>
</svg>

<p>You could print that out with a kilometre radius and it would still be a perfect circle - unlike a traditional raster image which is just a grid of blocky pixels.</p>

<p>But suppose you wanted to freely share your SVG with others - and ensure that they <em>also</em> freely share it. What sort of "Copyleft" licence would you give it?</p>

<h2 id="creative-commons"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#creative-commons">Creative Commons</a></h2>

<p>The obvious choice seems to be a Creative Commons Share-Alike licence. SVGs are images. Images are creative works. Creative Commons is suitable for creative works. Job done!</p>

<p>But…</p>

<p>SVGs are <em>not</em> images. The are code which <em>produce</em> images. If we assume that an SVG is software, this entry in the FAQ becomes relevant:</p>

<blockquote><p><a href="https://creativecommons.org/faq/#can-i-apply-a-creative-commons-license-to-software"><strong>Can I apply a Creative Commons license to software?</strong></a></p>

<p>We recommend against using Creative Commons licenses for software.</p>

<p>[…]</p>

<p>Unlike software-specific licenses, CC licenses do not contain specific terms about the distribution of source code, which is often important to ensuring the free reuse and modifiability of software.</p>

<p>[…]</p>

<p>Additionally, our licenses are currently not compatible with the major software licenses, so it would be difficult to integrate CC-licensed work with other free software. Existing software licenses were designed specifically for use with software and offer a similar set of rights to the Creative Commons licenses.</p></blockquote>

<p>At the end of that FAQ, they also say:</p>

<blockquote><p>While we recommend against using a CC license on software itself, CC licenses may be used for software documentation, as well as for separate artistic elements such as game art or music.</p></blockquote>

<p>So, that's a <em>perhaps?</em></p>

<h2 id="gpl"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#gpl">GPL</a></h2>

<p>But let us assume that an SVG is a piece of media rather than software. Would it be suitable to use a software licence for it?</p>

<p>The various Gnu Public Licences have this to say:</p>

<blockquote><p><a href="https://www.gnu.org/licenses/gpl-faq.en.html#GPLOtherThanSoftware"><strong>Can I use the GPL for something other than software?</strong></a></p>

<p>You can apply the GPL to any kind of work, as long as it is clear what constitutes the “source code” for the work. The GPL defines this as the preferred form of the work for making changes in it.</p></blockquote>

<p>A photo JPEG might be derived from the RAW image file. In which case, the RAW is suitable for being GPL'd, not the resultant JPEG.</p>

<p>Similarly, the Photoshop file of a complex and multi-layered illustration would suitable, but not the outputted PNG.</p>

<p>An SVG can straddle both worlds.  It's possible to build an SVG with layers, groups, and transformations, and then simplify it for output. You <em>could</em> edit the optimised version, but it's hardly the preferred format.</p>

<p>I read <a href="https://www.gnu.org/licenses/gpl-3.0.en.html">the GPL</a> (so you don't have to) and right at the start it says:</p>

<blockquote><p>The GNU General Public License is a free, copyleft license for software and <strong>other kinds of works</strong>.</p></blockquote>

<p>(Emphasis added.)</p>

<p>But do they mean that?</p>

<blockquote><p><a href="https://www.gnu.org/licenses/licenses.en.html#OtherWorks"><strong>Licenses for Other Types of Works</strong></a></p>

<p>[…]</p>

<p>We don't take the position that artistic or entertainment works must be free, but if you want to make one free, we recommend the <a href="https://directory.fsf.org/wiki/License:LAL-1.3">Free Art License</a>.</p></blockquote>

<p>But, as delightful as the Free Art License is, the FSF say:</p>

<blockquote><p>Please don't use it for software or documentation, since it is incompatible with the GNU GPL and with the GNU FDL.</p></blockquote>

<h2 id="is-an-svg-software-or-not"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#is-an-svg-software-or-not">Is an SVG software or not?</a></h2>

<p>I think so.</p>

<ul>
<li>It's written in plain text.</li>
<li>It contains definitions, variables, and instructions.</li>
<li>It can contain scripting.</li>
</ul>

<p>That sure looks like software to me!</p>

<p>But, at the same time, the user <em>experiences</em> it as a graphic. An animated GIF, for example, contains a small amount of code-like data to say how long each frame should last for and when to stop running. Is a GIF software? Is the basic circle above software? How much code do you need before something becomes software?</p>

<h2 id="are-svgs-libraries"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#are-svgs-libraries">Are SVGs Libraries?</a></h2>

<p>Licences like the <a href="https://www.gnu.org/licenses/lgpl-3.0.en.html">LGPL</a> and <a href="https://www.mozilla.org/en-US/MPL/2.0/">MPL</a> allow copyleft libraries to be integrated into non-free software.</p>

<p>A proprietary application could treat an SVG as a library by asking the SVG to render the output and then displaying that. A bit of a reach, perhaps?</p>

<h2 id="what-about-embedded-raster-graphics"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#what-about-embedded-raster-graphics">What about embedded raster graphics?</a></h2>

<p>Just to complicate things, an SVG can <em>also</em> contain raster graphics. That is, it is possible to embed a PNG, JPEG, or any other traditional image within an SVG.</p>

<p>In this case, the embedded image <em>can</em> be Creative Commons licenced because <a href="https://wiki.creativecommons.org/wiki/ShareAlike_compatibility:_GPLv3">CC BY-SA is compatible with GPLv3</a>.</p>

<blockquote><p>When someone creates an adaptation of a BY-SA licensed work and includes it in a GPLv3-licensed project, both licenses apply and downstream users must comply with both licenses. However, Section 2(a)(5)(B) of BY-SA 4.0 allows anyone who receives the adapted material downstream to satisfy the conditions of both BY-SA and GPLv3 (i.e. attribution and ShareAlike) <strong>in the manner dictated by the GPLv3</strong>.</p></blockquote>

<p>(Emphasis added.)</p>

<p>The barest of SVGs containing only an embedded image probably wouldn't count as software. But what if you started applying programmatic transformations to them? This SVG embeds an image and uses software to rotate it upside down.</p>

<pre><code class="language-svg">&lt;svg version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="64" height="64"&gt;
  &lt;image x="0" y="0" width="64" height="64"
    transform="rotate(180)"
    href="data:image/png;base64,iVB…" /&gt;
&lt;/svg&gt;
</code></pre>

<p>Is that enough code to count as software?</p>

<h2 id="wisdom-of-the-crowds"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#wisdom-of-the-crowds">Wisdom of the Crowds</a></h2>

<p>I conducted a rigorously accurate public survey. Here are the results:</p>

<blockquote class="social-embed" id="social-embed-116221315864205051" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://mastodon.social/@Edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar" src="data:image/webp;base64,UklGRrwjAABXRUJQVlA4ILAjAACw7gCdASqQAZABPrVQn0qnJSahrzUqkOAWiWcD4i4WNJoXhfuW87B/1H9V/6/73kGOb89X/t4v/t3/VzDP/Xgw9/xYv/Ho5/Gf/XpG8h083//eD//+Dw7XvvGdsxITAoLmLpsMVzAwJpV6jXWVV7XdKTu/+fQ1/TSNstY/4o+XTyfhcKJYQW1lfb/xb1fgxeRIrYL4HzR2hE3L6a1uAyO9QJ4zgyCikbSKNa+pkVRTqjdAAAAIGrnBiUD9SqBQUH6b6GWo08nTslasafhMDGPU/DWoJALMy+UNxgjq70Sv7whByJtT+hX6NjaLIFQqv7mHflQdN5Sj5dPGoQjgonKQ1qwP5y1lKK9M5fbKbQlQdnFeV7EIeUSPL6jXObS1S9HouZ8lfmvixgm0m/9W+zO0/eX5Dyo+cM87q5tuLCchw4HLUfwsxIHZQqmD/+wJQEmIFU4AEuhaeN0QFvZiA4r4+m0BKxRHO0COiMsnrQglFP6Z8xuKZmiiLeq/fStSndjDH8KvJLH/IgjyKMlQ/dbTIiqD60s8O1f4rHdMSx2YwjDMGDoAc23VKCN86VYHkJyvaZIjCcHpgBaqCs+b4iHlfQLUBrEF74yPDPmBgU5WmTAUdXPo6CNtd8h5fgwNSFv816Pm6b3A6vyvgO6EH0hTC8PhfBmWMW5v49cT6SKK8ixRbAZCUkYgcYPt/XJfk84xaTPQmSFy5qM/CH4iHwGyUYs+MPiLU3A7G5WLnWsfKqUlPbW9JFbBYNwGjJQfGnHBtTYFC06CC0Cnusr4+iiXqqAe1haZVFUOwJZFltIvbVJo1xWtLze7lY86u04st1XPSVXQAOXFXKYxaxXt/xVh9ipn5Fx6KhqrwdKZWhAa6jkPgzhZgQ9KW3Nr6yYdVkp8Ev1mg5ggP8m2pgI/0sgkHhvsoVuirvtb0JI03qDvbjiE0xBql/2NHrtfHQU30Pboo5sxoo4tYqtS1+8faErj5ks22jd7F1Mt6fkqybgroqit6PcftGNzcmZSUvtvxZ3+TzpeF2KKG38vyJq3iD2WhX2fOtwosuL4HMMotypyFHG8Aukd0N/DArwj0WcFqTp8WjkFUOH6swf7HTD7nJBSjw3kDhvL+8s4UAJ5/nQrRKSsxtOtqOWv+6VhUlf2oBngzHJOHwihqf+LyNjAwLhzgdQy/kRaQVf14efcT08B6hw+9oE6kPlzJyFjcPsV3xz8iU75UbfNXMKkk5tULdxuzF3z0TV0pFV7LroozEuGP/Co8UMORTHhfs4h4+ofrnyk2KRMnrWPi6l8aXmNY8IB4MQiE0NZYPTcEMLRWDh9LwP0+QmK3TOt51nufWSysoMO9Q298UeNWaiQCJyuM+tc6roDIUDkgNPuY7AeY18iXCSmLXq4DWC5chK7eXj8M6UNMobCq7JcZYplg6eI/1hyexCnm5Afkmo7VOL3z9AgVzwocDAsMTdzmmcsho42jGuv38wHWQcdBHE4axY+Cyj96LFbxfx2OYP9VyTAbDMmgh+0Fdr9qREkKtw+rWELMKr1O2GR4LDi1J1XEJ1xjKsT+1Rsms19rbUsZd081M8f3sgU+OYBuek4Z4orIaU73HiTtHRwcXZMWLuEvvS3OVqscwf84WSFHcog7NknmdY32m+u/+oD6uTiU07DqCbZl1EJ9GfTK9HcFPBnHTbk88/DzOrkx1Hjh80OTbbM/84r3X+Th87YwIUJdC3I02E6p3oQBKaJFvrj3k0oupF9ofq0oC0Da9ufZngUaze+rzNzC5XDbpCy72xoAiErkRM4mcSijJ4hBss2bc3aZNbtB3tc6vfMGsMBljE8a1jxIQZkzzkkwec70AQlMpDIkCRWHAB2/eEfSS4wncndWm2JWW4kskVprCFiJanaENkZqLIld8N7+14SoLu7GM2munYzGcrczCduSfUjblU2YGp7MUK53FfPVjNgw9crqJJD8lj+20UBtReL1HAlznJigmI+w8lAMgq28IhLSHQLo6CzLA4nb/st0XzUcAcozm2H9MBVPLJs1JV579///BpIuY9iqXy6dNpnZFwYUJPyfS6Cc+cZGZqdFhos6Q4Fmh4BekoAS8MNzMMdNarccYyVI1KquSDaI87ejg16UkjTJEXHdCI3AC869Qt7wGYzIsBe5uxjhQyAT/fFdyN/l1oQcsah72V1OpshPS+z+7OIObq20ipkAiBS55Oivp1e88c+f2qfFxMKoG6nRQtR4eYcRldz1rkTJSVXXrbhgw2Iyf5cAkfLyHl0G/iUNrVwleYr8Ey4o/HeA5xDOX2XsP5YuJb8y0BhyJ24EG6BpmBvSDh0aSDVw5EOaJ6bP826BNu/WuqcvWmmu7LueIx72wJMI46nXh56Pc96/twZjJB+LB5+0yvfIzfALLrDcXvaWWBEFnKGCl6wDy62uCQED9W4Re1v2GOwpZIT9P4oLWazyh+mmRb47N11zdcrmwtDdn59dizJvf7WR8t5EEJJNl01RbQReyoKIgG8IxlACwLqPuuDO0XiP52IEVkPI71/S+p88X8DhxFJdXpsmaxoIkRNRRPAAP75WKFLtuRqmwyCWzSLg8JAtz9gwzNapfI7pFF4a+xHGNGGwnmg4iCy65q27arWyPaOqE+EpCdZGsyx6NW7NCFPs2PldbfdpJj/gPq+5o8o3BctBvHPJYsmowcx2DmSPhiDF7m5VxxFs/O/2h4rl2Etw07KHTkfe0UiXYAw/DhvgjJsiNjpXZyalfXZymJwbk+HFIZQhxFrC+uPanSRrHN4cJ3g5AUb/XCLT0wSFvFfMeYLhXllg9we4mRfvHPYhrdeNQLp/31I2Pvl3s2E50f10RCOauuHmE+t+op8P2Y3ipH5LghuyuBUvpbew+bJDXF8o8waJBasje5A0SYTybFgYiB0WsC14XxYBf/77gQPHN3iCESlOMp4oWuBvxATOYdIl51/PnDwtcJ1DeIr27bocy7SyY4DnFfUaST4KJhz63x7Il+gkzSrI+WxbBJEn8C0UKKuNcxF6xXJXh6gc/rcIsOYgIMJeBbjyPBg9MIMNoLVuEc8OCwMNHFHZcldkzwcPjma9fvv1LYDtAhJQfToALG4Q/PYoxG1sj9/ZI7tkBiGF9qNDoaRzOLWZwLv0Z/STsJxsgSHjdN9+A19XprMl5vtteajfFlfZHL5yajpmC3JvNEb/6a7/93ifi2fpPDU7IuE3hC9PrOT/1RMFaysmSF7BstzP0fz7PYBlr3QVQxeOoSFKMOpp1YxQ1nVMjjr+TWGZpH8QDxLUNrx+aCEl5c3toJ9l2WCKmPrNPazkk9RxpwhU68LEkOPC13IQtNSNMQUensJ1tOKmHJ+ZD8Eic7Iubd0zroCyflLwyWFU81LgdfRl2gk6ZCohwzfKh7uQAXwNhJB6Vu7Sh5kaI7XlIUAFGs3mTYN8UxP1NQM5O0Sgh4FEorZz+tDf1M/Pr2czRRkGUzP4fg/sszlMssGUXLaWy+V2Z40InX90FSu9y3Dkeb0oegTXOLnwTufCfH4RNppXU6fgv0lHC1xirgDDKKP9gfEDG4l7RjC1uJSHuttK+GxvS97HN8iV0w+dmRCBVwporYzVfWPeylw6vNKxFy4OnPDN/2BPTSJFit++efe8IQC8cyhudAXo996pa0ArSajmLVckZYcCH8NJdNKzzkMlLb9pCJ3i5DebSyg/zrT5kWA2jWOH9tucK2GBjFdt1IupE5Rm7xeV5luFXB9JCc4mGeDRUWqroTybZN8RLZMwc6XXmBwT5K79umb64syGqHDOpHwC6Po5QCN4r1a/5QKopozySfwqxoPg4JswL3S3tC3uzGQY5u2QAR6ruP2wjSjz4vBR8fMGdvM8tqxEXvcI5D1QFl0P6sMqdp968WWULMT/hCcaGWR17F0hJioHBOFMr/Bu3nQDbS/VCVwjbAL/LE9XOqLhkVeBQrir+CG6+IPRBWNR4hUEALsc5p60hUVh4UnYROfx1SG/dyijUzedq9FMHVJG09TwHoUVbykYfsoWKaG6yZX/LPxNFUantVp974eL34d7lgI+CrQxDREA3UAi4SojzcyYt5hyAtm1neh2HguBiuwO3sK7gDPkjgVH3vmqo5Bp9uVR2u/Yh/T3pSbgpX1wyTFOQUca6brzxiFzLiW1HAw7c0NYnApWxkhu5Zfhm24+tM7i0dslwZZS0vLETS7CcG5OGyH/KzlnChoVvo1698FMJGVRZEBXu0qZZqB/IoAaERoGpYYmPzG+6x14bemjR8H2H5CIAiVzYaLvfL0GgQ8hDh84H5VzjRuJ0OLENdYNxd8jLhbe6x/NJMH3lnMaDxaDgXot6o1fajBrizokAkUex5pzrPKUHhb0esklzcKY6GnMF4FM6BtuAvFukB5n1Hul+vHnsuY/AFUdXh3+rmCFVI2+l2pP+h8wSvUp73psnNzAWM0beTyrXYvD0dXancIlZllxBHA+zr8TEg4ooucX5AEmRcu3OOVuruTkL/+M7qczxE8W8RYRNOxTiEwlGX62c4D6AxjyYKbyt97lWw/e7jPS1xhXjydYPMvz6mL49HIMPe37fw9TblNNhiLKrHDqYi06Tgvg7MGTHIMRBK+WTEEKEfhfkyJy/rS5dxxJgZSD11EQWnoy7OYDgz/TPfPDBUWqvfHOfaCR+KuxslZLxUBejg63pzNfINWQXFrm+PeHbAbWAyCaitmm5SGouCEm6UWYqUz2XG7MsQhdKfFpywhaQmTUeHjbaW5v6dbMQUV/QQu+PM98gPoADBxik5ReFJ98g+POZm2/Aao2DF0ucjhOrLFUblV/Rfe9klpq24G9wDlbuyR1sxfWmblZLuvGP362MUZ2Vu4qfYV80HCI5RGh+DkEzzcl0vaJgliqm0IRVJfYpOSKa2kzN0h22KwtJ0bO2Yb5/2tlMkUSXW6yw5s1/62x3HZdAVM7/e32jWrzW1zNJLtRTDcoAIAowr//OeK5Ambucioh/tx0H4UIos4MgzV0nbv8Mq/B5Un7g1Z8oErrgbhVivyzznq4z8a80vwbvBjkoZrrmnujPhYUCyAUHEs8vU1/UUMygGkD3Y6RrFXBbNfVCh6PQD90YnVUoOfpgicNgG7j//mi+UsOOGwl7rFdK359dPs/vcgz0EPGt0cNG+0TjVd0atvrPs5zzlyxN8w45LYm/gsTXEGePasE7fU28tj2mMtU7ZY+H/KkJ3KKbNk7/pVdOP0Kkl2s6NRoPmgcqYCZMhAt+tDDzHOeHwsJQGxlgdGK4PB5j7kgbhPFSqkHJ5sOcdRZ42TeGy20fzzL4+luBIBZP7dqJlGXNsIB8iIC78t6N6O4sH8oEv1/1FNcXLTlVkx+o4QRUegus/mhTt6hfb4e8R3KAACaJfeJ/V8l82XZqiE/W4HxpLmPLEirnRIKKXX5uAexpQqK6YDMbDFVkpe5QEfA5MbFZv7+24oPiMaBKWHFR5sFu5UO01Le9AxS5HZkB2d3o7nqyZvNKZb7rdiNHU6s2P6haTSQWXnc8Ph/Y6NjQCToX7Abnh8U8pHwzs70RYlOC/w9WVDtlgk8cpPO3qW4NqYV5WY5HnQb3CAB2ayiaemO78XTwvFFxYvRWD2xHjbOUuBmcQkTvlSk1bLMTx/GCslUEFc+81rfZR1pJuCg2WYm6A6El+Rd/ns7SUVgiEueS4yRzBKS8pnFUXCR/1CviXKdrTEF5rzSlEfYGQlaAk9skZfbseulETryP+ahMbjqqm/NKUZC0Mvi0l6vT/l4i0lAUGexTlVc6QijydpARMADJX4KMlHtETIPmYn+ckLgiBWCwklmbELBuSjGeveYSKowF0/aJMkIILGNLR78z7GZpPkwL/uO4BU055RSAxeL0royU1NTFIM7Sr+soYwPjeCl/cgnxCgmOL4MVbgZ7fTthrpUvyZMabpyKqPKJEKxibug/inq2rZt9TFjlr1U9GWWRFNb84U2cSfKImPwddnhRPtjbpJx96O9S2PC0MEh0fZkX+Nzb6+e43UztlijpkMPZP5EHtLh+rlrg4h2PvxwkPPE4ik3LSWRQU7neeRh3tIoisC84EH4ksvCU7iNa1pM+BijNLRMGN+sCiDh9SJfYjcvG4fnhJapJgrgai+nVuvT8PVZoVR0Q3JWxoJR99Y1uXPcx7pCRdSUALrT3qgzN1OR3KUQFdvsq8kmwizJJnZE+dWterR3EkBmy0LwqoyHvMzpA+wl6dmywhhcNZza2ib6nQjh4tid1jY7jPesRLBrqSZmlNhgpKhIpMQvqd9AWfNyY8QAVEwU+ER59BblFIJhAgjhHeXdV5BSe6hy/TbbGk9oqCdELINS4OtGyi8fbwF8zQStLm9SBi+h7qum30cLy0d0IQqZ5WtACLR1+pTZNC2nKP+BsjZdt3NMX89XACiOObbZa1XR+3qMJDaUpZs68qUdGbCOoo4tApyE0SgkZ+HrNtRoqcNDL7JulTv8+QALmyzbomrIj3tQJ7iU3Dn3ObLtws6IRn6e2fw56I6NpFuRWpzkkSQMDqlNsvYvaTukSaFOqciQcyXeaPN2stXjT9vFUHES+T1mIAAMB0qbFGJWhY+754s1ee0gsXHtDKrzd5ncjJvmjiRVUSXpBVzbC/RK/a7m3vL07Cd9ny0ZwfcZUo/JLotRVj4lE4faf6RfLxez0ca1cONqupRDPk3aDhM+sayfsWPkCZWYSxl43qbn6PKtd9vcRl0PNSTddmnk9vrOfMMa4p0qCGk4Dl6GRfk5Z54+K2T1nGxAiQ/i3bQ2j3qG/3jNkG/OoLo9aOoud2RDe9+GMry95nCyHoR4DMvsIZijx13oadJqx37EJjHmF0DbCtCGNEhv4ATFLAkdiI0q1Hbrt0uJo8OfpApl8vV1Rtlk+/FtcGq6V2d4iENL1rxydXA2RqndL2dCjky9uw76ZIY5WYSH+6rLNSs2JCzyQ657gG6xJHmTGKhp++jKdwqjDsh/BcqlGyMADivWs77SIfsWVxpr3RoGPZlIIFfd+Pbr+ZnfYlUzaT/bhj27Bsy/0sW9OxvkqXrDz1SmE9uXdUP1qG3eOAsMGS7Yo+UXhx85Rm7i7FW3PPPRAVy5XWYA4L9eJ3W00gQjrVAy3KVLcLsUt71X0ZLQQgInJg+5W3/GCRf94uzPvemMhwfb9iqxH417YARqwdg6VcYglyEABp5+/kMmNoG+KhpoS3180ZCnBXCqkg/jTMsZzB2jW8eXCZuWinOPdNAilESOJx5WHsDrQwkR8VoQltZGOiku2XCQi3LzX7GsZFxYXhYUEZT8nVEKObScHT8axLKTj94qD0BNmD9Qt2TbOxgdKzY7I9YU3aIPSCn3vXlpWn9kOdEmdufsAgpw6dz2ysM/IPG+Lejxzp+VV7AHWVS558uQonMH8Gnuu2uyY3Pj+Vi4zbLubdcYrrDj5NPvyoKuC8VbNPywOfWMuVKG4jr3VHFJsO7Ez7cSydsOyUlU6p/dVtvKa5HWc3b/QEA9FO/heIluDLiELzfDfECxIoNrC4w/Kw0Ku4jDre9l5VOiE8MvxMAA6BOgGIk1GyujH/UuKbZ/ACZlIAShaw3MhvbAylQ8juIl90WwR54aJsb6KY1j5eNXqApiIZ+Zy71Ou9AI/SCGC/20mGDBHflGLQWB16F9+/G6O45eQwiXjKnCzfEsSFhOlNTeZKCFij4tNmxlyqjAQFr818xPi39XfY7fk75w5eRnvX6NUMuF8gsvyg+WF0mb5Btry8Pa99FgJictzk01fwEhO8Tjf0PmmqCRv16c3ctxMRJKLBAyM3JW33Xn6597eX3M8wuiWKViboAH1sVirbIeFKIbQmm7Ak8lr6dkeah1nfB7WZh8hL36N3M+qO9ML67crAkVPGkBrkX5qMq6LDu2cVovKnhu9cm8lRS6sFv9NBxP1RZAUU2u//R8sAxlq8CS4P/nxmlDBRsZsqrBxeIKN8VZO7SHtDVxX4MWr4nq74DRG04SqidZJvuysQCBuwLmY5QNzh4qY94jvEIV2/c0aJJ/5UOOSXADDS+CH5ihW19TYXnrwD5LT3rYajQ1LwpsEWlC5yoBCfpgAlGxw/WrmKjtrug+x8pUNWbz8fkAZkz9jn7N3GgrLuJosrYx/EvJvHZ/LShpZkRQZi7DdKQEoeUknxHT0V++MS6tQ+rO4hlT5/PMGk6I5XKojWdP04FPTKrwWuBcSsUce1kkaSUb3ooBdnrTcD9vONhD3L/+xDyGVW2ChtyS8dr9fFwASWgnkIcO3DnHKaFYWAUUFKeks87lfHH7Lrkvp3edtFQcvkB6L76QJ4GhwDuSIFPnPRW0PJUCoZjEtupnQKm2U9K3x5l1D0NU/VQsEox3bmpJtNZtKJHcGkht+TD6B0HfCBOWOqgwvGzF43csmWy5wjlh/xUHu1lOxv60/5aZ1t23xgYix0P1Ke76qj4MBjjS9laGARgsvCdDFWn0WnTZJuneTkqNgZgQI0Q4sfqVSW0VOCUsv5jPyGSez7VowieZ4EUoKNPT6dkTafZjYvLZKHNI37ysB0ZKapiyPqoAgAIUiWvkIsiEh7OXbQQqsQIqRj9otMw6YNm6uXbLTUL27Ljze89TNb3wm1CkkqiHi2DWAiOsFLhZFO9SFFJmnVG2pFIt9dIwDkOJbeuMEf+6b4lBdC7r9RbGkByAQ89Ms+FgpZoGK+KjqoctTm9PK2NrIZhNipzgo1EbWxN1dfSG/jfflKGkGNm8GgCl7MQHB+K+LcoZFSXTW5/jI9KD1IeZb5+lSAK+J9ckQ9Ku+8PsqM8itaHTmFMHVlKUmveSWq8cA1H+9TSxxASKe9drOq5ETe4CZPBo6fKvD3hcNmXEpq4CwMbepvhy+SzW2qmHK0cVn8mfnWLCZwrmtCqeYaE9R4S4xK3IXDCtx39nEQQfuYm0z+JJNwoKKCLHoatUinEV6XlablFS2pSWKLguL1KgHh9XMExBrERRRkEtGm+MAtXupIOOrhaNHY7/pYAOitkTFaasuddD4tDSfkabI4iij5O/wV4YSr4qFYXbaOhyA0pXXcQrx8FtKYd+hGbN0lWY0Dk0edqEHaE8PgnPN3DZbk+j3C27dvhSdAJ7QAOhMXvh7SM+l+WV6bRWtBLj/cfY3Ifl5sMBUnC3sDmq+B2mZzi9FXSc5le9OS238aHU7vb/Q2RaQkNRfd3XQtMlTFaldfNR8SvVQcAkFo4IXepDql/XlvImPFhVuefSPvYP/masY9iVdzP8J37Z+wZD9a9m3THe/1zyixsfzjbOZsSOrrCZdo9QtJWlHK2f7HnLFvlnS8555sWL6ETKJPzRE9KYisFbMJWXj8YCIhGOVnLgOlGCCNU9KkEjVXYIhkz1V1gtuV8Q2u5eNzc5Q+zXqFoFtYOg9dpAz0uOwaQaw0i8nR90gR958nrIRUa1bQsUZf0WLzBOQeRuJ+5ywR1t9Xbnlq4xhNLgT+5zrcUV5FtFFf54oCoK6fs5dyrwLNKWk6zTmyE4PARGr7Cwl/Lw8ou8wBuwyZVEcwJEClwgb+TgNu1cvIJSCCLFKCT3WWybZD469WZvopQiVWwc2rCO0OxKpFM/sRQAHhiTAFRRf+gjIm3EoqgVgIJ5jUfgaIcyhKgGJltWadPIScDQhTpceEHQp/NwHYR6UKblIzFP45Q0HCXiFPyJmIQ4ofsbWO5WeYclDVGOEtvuD+ZqK3887LYJnRadY/bZ3MFCr132lNzJ1hlECTK9gKdk7MX0v9BKX9pQvQiefREAUj98A5w1SxEe7nN6x3RJ6T/OZISmsW5qQ67crIYsWJCHNyf6Ldfz4mJLsWd/4c1kKW+StiQrECF8Nao9/131NTh2CpkVVukqK1/4yHvcI04XSyc6pVld+HZ/qaOgt92PtPM/fEDtiVP2j+BWDToeJ2JjoqBbOdL/PF3MPl/TrSINyJj5BHCZI2wJ6qdlyLCWDyuL38DGzQ2QVIOy+OvL5f/1eij1a3f8oqn64oFozVmPmIifWSc8pWwvjucm5o1aR/Q0HzD0aX3HfqPwU9HvvpiTdZTsQoIbw37Doxf0uExtdUPiPBIDzV7XiygZWOCwfuVCdJpJHcxpq7wEJ5/v7I1SrLxY3qdBHFqPbX5aPV5t8vu/auDKKreOMhceKZ+kqi8sLa3xngTAWe9rSkt3+UcI4+yH59TrFgO77g1fZVLYWLBCeJijxq8IRCFyaAtOD7M4PKo4rBbZh00B5AmB/ImNAZN70agd9hpR05iPzDRtOP1JiHtYaNWgbq7//7WVUFtP/HeixNRz/ukS2nmmRV0omEbxFGzAljhA33MTmxSmDzSbBiSnDgLTeT9gKCcxT4ljxA7XYI0TjvymtWySgYxk4Alozm5So6F/zAEQZcuFdO3qQdmQMdy8KjvDzWOi2wZjgz83jXV4wlIS/LAnbAfyEkGhuLDYKtL/0GvKyzlKrc2jtCVdqdpNECiVK+3Wh/pUedbEuaCO0M9pEsYTN3iIfRCEfZCvvZp+R8+01EhRoZUEVCC0iVk8YjkKV2S3n7iGJObrauJX5jKg93AMKw7UeBgx57N3FrkRTDtknuh4hDDZ11tVjImVN9GH7WvqrVKxz7K2B866c3iE3BrmHGxnTiswrKb/+KlEGgCb2n4HICJYoOCMwkzobFVDGmT0yfR+IdVYt6r06VsualtHS5nz5RaprDr8h+kR8GVJDPOVgOKPRD/6iMlj1vYu2fw8uZArbPl3yu9i/cK9zNBoYCONaKkb8P1S+hXjN1n5pv60Um0KAwEOTaC0z3k4o0FccaDGi3HmMT4dGn2RIWEvfTHoKSupc8mFRjzedWTXGdeS5K28AKdbuhflksPfVzULCJe3XGT2XmSYdxlouQa1bkat2HCHbr6AaVqikWuZ79rk75OG+n2TH1k/7DmCNMIPwBJ3Avz6O0XHPvIkQL93S52D11HfIPWLaB9mPllQjL72wmNOcpLjKqF1KRP4z0q3vbMagWxk1Pe5pa4IAFg2Sy0MoZHW3Cr7TPOs8qZOxWQvA3wzpSXp1i4noF5z/p4HCxrI4YcJeZYKPJ7Gxx8osYKq/VrpuqsHoVyDlELJ8wELUYdy33g5EW9UPtrOf1OTtQAmnUrfrhraHl1uGrUMxTIx3t4r/5RLc+5jdjYJFVnRZ0KpYynaovBGsWMZw66V++EQYbWiIjxj25nYqZO9Xh08Qud4NXthUGSqEYP8S7XL7aEFpYK3e16614wGzuTij5YXPcXF34hcqV2BBQFiLry8CUvlwQPzjPjNYkOCv7UoYJgpKEI4XVTwzzMMbekjstJWeZ9qEDYLhcUpsG5N7XSnU8fV53hXx5gi0bXE95qN51EeDQo9Ri+PSOxWONBwanpzHUPGhKFBDvLYbVcArPW/ZPwn4FV28IFXG1UmZMhvdNr09mvfIDCww95vaEwzMedpndeFIgjltRtB/OEJlYjhsmk7X3pwUm8QD3FYbO87QoByKaMRfY/x98EIFWtsrIQp0hsd2gSzoalLao93KL5UzGG5aU9TTlvEi0Ov0VYRMVqAEJd6MmycBa2rAdhZ4QG3w43UjcwJZA6dd51fvyPqWLOMB/vqO1fJOQnYr7yWwX9ukyTMlwTyHEzb0HcOnNwZvpTj7HiDH543jdBeJcWox5cDnGm/Ze8KVWkfqlmoNi3nFZAmBlhLjN4FptlelgvAsTujYnJ42B8SG/vX5XphU0JSE7HPmoIxfu57h0J18SRCCNoIXBJVobFStlvXpjSnE6E3REez3B5dBkMts/JgTFXwyQyQMAQKW2qU66lKwB4HEqIxRKM0wNB0fO76IvkdpAQYNnLypj0c7ySTqZ1FuEzAasY1xH7rexfhwo3sWF/FsfgSiTlUcmufGyw3ttL7gXSS2EZaoSljVKY2iOFRuKk/WQ7OTk9Ll7kWHSYPXhNGnQguaDXMX9laNrx2GWcMerTYnrTxzvf7PV2sfSrqbmcHj2I8ru0hCPUmYbthkOMDU165qiuUVXmuZ/qUK8CLXNZ2i5T4zlc+aG4ANcpGVkMNXsmat0easE/FkkRBIB5aEALZUSu2SoMT546cUsr1p0bF5bu006y/zZsndMedAUoSWyt9Jy/8YCungFgq6IYCOKgTz9X29vhFec3KRq63dvbxd9shSqc0ZtqHUZ/60bm9n5rbIaeGxgtmycxuk3OVfSpRWBv2lgVxoDYIAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">@Edent@mastodon.social</p>Terence Eden</div></a><img class="social-embed-logo" alt="Mastodon" src="data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' aria-label='Mastodon' role='img' viewBox='0 0 512 512' fill='%23fff'%3E%3Cpath d='m0 0H512V512H0'/%3E%3ClinearGradient id='a' y2='1'%3E%3Cstop offset='0' stop-color='%236364ff'/%3E%3Cstop offset='1' stop-color='%23563acc'/%3E%3C/linearGradient%3E%3Cpath fill='url(%23a)' d='M317 381q-124 28-123-39 69 15 149 2 67-13 72-80 3-101-3-116-19-49-72-58-98-10-162 0-56 10-75 58-12 31-3 147 3 32 9 53 13 46 70 69 83 23 138-9'/%3E%3Cpath d='M360 293h-36v-93q-1-26-29-23-20 3-20 34v47h-36v-47q0-31-20-34-30-3-30 28v88h-36v-91q1-51 44-60 33-5 51 21l9 15 9-15q16-26 51-21 43 9 43 60'/%3E%3C/svg%3E"></header><section class="social-embed-text" itemprop="articleBody"><p>An SVG is an image.<br>It is also executable code.</p><p>If you wished to make an SVG open, would you choose a Creative Commons licence or an Open Software licence?</p><div class="social-embed-media-grid"></div><hr class="social-embed-hr"><label for="poll_0">Obviously CC licence, because…: (62)</label><br><meter class="social-embed-meter" id="poll_0" min="0" max="100" low="33" high="66" value="59.0">62</meter><br><label for="poll_1">Duh! It needs an OSI licence, because…: (5)</label><br><meter class="social-embed-meter" id="poll_1" min="0" max="100" low="33" high="66" value="4.8">5</meter><br><label for="poll_2">You're both wrong, it should be…: (3)</label><br><meter class="social-embed-meter" id="poll_2" min="0" max="100" low="33" high="66" value="2.9">3</meter><br><label for="poll_3">Either is fine.: (35)</label><br><meter class="social-embed-meter" id="poll_3" min="0" max="100" low="33" high="66" value="33.3">35</meter><br></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://mastodon.social/@Edent/116221315864205051"><span aria-label="6 likes" class="social-embed-meta">❤️ 6</span><span aria-label="9 replies" class="social-embed-meta">💬 9</span><span aria-label="14 reposts" class="social-embed-meta">🔁 14</span><time datetime="2026-03-13T10:09:03.343Z" itemprop="datePublished">10:09 - Fri 13 March 2026</time></a></footer></blockquote>

<!--
<blockquote class="mastodon-embed" data-embed-url="https://mastodon.social/@Edent/116221315864205051/embed" style="background: #FCF8FF; border-radius: 8px; border: 1px solid #C9C4DA; margin: 0; max-width: 540px; min-width: 270px; overflow: hidden; padding: 0;"> <a href="https://mastodon.social/@Edent/116221315864205051" target="_blank" style="align-items: center; color: #1C1A25; display: flex; flex-direction: column; font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Oxygen, Ubuntu, Cantarell, 'Fira Sans', 'Droid Sans', 'Helvetica Neue', Roboto, sans-serif; font-size: 14px; justify-content: center; letter-spacing: 0.25px; line-height: 20px; padding: 24px; text-decoration: none;"> <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="32" height="32" viewBox="0 0 79 75"><path d="M63 45.3v-20c0-4.1-1-7.3-3.2-9.7-2.1-2.4-5-3.7-8.5-3.7-4.1 0-7.2 1.6-9.3 4.7l-2 3.3-2-3.3c-2-3.1-5.1-4.7-9.2-4.7-3.5 0-6.4 1.3-8.6 3.7-2.1 2.4-3.1 5.6-3.1 9.7v20h8V25.9c0-4.1 1.7-6.2 5.2-6.2 3.8 0 5.8 2.5 5.8 7.4V37.7H44V27.1c0-4.9 1.9-7.4 5.8-7.4 3.5 0 5.2 2.1 5.2 6.2V45.3h8ZM74.7 16.6c.6 6 .1 15.7.1 17.3 0 .5-.1 4.8-.1 5.3-.7 11.5-8 16-15.6 17.5-.1 0-.2 0-.3 0-4.9 1-10 1.2-14.9 1.4-1.2 0-2.4 0-3.6 0-4.8 0-9.7-.6-14.4-1.7-.1 0-.1 0-.1 0s-.1 0-.1 0 0 .1 0 .1 0 0 0 0c.1 1.6.4 3.1 1 4.5.6 1.7 2.9 5.7 11.4 5.7 5 0 9.9-.6 14.8-1.7 0 0 0 0 0 0 .1 0 .1 0 .1 0 0 .1 0 .1 0 .1.1 0 .1 0 .1.1v5.6s0 .1-.1.1c0 0 0 0 0 .1-1.6 1.1-3.7 1.7-5.6 2.3-.8.3-1.6.5-2.4.7-7.5 1.7-15.4 1.3-22.7-1.2-6.8-2.4-13.8-8.2-15.5-15.2-.9-3.8-1.6-7.6-1.9-11.5-.6-5.8-.6-11.7-.8-17.5C3.9 24.5 4 20 4.9 16 6.7 7.9 14.1 2.2 22.3 1c1.4-.2 4.1-1 16.5-1h.1C51.4 0 56.7.8 58.1 1c8.4 1.2 15.5 7.5 16.6 15.6Z" fill="currentColor"/></svg> <div style="color: #787588; margin-top: 16px;">Post by @Edent@mastodon.social</div> <div style="font-weight: 500;">View on Mastodon</div> </a> </blockquote> <script data-allowed-prefixes="https://mastodon.social/" async src="https://mastodon.social/embed.js"></script>
-->

<h2 id="final-thoughts"><a href="https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/#final-thoughts">Final Thoughts</a></h2>

<p>Personally, I think SVGs <em>are</em> software. I understand the argument that they're suitable for Creative Commons, but I disagree with it. Even the simplest SVG is distributed in a way that its contents are <em>executed</em> by the computer.</p>

<p>While SVGs may be minified and stripped of comments, they still retain the essence of source code. I suppose you could <em>try</em> to obfuscate them, or package them up in a quasi-binary form, but I maintain the source is still viewable and editable.</p>

<p>If you choose to use a Creative Commons Share-Alike licence, it probably won't cause any harm. But given CC's reluctance to endorse its use on software, it probably makes sense to use a copyleft source-code licence.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=68741&amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/06/which-copyleft-licence-is-suitable-for-an-svg/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The cost of running OpenBenches.org]]></title>
		<link>https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/</link>
					<comments>https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 03 Feb 2026 12:34:16 +0000</pubDate>
		<category><![CDATA[fosdem]]></category><category><![CDATA[foss]]></category><category><![CDATA[money]]></category><category><![CDATA[OpenBenches]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=67279</guid>

					<description><![CDATA[After my recent presentation at FOSDEM, someone asked a pretty reasonable question. What does it cost to run OpenBenches?  It is, thankfully, surprisingly cheap! In part, that&#039;s because it is a relatively simple tech stack - PHP, MySQL, a couple of API calls to external services. It was designed to be as low cost while also being useful. Here&#039;s the breakdown:  Hosting - £171 per year  Our biggest …]]></description>
										<content:encoded><![CDATA[<p>After my recent presentation at FOSDEM, someone asked a pretty reasonable question. What does it cost to run <a href="https://openbenches.org/">OpenBenches</a>?</p>

<p>It is, thankfully, surprisingly cheap! In part, that's because it is a relatively simple tech stack - PHP, MySQL, a couple of API calls to external services. It was designed to be as low cost while also being useful. Here's the breakdown:</p>

<h2 id="hosting-171-per-year"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#hosting-171-per-year">Hosting - £171 per year</a></h2>

<p>Our biggest expense but, I think, our most reasonable. <a href="https://krystal.io/hosting">Krystal</a> charges around £342 for a 2 year contract. That includes unlimited bandwidth and storage, as well as the domain name.  We have nearly 400GB of photos and bot scraping means we can use over 900GB of bandwidth per month - so Krystal give us a rather good deal!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2026/02/April-Bandwidth.webp" alt="Graph showing sudden spikes in data use as our bandwidth is consumed by bots." width="930" height="355" class="aligncenter size-full wp-image-67531">

<p>Use <a href="https://www.awin1.com/cread.php?s=3990878&amp;v=117205&amp;q=524267&amp;r=1062999">this affiliate link and code <code>EDENT</code></a> to get a small discount.</p>

<h2 id="stadia-maps-us20-month"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#stadia-maps-us20-month">Stadia Maps - US$20 / month</a></h2>

<p>Geocoding is surprisingly hard to do locally. We need to transform latitude and longitude into addresses, and then back again. <a href="https://stadiamaps.com/">Stadia Maps</a> cost about the same as our hosting! What's rather annoying is that we only use about half the API calls in our plan. We need to find a cheaper solution.</p>

<h2 id="mapping-free"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#mapping-free">Mapping - Free!</a></h2>

<p>When we used Stadia for drawing maps, we regularly ran over our quota. So we switched to <a href="https://openfreemap.org/">OpenFreeMap</a> which produces gorgeous interactive maps.</p>

<p>The service has been rock solid and very responsive to bugs on GitHub.</p>

<h2 id="logo-us5"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#logo-us5">Logo - US$5</a></h2>

<p>I'm not a good designer, so we bought a <a href="https://thenounproject.com/icon/park-923893/">logo from The Noun Project</a> and then coloured it in. Bargain for a fiver!</p>

<h2 id="image-cdn-free"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#image-cdn-free">Image CDN - Free!</a></h2>

<p>Although we have unlimited bandwidth with Krystal, we're only located in one region - the UK. <a href="https://images.weserv.nl/">WeServ</a>. It's also pointless serving full resolution images to small screens.</p>

<p>So WeServ offers free image resizing and global CDNs. Personally, I'm not a fan of CloudFlare (their CDN partner) so I'm looking to change provider.</p>

<h2 id="ocr-free"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#ocr-free">OCR - Free!</a></h2>

<p>People don't want to type in the inscription of the photo, so we use <a href="https://cloud.google.com/vision/docs/ocr">Google Cloud Vision</a>.</p>

<p>We send less than 1,000 requests per month - <a href="https://cloud.google.com/vision/pricing">so we're inside their free tier</a>. If we get more popular, that'll get more expensive. But I don't know of a local-first OCR which is as good as Google's. Sadly, Tesseract is rubbish for extracting text from photos.</p>

<h2 id="authentication-free"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#authentication-free">Authentication - Free!</a></h2>

<p>We don't want to store anyone's passwords. The <a href="https://auth0.com/pricing">free tier of Auth0</a> allows us to do social login for up to 25,000 monthly users. Which is more than enough for us.</p>

<p>Sadly, Auth0 don't support the Fediverse, <a href="https://shkspr.mobi/blog/2024/12/creating-a-generic-log-in-with-mastodon-service/">so I had to build my own "Log-in with Mastodon" service</a>.</p>

<p>As much as we'd like to run social login locally, we simply don't want to be responsible for securing users' details &amp; API keys.</p>

<h2 id="software-free"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#software-free">Software - Free!</a></h2>

<p>As per <a href="https://www.openbenches.org/colophon">the OpenBenches colophon</a> we use a lot of cool FOSS. Small JS libraries, big PHP frameworks, and everything in between.</p>

<h2 id="income"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#income">Income</a></h2>

<p>Thanks to <a href="https://github.com/sponsors/openbenches/">GitHub Sponsors</a> we make a whopping US$3 per month!</p>

<p>Similarly, our <a href="https://opencollective.com/openbenches">OpenCollective Sponsors</a> brings in about £3 per month.</p>

<p>Merchandising! You can <a href="https://openbenches.myspreadshop.co.uk/all">buy OpenBenches branded t-shirts, mugs, and hats</a>. That nets us about £20 per year</p>

<p>Call it roughly £80 income. OK, it is better than nothing - but doesn't even cover a quarter of our costs. Sometimes people give us a higher donation privately, which is also very welcome. These people are <a href="https://github.com/openbenches/openbenches.org?tab=readme-ov-file#supporters">listed on our README</a>.</p>

<h2 id="total"><a href="https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/#total">Total</a></h2>

<p>On the assumption that our time is worthless (ha!) and that we only rarely go over our providers' API limits, and we get in <em>some</em> revenue, the cost of running OpenBenches is less than £300 per year.</p>

<p>That's not bad for a fun little hobby. People certainly spend more than that on Funkopops, vaping, and mechanical keyboards!</p>

<p>Nevertheless, I'm always slightly worried that we'll go viral and have an unexpectedly high bill from our API providers.</p>

<p>I would love to be able to hire a proper designer to make the site look a bit nicer. I also want to be able to buy a modern iPhone so that I can test it in the latest Safari.</p>

<p>If you have any suggestions for cutting costs, or non-scummy ways to help us raise funds, please drop a comment below.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=67279&amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2026/02/the-cost-of-running-openbenches-org/feed/</wfw:commentRss>
			<slash:comments>7</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[I'm never going back to Matrix]]></title>
		<link>https://shkspr.mobi/blog/2025/07/im-never-going-back-to-matrix/</link>
					<comments>https://shkspr.mobi/blog/2025/07/im-never-going-back-to-matrix/#comments</comments>
				<dc:creator><![CDATA[Terence Eden]]></dc:creator>
		<pubDate>Tue, 29 Jul 2025 11:34:22 +0000</pubDate>
		<category><![CDATA[foss]]></category><category><![CDATA[Matrix]]></category><category><![CDATA[Open Source]]></category><category><![CDATA[rant]]></category>		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=62087</guid>

					<description><![CDATA[I should love Matrix. It is a decentralised, privacy preserving, multi-platform chat tool. Goodbye Slack and your ridiculous free limits. Adiós Discord and your weird gamification. Suck it IRC with your obscure syntax and faint stench of BO. WhatsApp and Telegram can stick their heads in a bucket of lukewarm sick and sing sea shanties! Let&#039;s join the future!  The problem is - Matrix is shit. Not …]]></description>
										<content:encoded><![CDATA[<p>I should love Matrix. It is a decentralised, privacy preserving, multi-platform chat tool. Goodbye Slack and your ridiculous free limits. Adiós Discord and your weird gamification. Suck it IRC with your obscure syntax and faint stench of BO. WhatsApp and Telegram can stick their heads in a bucket of lukewarm sick and sing sea shanties! Let's join the future!</p>

<p>The problem is - Matrix is shit. Not just on a protocol level, but on an organisational level as well.</p>

<p>I joined Matrix at FOSDEM - the largest gathering of open source nerds in Europe. We were all encouraged to use it - every talk had its own channel, all the official comms came from there, I was even invited to a top-secret private channel for speakers. This was going to be epic! Viva la rèvölūçïón, right? Wrong.</p>

<p>It was dead. Even among the most seasoned geeks on the planet, most people preferred to use other services like Signal, Telegram, and Slack. Why? Because those other tools <em>actually</em> work.</p>

<p>Matrix has two official Android apps - one of which is old and unsupported, the other is new and doesn't work with many of the basic chat features.</p>

<p>I want to be absolutely clear about this - the company behind Matrix have put out an app which doesn't work with their own product!  Lest you think I'm exaggerating, here's a typical view of the official FOSDEM speaker room, using the official Matrix app:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/07/Matrix-Unsupported-event.webp" alt="A list of errors saying &quot;Unsupported Event&quot;." width="504" height="1122" class="aligncenter size-full wp-image-62099">

<p>It was <strong>embarrassing</strong>. People would pipe up in channels and say "this doesn't work" only to be told they were using the wrong app and should go back to the one marked unsupported. So they left, never to return. Even in the large talks, where people were encouraged to use the official Matrix chat, most of the conversation happened on other platforms. It was just too hard to use Matrix.</p>

<p>A few thousands geeks, all used to recompiling their own kernels and participating in the Fediverse, and most thought that Matrix was too much of a faff.</p>

<p>After FOSDEM, I kept the Matrix app on my phone. Occasionally receiving a ping from some long-forgotten channel.</p>

<p>And then, one day, I got hit with the most vile spam. A dozen notifications suddenly appeared on my phone with abuse, torture, and transphobic slurs in them.</p>

<p><a href="https://mastodon.social/@Edent/114539443582952334">You can view the screenshot</a> - but, fair warning, it is grim.</p>

<p>This shouldn't be possible. It doesn't take an expensive team of moderators to add some keyword monitoring. It doesn't take a massive AI model to work out that a stranger shouldn't be able to bombard users with multiple notifications. You don't have to sacrifice your dream of a decentralised future - you just need to care about your users.</p>

<p>This stuff is <em>basic</em>.</p>

<p>I moaned about it on Mastdon and was surprised to receive a private reply from the <em>official</em> Matrix account.</p>

<blockquote><p>Please do not encourage the spammer by giving them a platform and propagating their spam; you may want to consider deleting your post.</p></blockquote>

<p>This is classic victim blaming. It is my fault for giving the spammer attention. I am the one who needs to take responsibility and delete the evidence. I shouldn't warn people that Matrix is actively dangerous to use.</p>

<p>Bullshit.</p>

<p>Here's what I <em>expected</em> them to say:</p>

<blockquote><p>"We're sorry you had such a bad experience on Matrix. Rest assured we're working hard to block these spammers - here's a link to show what we're doing. You can protect your account further by doing x, y and z. Once again, sorry and we hope we can win back your trust."</p></blockquote>

<p>I'm not saying scrappy open source projects have to hire anodyne corporate communications specialists; they just need to have a <em>little</em> empathy.</p>

<p>But, no, just constant whining about how it isn't their fault and how <strong>I</strong> am the one who needs to change my behaviour.</p>

<p>This is pretty typical behaviour from the team. Find any post complaining about some aspect of Matrix and you'll see their instant woe-is-me replies.</p>

<p>So I deleted the app. I would have liked to have nuked my account <a href="https://github.com/matrix-org/synapse/issues/1941">but apparently that's not possible</a>.</p>

<p>I'm not the only one who feels like this. <a href="https://マリウス.com/giving-up-on-element-and-matrixorg/">Here's an epic post by Marius</a>, which concludes:</p>

<blockquote><p>Between the slow performance, the increasing amount of spam, the miserable web client, and the unfinished state of Element X, the Matrix.org network is not something I am willing to continue to recommend, especially to non-technical users. Normal people are simply tolerating it to communicate with idealistic nerds like myself who insist(ed) on using it.</p></blockquote>

<p>Matrix just isn't focussed on users. I'm not talking about user-experience tweaks like which shade of cornflower blue to use - I mean basic user needs like apps that work and a way to combat spam.</p>

<p>There's a <a href="https://telegra.ph/why-not-matrix-08-07">long list of ways the protocol contributes to a poor user experience</a>. It almost seems designed without regard for how it will actually be used.</p>

<p>While the protocol may be conceptually interesting and their intentions noble, I'm not prepared to suffer abuse in the name of technical purity.</p>

<p>Open Source and Open Standards nerds like me ought to know by now that the protocol is the <em>least</em> compelling thing about a service.  Who cares if your home is built using only Stallman-blessed tools, when the walls are full of rats?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=62087&amp;HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/07/im-never-going-back-to-matrix/feed/</wfw:commentRss>
			<slash:comments>58</slash:comments>
		
		
			</item>
	</channel>
</rss>
