Not a fan of Raspberry Pi. It hides behind proprietary Broadcom chip, no DSI/MIPI support and you're at the mercy of Raspberry PI for any sort of commercial implementation (RPi Zero and independent module). They do guarantee upto 2026 availability for their DIMM modules which is nice. We wanted to build commercial device using RPi but its a no go due to its blackbox nature.
What they should do is to leverage their position in the market and convince Broadcom to open source the bootloader and drivers. There are a bunch of binary blobs from Broadcom that are a mystery as to what they do. No docs, no anything. HAL layer is completely at the mercy of Raspbery Pi.
Raspberry Pi is an ecosystem which is based on proprietary technologies and masquerading as an open source friendly thing.
If you want to support proper open source development (I understand, at some point things get proprietary the closer you get to the hardware, but with RPi, there isn't even a datasheet for the processor that you can get your hands on), buy Beagle board and other alternatives.
I think people forget what it was designed for. It was to reboot IT education which was (is) badly floundering. It's success was so good it started to be used in small commercial applications. The Foundation tried to help fill this gap in the market with the compute module. Even though there is a lot of open source features the use of the Broadcom chipset was probably driven by cost as keeping the Pi price down was a factor. If a fully open source and open document solution is required perhaps the Pi isn't the right choice but then that was never it's original goal.
It's the standard pattern where someone comes along and says "hey, we made this thing which does X pretty well for a good price". Then someone else comes along and say "we wanted to use it for Y, but it's not good at that, therefore the thing itself is bad, and it's creators should have focused on making it good at Y instead".
AFAIK, Raspberry Pi was, among other goals, was designed to help poor students learn software and hardware. I am not sure how one can do this with such a huge proprietary blob.
I’m tired of pointing this out. The reply is consistently “So what? It’s my cheap Linux SBC now and until you can find something better for $40, go away.”
I‘be been booting off of eMMC on an A7 for years now. I don’t get any of this anymore.
I too, am tired of giving that reply - I don't know why the issue must be continually raised on every Pi article; it's a little patronizing ("Oh, those poor Pi users don't know any better"), and that grates when you have researched and ended up with the Pi as the best-fit.
Both things are true - yes the Pi is not the most robust SBC on the market, but the Pi also offers the best value for money hobbyists and tinkerers. You (generalized) and I have completely different priorities and we will accept very different trade-offs: price is important to me - reliability, not as much. I would rather drop $40 on an SBC that may or may not kill my $5-$15 SD card in the next few months than spend >$100 on a rock-solid eMMC-/CF-based one. Most of Pi users are hobbyists who are not running critical code, if it fails they will fix it next weekend. Maybe.
If the pros fail to understand that the needs of hobbyists are different, then this back-and-forth will never cease.
I'm always amused and simultaneously annoyed by those ads about Raspberry Pi "killers" that are X amount faster or whatever, but they never get around to pointing out the price factor. They nearly always start at double the price. I'd only expect them to outperform the Raspberry Pi if they are double the price.
The Raspberry Pi is what it is, and is in every way brilliant for it. If you want X amount faster, you pay for that. That's not a Raspberry Pi killer. It's a different category altogether. Those SBCs cost more, and therefore you get more. If you need that, Raspberry Pi isn't what you need. But if you are within the group that Raspberry Pi caters to, it's hard to find better.
It's like saying the new electric Harley Davidson motorcycle is an e-bike killer. Of course it's faster and more powerful and has more this and that more features. It costs more. It's just not the same thing.
PS: The new Rpi 4 with lots of RAM is certainly getting there. I actually use one as my desktop even though I have far more powerful equipment in my studio.
I can't imagine having to sysadmin a bunch of raspberry pis in a serious "production" setting with all the reliability problems they have, that would be godawful, you'd go through a brace of SD cards every month
I can talk to managing Pis in an educational setting, and honestly, it is less bad than expected. (Disclaimer: No longer a school sysadmin. But was for a number of years.)
First some comparisons. Kids are seriously rough on technology. We had a fleet of about three hundred laptops, two hundred iPads, and two hundred Pis in the junior school.
In a year, we'd end up with about a hundred laptop screen replacements, two hundred keyboard replacements and about a hundred hard drive replacements. About ten "I accidentally dropped the laptop in the river"s. We'd cycle the laptop out for a brand new one at four years, if it survived.
In the same year, about sixty iPad screen replacements, ten or so battery replacements, and twenty or so river dunkings. Only ever had one hard drive failure, apart from water damage, but the iPads were on a short two-year upgrade cycle.
The Pis were used for the robotics clubs (optional) and programming (compulsary). Pis aren't great for kids and robotics due to lack of protection on the pins for dumb mistakes. We had about twenty fizzle the mysterious smoke every year. About twenty more than experienced SD card failure in the year, usually related to yanking a power cord, not direct write failure. We also had a couple students a year who snapped theirs in half.
All in all, the cost of maintaining the Pi fleet was negligible besides the rest.
I've snapped/bent a few microSD cards myself trying to remove them from "exotic" cases, both times in hasty situations (interactive art shows). I've learned to slowly remove them while not exerting any vertical pressure when it's still halfway inside the Pi - just keep trying to slide the card out while using fingernails to catch the bump on the end.
Ah, sorry. When I said "kids snapped theirs in half", I wasn't referring to the SD card. I was referring to the Pi itself. Kids can be monstrous when it comes to technology.
By sitting the iPad in the mysterious gunk that lies at the bottom of a kid's backpack. After stewing for a few weeks in exotic biological material the internals can begin to break down.
The cases are sealed, but they're still permeable to stuff you wouldn't let near your computer because you have a slight respect for technology.
I found fungus growing inside more than one iPad case, usually directly in the boards.
The iPad doesn’t have a hard drive. It has flash storage. The term “hard drive” is not a synonym for on-device storage: hard drives were a prevalent form of storage, but let’s not become so lax with terminology that it no longer means anything...
Yes, the iPad has flash storage. The same specific kind of flash storage that you'll find inside an SSD. And SSDs are typically referred to as hard drives.
Why? I supported 40 of them (rpi 3) as remote serial hosts and custom reboot/repower for a QA farm. Not a single one failed and don't think I had a single issue during that whole time. As far as I know it's still going just fine. It was a cheap and dependable solution. 99% of the SD card issues go away when you don't cheap out and don't go cheap. get a large card that is 32GB plus from a respectable vendor. That's not the rpi's fault on the failures, it's the cheap ass SD cards that people buy.
With the number of GPIO pins available - you could always wire-up one yourself if a physical button is important to you.
That said, I don't think the Pi was ever designed for "serious" industrial usage; I don't think the production runs (or the foundation) could support that, without undoing the core mission.
Machines no longer degrade when the power is yanked. Any corruption caused by a mid-write devoltage event is handled gracefully by whatever modern filesystem of choice you are using, is it not?
Is there some more fundamental hardware damage that occurs when USB devices are unplugged without prior warning to the device itself?
1. A modern filesystem will stop the filesystem getting corrupted by power loss - but a file that was mid-write, or an install process that had copied half the files it needed to, will still leave that thing incomplete.
2. SD cards can wear out (i.e. too many write-erase cycles) regardless of the filesystem.
3. SD cards have controllers running firmware, doing things like write levelling and bad block remapping. Some cards have bugs, and if the card is lying to the OS about a write completing, or if the remapping table is less resilient than the filesystem's journaling, you get problems even if the OS and everything on it is perfect.
4. Problems like pins with poor connections and power supplies not providing enough current are exacerbated, as microsds have no space for power capacitors and few SD card holders are rated for hundreds of insertion cycles.
5. SD cards start out a lot cheaper than SSDs (easier to find a sub-$10 SD card than a sub-$50 SSD) and the market is awash in fakes
All these problems look very similar - "My RPi stopped booting, I replaced the SD card with a freshly written one and it started booting again" - making forum anecdotes and user bug reports hard to rely on.
Lots of points you make are true. Yes, if you yank the plug without saving you lose your work. Or Exim will have to flush the queue again. Or vim will have a dangling swapfile that it will ask you about next time. Or you’ll have to start over on your game of solitaire.
And yes, SD cards have flaws.
My question was: if I turn my computer off every day by yanking the power cord, I expect nothing to break, so what am I missing when people seem so wary of doing it?
(Recall that this was all in the context of a parent comment lamenting a lack of a dedicated shutdown button on the RPi.)
I just spent $10k on 4 Siemens 32Gig industrial SD cards for S7-1500 PLC's, in safety service.
Gauranteed 500,000 writes, probably much more, but they have "mission life" quoted at ten years on the vendor cert, so will be ditched after ten years and replaced.
Apparently they are a whole different type of logic design, hence the cost. Even the no-name or branded equivelent I could find were close to $1k each, but given use in safety service we went legit all the way anyway.
Anything with the magic S word stamped on it seems to double in price...
It does, when your crappy hardware doesn't lie to the kernel. Go take a look at the amount of unrecoverable FS corruption discussions at LKML. It still happens relatively frequently, and is almost always caused by shitty hardware ignoring fsync and lying to the filesystem. SD cards and cheap SSDs are especially terrible in this regard (that's why I refuse to buy anything except from the most respected vendors, and they still have their issues). Many devices don't even report checksum mismatches on read requests and simply return garbage data, and most filesystems don't notice it (because they don't implement a data integrity checking mechanism of their own)
Because of large erase blocks, it's unavoidable that a flash device needs to involve some kind of very careful bookkeeping and sector-shifting to safely handle power loss during writes. Otherwise it could lose a big chunk of sectors unrelated to what you were actually writing, and that's not something a filesystem can paper over. I barely trust a proper SSD controller to do this, let alone whatever cheap thing is in an SD card or flash drive.
Dependence on SD Cards and lack of orderly shutdown was what caused my company to not go with the Raspberry Pi. Even then we have back up power to allow the system time to shutdown.
Considering it was designed for IT teaching and not for embedded use, I cannot fathom why your company and many others contemplate using it in such a capacity.
Raspberry Pis are actually very reliable if you don't use the cheapest possible power supply and SD card from Amazon. I have several that have years of uptime.
That said, I agree kids are rough on any technology.
The original idea was giving kids a device they could just connect into a TV (no need to buy a new screen) and learn by screwing up like ~"we all did when computers were simpler."
iPads, iPhones, Windows, etc.
They're expensive and complicated. Kids can't take the family computer and screw up installing linux 3 times while Mom needs to do something for work. A $25 computer is something a family could easily afford and so could school districts.
We had computers at school, but we didn't have great teachers. Wouldn't be better if school spent money on good specialists willing to share their knowledge or at least make sure kids watch certain channels on YouTube that have wealth of knowledge?
If parents won't spend $200 on a computer to help their children get better future, their certainly won't spend $25. I bet they wouldn't even treat this seriously.
> Raspberry Pi is an ecosystem which is based on proprietary technologies and masquerading as an open source friendly thing
It depends on what layer you care about. At the application layer it is completely open. Even if the chip designs and drivers were open source, you could claim that there are proprietary processes and supply chains for the hardware and material themselves. Unless amateurs could build one from scratch you will never be satisfied.
As a long-time rPi user and embedded developer, it’s really not about ideological purity (or at least not entirely). There are real ramifications for the lack of open documentation for the GPU interfaces on the Raspberry Pi that make it really hard to use (as in utilize) if not running a mainstream Linux w/ binary blobs and device overlays. The GPU even does the system startup and initial boot loading; it’s not just closed source, it’s also entirely opaque and undocumented (documentation only available for bulk purchasers from Broadcom and under NDA, purchasing Raspberry Pi in bulk doesn’t get you the SoC documentation).
(Unlike typical devices, the CPU doesn’t do system startup and initialize the GPU as an add-on or co-processor, on the Raspberry Pi the situation is more or less reversed.)
I mean, you're not wrong and it is open source at the app layer but it's not like Raspberry Pi is a purely software product. They're a hardware company, acting like a maker friendly, open source device - similar to Arduino (which btw is totally open source, even the bootloader and you can get data sheets for every single component on it), but it falls short with only the top app layer being open source. The middle layer (HAL, drivers, etc.) is all closed source. And hardware is closed source.
It's ok to be closed source IMO, but they should not be marketing themselves like Arduino folks.
Arduino is a for-profit company with open source hardware; Raspberry Pi is a charity with closed-source hardware.
Nothing wrong with either approach. But your comment makes out they're a for-profit company with closed-source hardware acting like the good guys.
Not sure it's fair to label them as just another company when they're not-for-profit and pump all their money into a) product development and b) education programmes.
To be honest, if the Pi was open source hardware, everyone would buy the clones (like they do with the Arduino ones) and the charity side would have much less funding.
> To be honest, if the Pi was open source hardware, everyone would buy the clones (like they do with the Arduino ones) and the charity side would have much less funding.
As opposed to now, when people buy such totally-not-clones as the Banana Pi and Orange Pi? For that matter, Arduino seems to somehow have stayed profitable in spite of getting murdered from every angle by the clones.
>For that matter, Arduino seems to somehow have stayed profitable in spite of getting murdered from every angle by the clones.
The clones are fine for simple stuff. But they really cut every corner possible, so even the chip is counterfeit, which means it doesn't behave like a real Arduino does. Deep sleep will use 1000x as much current on some clones compared to a real Arduino, for example.
You really can't only use clones. You have to develop/test on real Arduino hardware, then deploy to clones. Because the clones aren't reliable in their behavior.
The thing helping the Raspberry Pi fend off clones is their deal with Broadcom, not whether the board, firmware, and boot code are open or closed source. It's easy to copy the board and binary blobs either way. The closed nature of the boot code hurts tinkering without helping sales.
It's true that Broadcom is the reason why most clones are not as good as the Raspberry Pi but it is not because of the boot code. It's because Broadcom has a custom graphics chip that has nothing in common with the official ARM GPUs. Any effort into open sourcing the very popular Raspberry Pi will not help open sourcing other boards that have the way more common Mali GPUs. Raspberry Pis are their own island so to speak.
Furthermore, right now there the open alternatives for Broadcomm's chips just aren't nearly as good (at this price-performance point). They made a compromise.
> It depends on what layer you care about. At the application layer it is completely open.
I'm not down with this injection of skepticism. This is slipperly language trying to make a pretty clearly contrasted situation murky.
Sure, if you just need something to process instructions, maybe the well-defined cpu architecture is enough. But kernels need things like timers to run. They need USB hosts to attach keyboards & mice. They need GPUs to out things to screen. They need power management to not run hot. They need SD(-card) io to access storage.
Yes, you can run any code on an RPi, that is some definition of open. But it should be obvious that for this to be useful & prevalent, a lot more is required, and those layers being locked away, in proprietary systems, that we have to keep reverse-engineering usage of, is a huge detractor from civilization & it's functioning.
> you could claim that there are proprietary processes and supply chains for the hardware and material themselves
> Unless amateurs could build one from scratch you will never be satisfied.
I was not expecting slippery slope to descend quite so quickly! But perhaps you are right!
There is a lot of interest in open source chipmaking these days, and hopefully we indeed do start to see a re-opening of the foundries that lead to such growth & science in the 80's, that created so much progress. Companies like Oracle & IBM certainly seem to have similar desires, to insure that we can satisfy ourselves & learn & grow, first with OpenSPARC in 2005, and OpenPOWER in 2013 certainly indicate that some very big entities in the world see & understand the value of open, through and through. More recently, works like RISC-V & OpenROAD show architectures & processes are once again coming back into focus as a thing that people see the value in opening, in being able to work together in. Google is doing free chip fabrication runs to try to help re-grow this once proud & mighty but clearly ossifying sector that has undergone a massive wave of buy-outs & consolidation. Because we have to keep the knowledge & know-how alive & growing. Because people should be making chips. And too few are these days.
That all said, I think there's a pretty clear cut difference between what you are posting about "proprietary processes and supply chains" versus situations like what we have here, where Broadcom makes chips, then conceals & makes it difficult for anyone but a couple chosen embedded partners to understand or use those chips. It's a bit frustrating that Broadcom continues to use their own proprietary peripherals they've adapted over the decades versus using more off-the-shelf standard-operating peripherals. But it's not necessarily the proprietary bit that makes this so sticky: it's the overarchingly user-hostile attitude of this behemoth, the lengths they seemingly go through to keep amateurs out & away, in contrast to other companies that if not directly support at least don't obstruct upstreaming & open source driver development. I look at the wifi-router world, & Broadcom routers are basically get-what-you-buy now, no ability to customize or change OS. Broadcom used to allow alternate OSes, but since 802.11ac, they have more or less cut off access. This was always proprietary, but at least it was something we could learn about, interface with, but now, it is locked down.
I've heard some of Broadcom's stingeyness with documentation may stem from the risks created by the perverse environment created by IP laws. With a patent troll only one manual away, I can somewhat understand to a degree holding things close to your chest if you want to continue to exist.
I mean it sucks massively, but I can at least understand it. It's part of why I strongly disagree with the "IP" side of semiconductor products, and believe that we really need to treat everything about computing as if it were straight up math. Doing anything else simply ensures that the knowledge will only very slowly percolate outward in the process of becoming a naturally endemic proficiency of the average modern human.
IANAL, but it would seem that the more documentation you release on your patented product the MORE you are protected, since it becomes less likely that they independently discovered your solution.
I think the issue is more one less of Broadcom wanting protection as much as having a chip foundry and selling chips, but not wishing to risk a legion of Non-Practicing Entities combing through their implementations with a fine tooth comb and a portfolio of held semiconductor IP.
> If you want to support proper open source development ... buy Beagle board and other alternatives.
What more open alternatives are there with similar price and performance? The Beagleboards are ridiculously underpowered compared to a Raspberry Pi 4. I like the ODROIDs but I don't think they're any more open than Raspberry Pi. They also tend to be more expensive.
YMMV on all of this stuff:
* Some folks are doing microcontroller-esque things and care about openness more than performance.
* For my applications, I need the performance. The sort of open hardware, no blob stuff you're talking about would be great on principle but I may or may not take advantage of it. I'm still able to run and develop open-source Linux userspace apps without it.
Pine64's offering is pretty good, and they are all-in into open source, although their boards might be a bit less competitive now that the RPi4 is out. the Rockpro64 for instance has a PCIe connector.
Odroid series come with a wide variety of chips. The Amlogic S905X3 has good upstream support (largely via a very active volunteer community) & is on their Odroid-C4.
If performance is your top concern, you should stick with x86. There's no ARM gear with anywhere near the bang/$ of an Odroid H2+, which is an rpi-like $120 x86 single-board system. It is fantastically well supported by the cpu vendor.
The ODROID H2+ is perfect for one of my applications, with the extra CPU power, second NIC, included real-time clock, onboard SATA and an official case option that fits 2 3.5" drives, and onboard eMMC socket. $120 [edit: plus RAM cost] rather than $35 is a whole other price category though.
Sure but the rpi's can be quite price misleading. If you go pick them up at your local retail store that carries them its frequently a $120 date by the time case, heat sink, powersupply, and disk are thrown in. The base cost for the 8G rpi is something like $70, Then you still have to figure out what to do about the missing RTC, SATA, whatever, for a lot of applications.
So, yes its obvious that the $35 model (which at a minimum is really more like $45 because its not usable without a powersupply and maybe SD card) is sufficient for a lot of things. But its also being wedged into places where its not $35 anymore and in those cases its fair to compare with more expensive boards if those boards come with features that someone is adding a hat or external device for.
That's true for the ODROID H2+ too—you need to add in the power supply, case, eMMC, battery, SATA cables, and also RAM. (I forgot to mention RAM in the parent, so the difference is more like $85 + whatever you pay for RAM.)
at that price range why not just go all the way to mini-itx, when you hook SATA etc you will need a larger case with some cooling space inside, mini-itx seems to be a much more practical option then, a quick search found https://www.newegg.com/p/N82E16813157930 there are many to choose from actually.
or just nano-itx, both are easier to get cases and power supplies etc.
I think we're getting more and more expensive. The Raspberry Pi 4 made a lot of deliberate trade-offs to stay at $35. Going to the ODROID-H2+ means paying another $85 plus (I forgot this in the parent) RAM cost. Then going to a "real mini-itx" board probably means paying for a "real" mini-ITX case and power supply. It'll be nicer for sure but there's significant price creep. Looks like the CPU isn't included either.
The ODROID-H2 Case Type 1 has a fan and space for two 3.5" drives for $20. The ODROID-H2 power supply costs $9.40. I'll be astonished if anything compatible with that ASRock board will match that.
Agreed. Thoe closed-source blobs and lack of docs also made it hard for WoA folks to write proper drivers for RPi4. I remember they had this beyond 3GB PCIE memory corruption issue for quite a long which is only recently fixed. I hope they can reverse engineer the GPU tho, it is nightmarish.
It's made for tinkering and learning. It's used for a lot more due to it being so easily replaceable.
After all, I don't care if there are binary blobs from a trusted vendor for the device playing retro video games -- the TV is bound to have more spyware anyway...
"Position in the market"? Broadcom makes STB chips that trivially dwarf all the shipped Pis. Heck, the first Pi was based on a bunch of chips from an aborted project. The RPi folks are, unfortunately, lucky that Broadcom even gives them the time of day.
Not that I disagree with your overall statement -- certainly I've found myself explaining to folks in a commercial setting that while Raspberry Pi might be a great way to a quick prototype, you're going to need to reimplement against some other hardware. Really what you're getting with the R-Pi is the community that goes with it, who have so far been very loyal to that series of devices.
By datasheet, do you mean the equivalent of a document detailing all the innards and details of the IC's down to the Opcodes/datapath?
Because I've gotten basically down to apparently what you're to write drivers for OSes with, and I know there is the annoying "teehee, let's implement OpenGL calls in firmware so the open source software is a stupid passthrough interface to the IC" which is understandably frustrating given I'd hoped to use my Pi to finally get around to driving graphics hardware to do something useful I can grok, but it's far from documentationless unless I'm missing something fundamental.
The outrage and entitlement in the original tweet is laughable. It's an education charity, they need to raise money to fund their cause and do their work. I'm glad they do stuff like this. I bought both versions of the camera.
Largely agreed. There's been some very dedicated people open sourcing support for RPi pieces, which is amazing to see, but it's been herculean efforts over many years with seemingly no support.
This is unfortunate & sad, but at least things have been moving forward. The much sadder story is wifi routers. OpenWRT used to have pretty broad support for a wide range of routers, but there have been less & less people making chipsets, and now you're probably getting either Broadcom or Qualcomm/Atheros. Broadcom has never been a "good" player in this space, but since 802.11ac routers started showing up over half a decade ago, the community has been unable to get a foothold in on Broadcom routers (I'm not sure if we have access to the bootloaders that we need, and I'm rather confident that we don't have access to open or closed drivers that we can use to run these Broadcom wifi routers).
It's frankly scary how controlled & inflexible the wifi router world is. This is further compounded by a general un-availability of add-on wifi cards: even though these chips are just PCIe devices, there's incredibly poor availability of things like PCIe cards & m.2 and mpcie cards one might add to a regular PC to make one's own wifi-router.
This is all to say, watching Broadcom has been really a scary, horrifying company to watch. The consumerization- the exclusion of the enthusiast & maker- has been very clear with Broadcom in specific, amid a market that's already shaky & at risk. The rich geeks keep fleeing to enterprise gear, the consumer keeps getting more and more stratified tiers of expensive consumer devices, and the ability to run our own networks keeps seemingly vanishing. And Broadcom is a colossus of a company that has obstructed & prevented the kind of healthy, resilient, community-powered growth that has lead to so much progress in every other sector of computing.
Leaving wifi-router discussion, I'm really hoping we start seeing more Broadcom SoC competitors show up with good offering, more single-board-computer offerings. Amlogic is doing very well with keeping upstream support, their S905X3 is a very nice chip. But the Cortex A55 core is not as powerful as the Broadcom's A73's, & there's not the dual-video out. Folks like MediaTek and Qualcomm have lots of good offerings, but no presence in the maker world. NXP does a pretty good job supporting makers, but usually at a high price point for somewhat aged cores. If you do want to investigate alternatives to RPi, this comparison of the Broadcom-based RPi4 vs an
Amlogic S905X3 Odroid-C4 is a decent starting point:
You're not wrong. 10 years ago I had openwrt everywhere. Now I run unifi. Very happy with it (though I wish they'd release that WiFi 6 ap they have in beta) but yeah I don't have control at that level anymore.
Anything capable of playing HD content is going to have a binary blob. The Pi (at least the first version of it) used the same chipset that was in the Nokia N8. Even Nokia got given those blobs.
I also thought that, but then somebody here mentioned (in another topic), that the RK3388 from Rockchip runs entirely blobless. I'm having trouble digging up that post, but i'm sure I did not dream it. I'm hoping that statement applies to other members of the Rockchip family too.
Eben Upton was a Broadcom engineer and executive. He basically used his contacts there to setup Raspberry Pi, and the relationship has continued ever since.
I think if they had the following done right, it would be pretty much on par with open source hardware/software expectations:
1. Hardware datasheets for all components
2. Bootloader available to view the source for, if not completely open source. I understand bootloader can be proprietary tech and they can use non-commercial compete license but allow people to hack them and at the very least view it.
3. All PCB and gerber files available. Clean schematic documentation.
4. HAL/Middleware - this is by far the most crucial portion. The user should be able to write drivers for anything. Right now, if I want to connect a VR 2048x2048 LCD (3.5" square) with a DSI/MIPI interface, I cannot write a driver for this with RPi. It's not entirely their problem either - the DSI org gatekeeps the datasheet and development for it unless you fork out a generate multi thousand dollar membership.
That's all. Obviously they cannot compel each component manufacturer to open source their silicon... at some point the expectation fades.
Bootloader available to view the source for, if not completely open source.
...also known as the original IBM PC/XT/AT, which had the BIOS source code available, although still copyrighted to IBM. However, documentation for everything was in general very well done, and the IBM PC Technical Reference manuals had schematics too.
An older (preferably pre-ME, pre-EFI, pre-secure-boot) standard x86 PC, which you might be able to get for free (although "retrocomputing" enthusiasts have driven demand and cost up), I would consider more open than the RPi ecosystem. More relevantly to the article, they have also been able to boot from USB since the mid 2000s. ;-)
> 2. Bootloader available to view the source for, if not completely open source. I understand bootloader can be proprietary tech and they can use non-commercial compete license but allow people to hack them and at the very least view it.
This is a bit of a nitpick, but assuming point one of your post, tbh as an embedded developer there’s nothing magical or worth protecting in a bootloader. It’s such boring and, in the case of embedded systems on a chip, specialized code that really has no commercial value if the hardware documentation is available except in letting you gatekeep what runs on your chip. As in, anyone with the datasheets can write a bootloader and the bootloader provides no value to someone that has their own (proprietary or knockoff) SoC.
All that is to say, the Broadcom bootloader is closed for the same reason the datasheets and documentation are: it’s to prevent revealing the internals of the chip for fear of making it easier to reverse engineer or clone.
great point, especially since now they try to sell the "compute module" variants which are aimed at commercial use, having to use a blackbox bootloader is wtf and I dont think many companies will accept that
I think there are probably plenty of commercial devices for which the raspberry pi compute module makes perfect sense. Think about things like PoS terminals, information kiosks, digital signage. Why would you bother making your own hardware for those when a raspberry pi is exactly what you want and way cheaper.
What they should do is to leverage their position in the market and convince Broadcom to open source the bootloader and drivers. There are a bunch of binary blobs from Broadcom that are a mystery as to what they do. No docs, no anything. HAL layer is completely at the mercy of Raspbery Pi.
Raspberry Pi is an ecosystem which is based on proprietary technologies and masquerading as an open source friendly thing.
If you want to support proper open source development (I understand, at some point things get proprietary the closer you get to the hardware, but with RPi, there isn't even a datasheet for the processor that you can get your hands on), buy Beagle board and other alternatives.