Raspberry Pi Bootloader License Precludes it to Run on Competing Broadcom BCM283x Boards

Orange Pi Development Boards

Yesterday I wrote about ArduCAM Raspberry Pi compatible module, that packs most of the features of Raspberry Pi Zero or Pi Compute module into a 24x24mm board, and is based on Broadcom BCM2835 processor. One person also started a thread on Raspberry Pi forums about the tiny module, and one of the Raspberry Pi engineer and forum moderator replied that will would breach the bootloader license.

Raspberry_Pi_Bootloader_LicenseThe important part is the sentence highlighted above:

This software may only be used for the purpose of developing for, running or using a Raspberry Pi device.

ArduCAM module is only Raspberry Pi compatible, so it would indeed breach the license, and you can get into troubles if you planned to use that module in a commercial project, especially in countries where IP protection is taking seriously.

This raises a few questions. First why did the Raspberry Pi foundation chose that restrictive license? The obvious answer would be to protect there investment, but it’s also possible that since the bootloader and firmware is related to the GPU, video codec license may also have been a part of the decision.

The other issues is that after ordering 5K Broadcom BCM2835 processors for the first run of their ODROID-W module, Broadcom decided not to sell the processor anymore to Hardkernel subsequently. The exact reason is not known, but there are speculations that it was because of the Raspberry Pi foundation, and the license above may have been a reason for it. So could this also happen to ArduCAM? In theory yes, but If I’m not mistaken the company is based in China, and there are multiple smaller distributors, but it may not be quite as easy for Broadcom to block them.

The final question I has is whether it could possible to legally use the board without using the bootloader. Maybe… thanks to Kristina Brooks work on an open source bootloader for Raspberry Pi, released under BSD and GPLv2+, and not including any “Raspberry Pi only” conditions. There are some serious caveats such as no support for video codecs (licenses are part of it too), and while it can boot Linux, some things are broken.

If you are based in mainland China, and your customers are all based there, you probably don’t have to care about any of this, but in the western world, commercial projects should probably keep using official Raspberry Pi parts, or other solutions not involving Broadcom processors, nor official Raspberry Pi OS images.

Support CNX Software - Donate via PayPal or become a Patron on Patreon

17
Leave a Reply

avatar
17 Comment threads
0 Thread replies
0 Followers
 
Most reacted comment
Hottest comment thread
11 Comment authors
Eric des CourtisSfinxzoobabJMtheguyuk Recent comment authors
  Subscribe  
newest oldest most voted
Notify of
blu
Guest
blu

This, along with Mr. Upton’s official stance on 64-bit ARM (heck, ARMv6 must have been the apogee of ARM ISAs), push me to question Pi Foundation’s ultimate educational goals at this stage.

TLS
Guest
TLS

@blu
Well, to me it makes perfect sense for educational goals, as they are forcing you to license their software if you want to make a commercial product, that is not based on their hardware.

That said, the dodgy thing is that they offer the compute module, which is clearly not for just educational purposes, but also more than possible to make a viable retail product based around.

JM
Guest
JM

There’s this wonderful platform around the TI AM335x aka Beaglebone processor where you have a community with the arms open to welcome you and answer your every need and a company that has avoided many of the moronic decisions in the Pi designs.

I mean I use dozens of Pis at work, they work OK for prototypes and trying stuff but I’d never base a product around one.

tkaiser
Guest
tkaiser

@JM
Is decent camera support available with TI AM335x? Especially HW accelerated video encoding (at least supporting h.264 at 1080p)?

TonyT
Guest
TonyT

@tkaiser, not positive but pretty sure AM335x isn’t a video champ – it’s industrial/robotic oriented (PRU, PWM, QEP, etc).

theguyuk
Guest
theguyuk

@tkaiser. Sitara™ AM335x Processors

AM335x
AM335x Cortex-A8 Processor
Scalable ARM® Cortex®-A8-based core from 300MHz up to 1GHz
3D graphics option for enhanced user interface
Dual core PRU-ICSS for industrial Ethernet protocols and position feedback control
Premium secure boot option
Processor SDK (Linux and TI-RTOS)
TI RTOS Industrial SDK
AM335x Starter Kit
BeagleBone Black
Get started with AM335x
Featured Applications
Featured Applications
Home automation
Industrial communication
Renewable energy gateway
Substation automation
IOT gateways
Smart appliances
Streaming audio
Personal electronics
See more applications
AM335x Cortex-A8

http://www.ti.com/lsds/ti/processors/sitara/arm_cortex-a8/am335x/overview.page

JM
Guest

@tkaiser For 1080p video there’s the AM5718 (now sampling), which is the cut down version of the processor on the BeagleBoard X15. Not cheap but hey some nice specs in there.

For a product solely around video I’d say the Ambarella SoC – used in most high quality HD cameras out there – would probably be the best choice anyway. Nowadays maybe even less arrogant than the Pi Foundation.

tkaiser
Guest
tkaiser

@JM
Anyway: HW accelerated video encoding is my only use case for this weird RPi platform. Maybe we get alternatives soon.

blu
Guest
blu

@TLS
The reason I find this license ill-suited for educational purposes is that it runs counter to what traditional academic-originated licences like BSD, MIT et al promote. The way I read the license, you can’t make anything BCM2835-based with this license, unless it contains a genuine RPi. That’s the opposite of education – normally a process where the students are encouraged to experiment for themselves beyond the school program.

And I won’t even start on the whole ‘you don’t need ARM64 with our boards’ angle, as that is a subject for another discussion.

zoobab
Guest

There is no uboot port yet? for headless operations, you don’t need to initialize the videocore part.

zoobab
Guest

@zoobab
Just wonder is this u-boot depends on the proprietary boot loader:

http://elinux.org/RPi_U-Boot

JM
Guest

@zoobab
You do because the Pi has this freakish booting mechanism where it’s the GPU, which actually runs a proprietary RTOS called VideoCore OS, which ultimately loads the Linux kernel image and releases the reset on the CPU to execute it.

Sfinx
Guest
Sfinx

Broadcom was always full of proprietary shit. Their chipsets costs nothing just due to closed and non-working drivers.

Eric des Courtis
Guest
Eric des Courtis

This is a message for Arducam, The Raspberry Pi Foundation and Broadcom.

Look guys this nano rPi board looks useful for some commercial projects I am working on where the Compute Module is too expensive and the Pi Zero is too awkward. Can you somehow arrange with the Raspberry Pi Foundation/Broadcom to pay a royalty so we can buy and use this board so everyone is happy? After all they keep the ecosystem alive and the software stable. If it costs less than 10 USD in QTY 1000 I am interested anything more and you lost me. I don’t care how you work it out just make it work. I work for a large manufacturer and there is nothing we would like more than to integrate the RPi into our products but it has to be competitive and has to fit our needs. The compute module is just not competitive against the alternatives and the Pi Zero is not suitable for most embedded products. This would fit perfectly, it would be a shame to see it disappear.