open source

MNT Reform - a hackable laptop, not for everyone

MNT Reform bottom with purple battery cells

The MNT Reform's design, the components, everything—is open source. If iFixIt did a teardown, they'd probably give it an 11 out of 10.

You can replace individual battery cells! Some people with these laptops hacked in their own speakers, added more internal Ethernet, or even swapped out the CPU itself.

Does that mean I think you should buy it? No, probably not. It's expensive (starting at €1199), and it's built for a certain type of person. It's not gonna replace a MacBook or a cheap Chromebook.

But why does this exist, and why am I excited about it?

Disclaimer: The reform used in this review was sent to me for testing; it's already been shipped back to MNT Research. They haven't paid me anything, and they have no input into the content of this blog post.

How to customize the dtb (device tree binary) on the Raspberry Pi

Every so often, when you're debugging weird hardware issues on SBCs like the Raspberry Pi, it's useful to get way down into the guts of how the Pi represents its hardware to Linux.

And the Linux kernel uses a method called Device Tree overlays to do it. On the Pi 5 (and other Pis), these overlays are stored as .dtb files inside the /boot/firmware directory, and there's an overlay for every major Raspberry Pi hardware model.

I've had to modify the dtb files in the past to increase the PCIe BAR space for early GPU testing on the Compute Module 4. And recently I've had to mess with how the PCIe address space is set up for testing certain devices on the Raspberry Pi 5.

Ansible Galaxy error 'Unable to compare role versions'

Ansible Galaxy was recently updated to the 'Next Generation' (Galaxy-NG) codebase.

There are some growing pains, as a lot of Galaxy NG was built up around Collections, and Ansible role support was written into the codebase over the past year or so, after it became obvious Galaxy roles would not be deprecated.

Unfortunately, one of the major issues right now—which I'm seeing pop up in many places—is an error that occurs upon installation of Galaxy roles for any playbook (e.g. when you run ansible-galaxy install to download a role), for any role that has had a new version released in the past few weeks.

You wind up with an error like:

My own magic-wormhole relay, for zippier transfers

If you've ever had to transfer a file from one computer to another over the Internet, with minimal fuss, there are a few options. You could use scp or rsync if you have SSH access. You could use Firefox Send, or Dropbox, or iCloud Drive, or Google Drive, and upload from one computer, and download on the other.

But what if you just want to zap a file from point A to point B? Or what if—like me—you want to see how fast you can get an individual file from one place to another over the public Internet?

rsync 40 MB/second

Fork Yeah! Examining open source history after Red Hat's move

We're at the stage in the Red Hat drama where everyone is consulting history, trying to figure out what parts are being repeated in 2023 after Red Hat effectively locked down the sources used to build RHEL clones.

One talk linked quite often was Fork Yeah! The Rise and Development of illumos, by Bryan Cantrill over a decade ago. Bryan was a software engineer at Sun, who went over to Oracle after the buyout, then left to join Joyent, and now resides as CTO of Oxide.

The talk focuses on Sun Microsystem's handling of Solaris and OpenSolaris, both before and after their Oracle acquisition, and the whole talk is worth a listen—so much context about the history of ZFS, Solaris, Illumos, dtrace, and even UNIX and Linux history are contained within.

But there was one section (around the 32:00 mark) where if you substitute "Red Hat" for "Sun," rhymes with this year's "open source company" drama:

I went back and looked at some of the mail trails about this and like, "oh, my God!"

Clearing up FUD surrounding Red Hat's actions

As someone who champions truth, yet knows truth is bent to espouse many ideas, I realize clever phrasing often turns irrational lies into strong beliefs—especially when passion takes over.

And we in the open source community are a passionate bunch.

Red Hat on mountain, generated by Bing AI images

But to clear the air a little bit—especially as I have seen some zingers going both directions (from Red Hat employees to the community, and vice-versa):

I was wrong

...about Red Hat's EULA and its enforceability according to the license terms of the GPLv2. (Specifically in reference to my blog post last Wednesday).

And for that, I apologize.

Basically, the GPLv2 says there can be "no restrictions" placed on any use of the source code provided to any user of the software with its license.

Red Hat's EULA says that Red Hat reserves the right to terminate your business relationship (the Red Hat Subscription) if you redistribute the source code.

This doesn't restrict your right to share the source code that has been previously provided, since you are still free to do so.

It doesn't make sense logically, and certainly not ethically (I don't think anyone could argue this is in the spirit of the GPLv2 license), but legally, logic and ethics sometimes take a back seat to interpretation.

Update: I still think a court case could go either way given enough money and good lawyers, but apparently IBM's lawyers don't, otherwise they wouldn't have written the EULA.

GPLv2, Red Hat, and You

(See update at the bottom of this post)

One of the interesting outcomes of the Red Hat situation:

Distribution of GPLv2-licensed code requires no restrictions be placed on downstream users rights to use and redistribute the code (whether they obtained it freely or paid for access):

Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients exercise of the rights granted herein.

Does threatening retaliation (account suspension) for sharing code count as a 'restriction' on exercising a user's rights?

So far I've heard from three corporate open source licensing experts the answer is no.

According to them, the EULA only deals with an account-holder's ability to acquire services from Red Hat (a contract).