Understanding the relationship between the ZuluSCSI and BlueSCSI codebases

aperezbios

New member
Dec 20, 2020
10
10
3
In the interest of not derailing the original thread, this is a separate thread intended to cleanly peel off from this thread.

Since there seems to be a lot of confusion and outright FUD regarding this issue, I'd like to clarify that the BlueSCSI Pico/V2 firmware is ~98% re-branded ZuluSCSI firmware. That's why "Copyright <year> Rabbit Hole Computing" is present over 70 times in the current version of the BlueSCSI code base. This is easily verifiable via a simple recursive grep of the BlueSCSI code base for the string "Rabbit Hole Computing". We own the copyright to the code because we wrote it.

At a firmware level, the BlueSCSI V2 code base is nearly identical, with the notable exception of the format of the text in the log file, which is all most end users actually see. There are many other small and relatively superficial differences, but at the end of the day, nearly all of the heavy lifting was done by us, and at my expense. The BlueSCSI V2 firmware represents a search-and-replace of "Zulu" to "Blue"

The BlueSCSI V2 hardware is slightly different, since the BlueSCSI V2 hardware designs only use the Pico/Pico2, so it's necessary for the pinout to be slightly different. It's also worth noting that the BlueSCSI V2 (and original V1) hardware designs omit components necessary to mitigate Electromagnetic Interference, and that these components, which are surface-mount ferrite bead inductors, can and do slightly affect signal timings. While those differences are small, they can and do matter in practice.

The Pico-based BlueSCSI V2 was publicly announced, to much adulation and fanfare, around seven weeks after we began sales of the original ZuluSCSI RP2040, in late 2022. This is not a simple coincidence.

Since the initial fork, the BlueSCSI V2 team has certainly added other useful features, some of which we have chosen to merge into the ZuluSCSI code base. Multiple third parties have privately and independently chosen to share with me that this decision, which is our right under the GPLv3, infuriated BlueSCSI project leads. Hypocritical much?

Because the ZuluSCSI firmware was built around a subset of the existing SCSI2SD firmware (command-handling code), which was GPLv3 licensed, the ZuluSCSI firmware was, as required by the license, also released under the GPLv3. A common argument I've seen tossed around by people with little to no understanding of how the mechanics of many open-source licenses work is "well if you didn't want other people to use it, you shouldn't have released it as open-source software" but I personally find that to be an amusingly oversimplified analysis, and one which arguably borders on being intellectually lazy.

BlueSCSI Pico/V2 costs less because they are manufacturing and selling JLC-manufactured and assembled boards, and do not have to incur the actual development costs, because we do that for them. Additionally, the two core BlueSCSI maintainers directly receive remittances/royalties for every assembled and kit BlueSCSI sold through their approved "makers" (AKA resellers). They are running a business, have registered business LLC entities, and yet have repeatedly claimed it's "not for profit", simply because their hardware designs are also open source.

Since November of 2023, nearly two years ago, an OSHW-licensed ZuluSCSI Pico hardware design, released under the OSHWA-approved CERN OHL-Strict V2 license, has been publicly available. This is an Open Source Hardware Alliance-certified design. The original BlueSCSI Pico/V2 hardware design explicitly prevented commercial use by non-approved third parties.

On September 9th, 2024, ~ten months after I chose to release a version of the ZuluSCSI hardware design under the aforementioned license, the BlueSCSI V2 team chose to follow suit, re-licensing their hardware designs from the original Creative Commons Non-Commercial-ShareAlike 4.0 (CC BY-NC-SA 4.0) license to the same more-permissive CERN OHL-S V2 license that we'd previously chosen to use.

Finally, it's important to know that the ZuluSCSI firmware began life as a fork of the original BlueSCSI V1 firmware, which seems to have been what originally ticked off the BlueSCSI maintainer back in April of 2022. By his own admission, only ~30 lines of the original BlueSCSI V1 source code remained by the time we released the very first ZuluSCSI V1, which significantly outperformed the original BlueSCSI V1. One can only assume that this was seen as an existential threat.

BlueSCSI V2 has every right to exist, and end users have every right to use it, however they should do so with full awareness of who performed and financed the actual effort. The original BlueSCSI fork went out of its way to seemingly-intentionally obfuscate the true origins of the code, and only after they were publicly called out about it did they claim to have made "a bad merge which lost history" and restore the stripped attribution.

I've been loosely involved with and a fan of open-source software for nearly thirty years, and have used GPLv3-licensed software almost daily since the early 2000s.

Finally, I should also mention that prior to publicly releasing the ZuluSCSI firmware, I privately e-mailed and offered to submit a pull request to the BlueSCSI maintainer so they could incorporate our significant improvements to their code base, and this offer was rejected outright, in a relatively hostile and immature manner. All of this could have been avoided had a more-objective approach been taken.

Thank you for your attention to this matter.
 
  • Like
Reactions: miod

About us

  • Silicon Graphics User Group (SGUG) is a community for users, developers, and admirers of Silicon Graphics (SGI) products. We aim to be a friendly hobbyist community for discussing all aspects of SGIs, including use, software development, the IRIX Operating System, and troubleshooting, as well as facilitating hardware exchange.

User Menu