Jekyll2021-12-08T16:41:52+00:00/feed.xmlTaiKedzMusings of a foodie ops engineerWhy the delay in CentOS releases?2019-09-20T09:31:42+00:002019-09-20T09:31:42+00:00/2019/09/20/Why_the_delay_in_CentOS_releases_<p>CentOS, as most who would use it should know, is a binary-compatible re-creation of Red Hat Enterprise Linux. In theory, it is the same, minus trademarks and branding-related items removed (generally, the term “Red Hat” and its associated logos are removed from documentation, text, and interfaces). However, it takes time for CentOS to release an equivalent update to its upstream’s version. Case in point, Red Hat 7.7 was released around 8th of August 2019. CentOS just released their update on th 18th of Setpember - a month and a half later. Why the delay?</p>
<p>There are a lot of questions asked online about the differences between the two distributions, but the delay seen is never really addressed adequately (as far as my searching has found). I was prompted to do another little bit of digging this morning after noticing the release announcement, and found that the answer is hinted at in the <a href="https://wiki.centos.org/FAQ/General">FAQ</a>, though some extrapolation with knowledge of build processes is helpful to actually understanding.</p>
<p><strong>Note that this is all my own extrapolation from the FAQ and documentation of the CentOS project, not any specific knowledge of the actual build/release cycle of either project.</strong></p>
<p>Firstly, it is important to note that CentOS is built from the same sources as Red Hat, but not in the same environment:</p>
<blockquote>
<p>CentOS Linux is built from publicly available source code provided by Red Hat®, Inc for Red Hat® Enterprise Linux in a completely different (CentOS Project maintained) build system.</p>
<p>– FAQ, point 8</p>
</blockquote>
<p>From point 2, we are directed to see the <a href="https://wiki.centos.org/FAQ/General/RebuildReleaseProcess">Rebuild and Release Process</a> page which highlights in commentary the delay:</p>
<blockquote>
<p>The goal for release of a new point release or update set is four to eight weeks after the release by upstream. It may move + or - about two weeks. A new major version will be expected to take longer than a mid-cycle point release; a mid-cycle point release similarly takes more time than the ‘entry into maintenance mode’ point release.</p>
</blockquote>
<p>So the point release delay is known to take over a month, hopefully no more than two and a half months. But why?</p>
<p>This is where awareness of large project build processes is useful - there are two main things that need to happen, and successfully:</p>
<ul>
<li>The actual build of all the sources into packages</li>
<li>The verification that all software passes through the test suites to ensure its built version does what it needs to, and that they integrate correctly</li>
</ul>
<p>This is on top of doing the work to remove the branding, and running whatever sanity checks need to be run to be sure any new trademark-related items have been removed.</p>
<p>Since the build system is different, the support for both of these processes must be re-created separately for CentOS, and maintained to support new point releases. In an ideal world, this should be relatively trivial for a point release: pull some updates, run the same process as was done previously, and be done. For major releases, infrastrucutral changes in the project may lead to build procedures needing significant overhaul, or for new build procedures to be created outright, as well as corresponding functional and integration tests to be developed.</p>
<p>Point 5 of the FAQ indicates that in many cases, what looks like trademarks are actually required names in source code, or must remain so that third-party scripts targeting Red Hat can also run on CentOS - the binary compatbility claim relies on this to be true. So work also has to be done to ensure that these source-related names are not caught up in the trademark removal process. In all likeliness, this is something that needs adjusting every so often, most notably when new packages are introduced in major releases.</p>
<p>Software building in itself <a href="https://www.xkcd.com/303/">takes a while</a>. Rebuilding after issues arise simply add to the release’s timeline.</p>
<p>All in all, this all makes for any number of configurations, updates, and testing to add to the re-release time of otherwise known source. Writing good software may be hard, but verifying it is equally difficult, especially if you are trying to place guarantees on it that will be depended on worldwide.</p>
<p>So for me this morning, I feel I have gained some new insight into what is involved simply in forking a project and rebuilding it for a worldwide audience. I thank the CentOS project for the efforts they put into this excellent system. You’re doing awesome work.</p>Tai KedzierskiCentOS, as most who would use it should know, is a binary-compatible re-creation of Red Hat Enterprise Linux. In theory, it is the same, minus trademarks and branding-related items removed (generally, the term “Red Hat” and its associated logos are removed from documentation, text, and interfaces). However, it takes time for CentOS to release an equivalent update to its upstream’s version. Case in point, Red Hat 7.7 was released around 8th of August 2019. CentOS just released their update on th 18th of Setpember - a month and a half later. Why the delay?Linux on DeX misses the point2019-04-23T00:00:00+00:002019-04-23T00:00:00+00:00/2019/04/23/Linux_on_DeX_misses_the_point<p>Samsung has announced <a href="https://news.softpedia.com/news/linux-now-available-on-more-phones-with-samsung-s-latest-dex-update-525762.shtml">some progress on the “Linux on DeX” project</a> which in principle allows running a desktop Linux on a smartphone which, when tethered to a suitable dock or screen, would allow you to use it as a full lightweight computer.</p>
<p>If they had done it with Windows, I could see cynically how this would be a “neat idea” (CPU architecture difficulties aside); but they’ve done it with Linux, and this simply ruffles my FOSS fur. I’ve wanted the full Linux desktop experience on an ultra-portable device like a tablet for a long time, but this is not it.</p>
<p>In this setup, a GNU/Linux distro sits inside an Android/Linux space, and by the looks of it, you download a specific Ubuntu image from their own store - with who knows what bundles inside. You know that “crapware” that Windows users have to put up with? There’s a gateway here to that.</p>
<blockquote>
<p>Install the Linux on DeX app. A secure container will be created within the app and you can add an Ubuntu Linux image to run it.</p>
<p>– from <a href="https://www.linuxondex.com/">the website front page</a></p>
</blockquote>
<p>This is not what I’m interested in. If I just wanted to do server monitoring and development from my tablet or phone, I can already do that with <a href="https://termux.com/">Termux</a>.</p>
<p>What I want is for manufacturers to focus on making money from good hardware and excellent support and to stop messing around with software lock-in. Sell me a phone, and sure, include a stock operating system, but don’t prevent me from installing alternatives. Don’t monetize me through crapware, surveillance, and advertising. Sell me a damn device and leave me to my own devices. (Har har.)</p>
<p>What I want is to keep my freedom as a user to run what I choose. You know those applications that you just can’t uninstall? And if you deactivate them, the next system update reactivates them? So that they can harvest your identity, and sell it to people who they know will definitely not be good custodians of it? Screw that.</p>
<p>Google is particularly bad for lock-in and prevention, as they essentially tell manufacturers, “if you want Google Services on some of your phones, you must have Google’s Android on all phones, and ignore any competitors, company or community alike.” This makes it impossible for manufacturers to explore alternate systems on the side, certainly, but that should not mean that they are required to <em>prevent</em> users themselves from making a post-purchase choice. We’re at a point where the FOSS alternative LineageOS is stable, and F-Droid provides a solid framework on which to further build manufacturer-independent app stores, from the hard work of the respective communities behind these projects, and these are perfectly viable choices for people who so wish to use them. The only thing preventing users from getting these is manufacturer lock-down.</p>
<p>I’m waiting patiently for Purism to release their <a href="https://puri.sm/products/librem-5/">Librem 5 phone</a>, and to get on with working on their Librem 11 tablet (which presumably is still on the back burner, waiting to return to the fore), with the hopes that perhaps they, at least, will do things right: build a great, long-lasting device, and let users choose what they want to run in the end.</p>
<!-- Comment out conspiracy theorying
I'm not after a phone running GNU/Linux necessarily. I'm after a manufacturer that will allow me to run whatever I darn well want on whatever device. This will most likely mean that any devices from such a manufacturer will be more expensive - it means the cash float offered by Microsoft or Google from pre-installing Windows or Google Android in exchange for unfettered access to exfiltrating users' data will not be present to amortize the sale cost. I'd say that, **arbitrarily** (citations most definitely needed, I cannot find the articles that led me to this conclusion anymore), that amortization is somewhere between 20% to 40%. So a laptop that would typically cost 300 USD/GBP/EUR at retail would in fact need to sell at 375-500 USD/GBP/EUR without the money manufacturers gain from partnering with data surveillance giants. Would I be happy to pay such a relative markup? I'd certainly have to wait a while before I saved up enough cash to warrant it, but if it meant that the device would unequivocably be mine, down to the very operating system and firmware on it (and yes, I know there's more software on a computer than just those two), then yes, I'd pointedly choose to pony up the money myself rather than let the manufacturer, along with Microsoft and Google (and goodness knows who else) decide what can and cannot be done on the device.
Yep I'm going to say it: that difference in price is the price of my privacy, as far as manufacturers, Microsoft, Google, advertisers, and miners are pricing it. We haven't gotten better at reducing the cost of manufacturing - we've gotten better at hiding, and even just ignoring it.
-->
<p>So whilst Samsung will probably get some ways with this, I don’t see it being a major success. They’ll likely sell a small few, and conclude that “people” just aren’t interested in Linux on phones after all. The way I see it, there are essentially two kinds of Linux-on-phones advocates: power users (who will likely just buy an ultrabook in the end), and freedom advocates. And my money is on Purism for now - because they are offering devices that don’t mess with my user freedom.</p>
<hr />
<p><small>Edit: I commented out some wild commentary on amortisation through privacy-erosion as being the cost of the Googlt-tax, but I realized I didn’t have the info to back it up. It’s in the page source if you want.</small></p>
<!--
A few extra thoughts came to me whilst I was writing this:
* desktops cost less than laptops because desktops don't have to do extra engineering and planning needed to cram parts into a small frame
* laptops and portable devices would cost even more if not amortized by Google and Microsoft, but I don't think the same holds true for desktop
* because desktops are less of a market on the one hand, and have less design constraints pushing up prices on the other
* and from there I conclude that desktops are cheaper relative to their equally powered laptop counterparts both for engineering reasons, and for amortization reasons
* The Windows tax is not the cost of a license, but the cost of privacy
* The Google tax is the same thing
-->Tai KedzierskiSamsung has announced some progress on the “Linux on DeX” project which in principle allows running a desktop Linux on a smartphone which, when tethered to a suitable dock or screen, would allow you to use it as a full lightweight computer.Moving to GitLab2019-04-22T16:00:00+00:002019-04-22T16:00:00+00:00/2019/04/22/Moving_to_GitLab<p>I’ve started moving projects off of Github and onto Gitlab. Cynically one could think it’s “because of Microsoft owning Github.” Not really.</p>
<p>I’ve run a Gitlab server at work before, and I like the idea that, if the need came, I would be able to move off of Gitlab.com and onto a self-hosted instance. That’s not likely to happen any time soon, but should I need to take projects with me (including issues, configurations, etc), I could. Not so with Github which is a closed-source platform. If it had been any other company than Microsoft, it would not have made a difference. This has been a long time coming for me, and I’m progressively getting in gear.</p>
<p>The other, more whimsical reason is because of GitLab Pages. Github only allows creating a single Pages repository per name slug - no sub-paths. So whilst I could create <code class="highlighter-rouge">taikedz.github.io</code>, I wouldn’t be able to do <code class="highlighter-rouge">taikedz.github.io/bash-builder</code>. In GitLab, I can do that, theme the sections independently as custom websites, and so-on.</p>
<p>Being able to have private repositories is also great - I’ve been wanting a private Kanban for my activities, and using GitLab’s built-in one, I can easily do so without having to resort ot yet-another-site. I’m also trying to explore a bit the idea of GitLab as an all-in-one CI/CD tool. I’ll be quite happy if I can control my personal deployments from this one location, rather than signing up for things like Trello and Travis etc separately, which seems to be the standard in Gtihub-land.</p>
<p>So yes, a focus on FOSS remains the reason, but not because of the name of the parent company.</p>Tai KedzierskiI’ve started moving projects off of Github and onto Gitlab. Cynically one could think it’s “because of Microsoft owning Github.” Not really.Starting out2019-04-18T16:57:05+00:002019-04-18T16:57:05+00:00/personal/2019/04/18/welcome-to-jekyll<p>Starting out a new website, hosted in GitLab. Nothing much about it for now really.</p>Starting out a new website, hosted in GitLab. Nothing much about it for now really.