Home > Broadcom BCMxxxx, Hardware > Raspberry Pi Bootloader License Precludes it to Run on Competing Broadcom BCM283x Boards

Raspberry Pi Bootloader License Precludes it to Run on Competing Broadcom BCM283x 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.

  1. blu
    July 19th, 2016 at 18:28 | #1

    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.

  2. TLS
    July 19th, 2016 at 19:21 | #2

    @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.

  3. July 19th, 2016 at 19:41 | #3

    @TLS
    The way I understand the license, is that you can’t even license the software at all if you make a custom hardware not based on RPI boards, so they force you to use their hardware if you want to use their software.

  4. JM
    July 19th, 2016 at 22:06 | #4

    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.

  5. tkaiser
    July 19th, 2016 at 22:23 | #5

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

  6. TonyT
    July 19th, 2016 at 23:10 | #6

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

  7. theguyuk
    July 19th, 2016 at 23:46 | #7

    @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

  8. July 20th, 2016 at 00:06 | #8

    @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.

  9. tkaiser
    July 20th, 2016 at 04:36 | #9

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

  10. July 20th, 2016 at 09:27 | #10

    @tkaiser
    There should be camera solution based on Grain Media or Hisilicon, and some modules are available, but I’m not sure they are all suitable as a community board.

    I tried to hack an IP camera a few years ago, and ask Hisilicon some info/doc, but you have to go through sales (with the usual question about mass production volume), before being able to get access to documentation or support.

  11. blu
    July 20th, 2016 at 18:23 | #11

    @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.

  12. July 20th, 2016 at 21:18 | #12

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

  13. July 20th, 2016 at 21:25 | #13

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

    http://elinux.org/RPi_U-Boot

  14. July 21st, 2016 at 06:10 | #14

    @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.

  15. Sfinx
    July 21st, 2016 at 20:03 | #15

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

  16. Eric des Courtis
    July 23rd, 2016 at 02:20 | #16

    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.

  17. July 23rd, 2016 at 13:46 | #17

    @Eric des Courtis
    I think the only way in your case would be to check if Element14 can do something like that via their RPi customization service: https://www.element14.com/community/docs/DOC-76955/l/raspberry-pi-customization-service

    I think they only customize the Raspberry Pi boards, but it’s worth having a try anyway. Maybe if enough people ask for it, they may decide to create a similar official board.

  1. No trackbacks yet.