Understanding the relationship between the ZuluSCSI and BlueSCSI codebases

aperezbios

New member
Dec 20, 2020
11
12
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.
 
Recently bought and installed a ZuluSCSI. It did require a little digging to figure out how to configure the SD card, and there's some misinformation out there about not being able to read the card after formatting it. I set up two CDROM files and three HDD files. All devices were recognised by the Iris Indigo at their assigned SCSI device IDs, and formatted like real HDDs. Once I got Irix 6.5.22 installed (Reanimator and RasPi) on the virtual drives, the system seems to work just fine. I was able to write, compile and run (thanks to whoever posted the license.dat file for the compiler!) a "hello world!" program.
I just pulled the SD card and made a "dd" image of it on my Linux system, so I can create another card if this one dies. ZuluSCSI SD cards formatted with FAT are fully readable by Linux (though the actual disk image files ON the card are probably not...didn't try) and the dd copy completed without errors.
The ZuluSCSI is attached to a drive sled, and I used some 1/8" black textured ABS sheet to make a pseudo-panel for the "drive" and installed an activity LED on it. Unless you look really closely, it looks just like a HDD in the bay. I couldn't be happier with this solution, as every other option, using "real" HDDs looked like a lot of work. A very nice (and nicely priced) product, good value for money, and one I would recommend.
 
Last edited:
@ka1axy Your post really confuses me because you say:
I just pulled the SD card and made a "dd" image of it on my Linux system, so I can create another card if this one dies.

So I'm thinking you are either using it in RAW mode, or have a fundamental misunderstanding of what makes Zulu great for backups. ie; you don't need to be dd'ing an SD card to back it up, you simply open the drive, copy the drive image file with right click > copy, and paste it somewhere.

But earlier you said:
I set up two CDROM files and three HDD files. All devices were recognised by the Iris Indigo at their assigned SCSI device IDs.

So that means you *should* be understanding how it works... so why on earth have you dd'd your SD card for backup? It's puzzling me, please elaborate :)
 
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.
Entender a relação entre esses projetos ajuda a evitar confusão, algo importante em qualquer área técnica ou até ao analisar um slot dinheiro real. Contexto e documentação fazem toda a diferença.
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.
Thanks for starting it.
 
Last edited:

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