6 ms·
I think one of the primary reasons that it is such a dumpster fire is there traditionally hasn't been an "open" ecosystem in the hardware world, though now they
by jpleger 3y ago
I think one of the primary reasons that it is such a dumpster fire is there traditionally hasn't been an "open" ecosystem in the hardware world, though now they are being forced towards that direction kicking and screaming.
Every part of the hardware ecosystem has traditionally been done in closed, NDA ridden environments and only over the last 5-10 years has that even started to change.
Designing chips has required NDA-based PDKs. Designing complex PCBs has required closed-source EDA tools. Interacting with any of the IC peripherals often requires binary or non-redistributable firmware.
Hell, even with the modern "open" switch architectures, like Trident3, you can't get software or detailed datasheets from broadcom without an NDA. Same thing with some of the ARM based stuff like with the Raspberry Pi.
- kevin_thibedeau 3y agoMost electrical components have traditionally had open datasheets. It is only a relatively recent phenomenon that mass market ICs are locked behind NDAs.
- sitzkrieg 3y agoi only hit NDA on secure element chips and similar things. 99% of my embedding work is plain ol mcus w reams of datasheets available. i do not do pc stuff tho
- slaymaker1907 3y agoOne common component where things are really secretive is with flash storage. This is because the underlying physical components are pretty commodified, and the software/firmware (like block virtual addressing) is where brands actually distinguish themselves. It's kind of unfortunate since there's a lot of really cool stuff you could do with more control over the hardware like reducing the size of a failing disk to extend its life instead of complex wear-leveling techniques.
- jrockway 3y agoIf I'm ever going to get on the conspiracy theory bandwagon, it will be on two topics: 1) Return to office. 2) Why we need a dedicated CPU and DRAM attached to flash memory. You can garbage collect and wear level in your OS if you want to. Manufacturers say "no, we have a super secret secret sauce that nobody else could possibly improve upon". Uh huh, sure.
- CrazyStat 3y ago> 1) Return to office. In the spirit of unbridled conspiracy theory (i.e. I have no evidence for this and don't believe it is generally true): Landlords are paying CxOs kickbacks to push return to office in order to prop up commercial real estate.
- jrockway 3y agoMaybe. The most compelling reason I have heard is it's an easy way to get attrition. You don't have to do layoffs, which are expensive emotionally and financially.
- srcreigh 3y agoIn my city office buildings are being converted to residential housing. 3 buildings recently in an area of population size 250k.
- hoosieree 3y agoWhat part of the world? I've heard that the cost of converting office spaces to residential is more than building new.
- FridgeSeal 3y agoPeople keep telling me this too, so I’d be super interested to know if it wasn’t the case, because it really feels like a weak/overinflated reason.
- SV_BubbleTime 3y agoThat is my experience, for NDA, Atmel wouldn’t let you see a datasheet without it. But, I’m starting to see fairly typical data sheets for micros being hidden away behind portals.
- jrockway 3y agoIt really depends on the complexity. Sure, 555 timers and even microcontrollers have datasheets. CPUs that run Linux, Wifi chips supporting recent standards, etc.? Rare. This is why Linux in the 90s was a big pain; you get some random Ethernet chip and there is no documentation on how to talk to it, so you're just dead in the water. (I think Android was the turning point. From then on, stuff had to support Linux, because Mobile was the future and Apple wasn't going to buy your chip. But of course, "works on Linux" means that it works in the hardware vendor's 3-year-old version of Linux. And "works" is always up in the air when hardware vendors start writing code.) When I worked on embedded devices, we would report bugs and the vendor would send us new datasheets with updated known issues; updated to include the issue we reported. Or we'd do something like "the datasheet says it can handle a 100MHz clock but it's very unreliable" and they'd send back a datasheet saying it only supports 50MHz. That's the reason that datasheets are closed, every customer gets their own datasheet. The more you get into higher margin stuff, be it hardware or software, the more you'll run into datasheets or branches just for you. It is weird and inefficient. But cheaper than testing it yourself.
- reaperman 3y ago> But cheaper than testing it yourself. It always felt like, IMO, that we end up testing it ourselves anyways. Obviously we don't go through the whole spec, but like you, we implement what we need and find the relevant bugs/errata ourselves. It's very painful to run across these and I don't recall an MCU that doesn't have at least one that we run into and have to workaround because development is already deep enough that we're economically locked it and it wouldn't be worth the rework to switch to a different MCU. Sometimes the bugs are in the silicon, sometimes they're in the middleware, but both are very painful to root-cause.
- themaninthedark 3y agoI think that they were saying it was cheaper for the manufacturer to not test it and use their customers as bug testers and troubleshooters.
- mfuzzey 3y ago
- stavros 3y agoWhat forces them toward an open ecosystem?
- AnthonyMouse 3y agoCustomer demand. If you're Google or AWS or any sufficiently large customer and the black box firmware is getting in your way, you have the resources to roll your own. Then the incumbents not only lose their business, they face the prospect of new competition when that company publishes the documentation and firmware because they're more interested in commodifying their complement and getting bug reports on what they're now using internally than in competing in that commodity market. Then from the other end, RISC-V is starting to get good enough that relatively small companies can put the pieces together into useful open products that compete with closed incumbents. The hardware vendors are better off to get in front of it and publish the same for their own hardware so they can gain some market share in the time before everybody is doing it.
- stavros 3y agoThat's interesting, thanks!
- gchadwick 3y agoWe're aiming to push things in the other direction with OpenTitan: https://github.com/lowRISC/opentitan/ https://github.com/lowRISC/opentitan/ It's an Open Silicon root of trust, all RTL (the actual hardware design in SystemVerilog), firmware, documentation and verification environment is open source and in the repository I just linked. We're closing in on our first discrete chip (details here https://opensource.googleblog.com/2023/06/opentitan-rtl-freeze.html.html https://opensource.googleblog.com/2023/06/opentitan-rtl-free... and https://lowrisc.org/blog/2023/06/opentitans-rtl-freeze-leveraging-transparency-to-create-trustworthy-computing/ https://lowrisc.org/blog/2023/06/opentitans-rtl-freeze-lever...) and have lots more in the pipeline (our project director Dom Rizzo gave a keynote at the Barcelona RISC-V Europe summit recently with some details, sadly not available on video yet). The hope is this will be a real proof point of the value of open source in hardware and, if as successful as we like it to be, can push the industry from a closed by default to people having to justify why they're not using open technology.
- tiffanyg 3y agoI like this approach, speaking from a very general perspective (very uneducated regarding hardware, comparatively). Absolutely brings back memories of the 90s and arguments regarding open vs closed source and "security through obscurity". Security through obscurity doesn't work, ultimately. When economic stakes are / were lower, it CAN have benefits. At this point, I suspect it's likely that more eyes and openness is better. That said, I do think that the best solution is likely to be based in a mixture of approaches, much as has been pursued (to my knowledge) and developed over time already. However, personally, I'm a big fan of "formal methods" and seeing more real-world deployment of such methods. In practice, as has been done that I've seen, you start with small & critical subsystems, trying to design for "parsimony" - making formal methods and everything else more realistic / practical (e.g., "microkernels", everyone's favorite 'solution' since the 80s, at least). But, it's all very challenging because then it has to be balanced against performance, cost, etc. Not sure this comment adds much, here - again, not an area I have much direct knowledge or experience in - but, your comment did bring some analogous areas and work I'm more familiar with to mind.
- hlandau 3y ago
- mozman 3y agoHaving ran my own internal hw/warranty service for many years hw management is a skill, there are a lot of traces and if you have a cold joint, zinc whiskers, etc it can wreak havoc and diagnostic skills are imperative. Diagnosis is much more important than open, as to truly diagnose with open will require EE level skills and time which is not free.
- orbital-decay 3y ago> I think one of the primary reasons that it is such a dumpster fire is there traditionally hasn't been an "open" ecosystem in the hardware world Is it, though? Software thrives because it has an open ecosystem. But it's no less of a dumpster fire of complexity, being slowly buried under the technical debt. We literally have decades-old system designs wrapped into multiple layers of progressively newer systems, and openness doesn't help here. Most software is write-only. The overarching reason might be the lack of refactoring and feedback loops. It's more related to the production cycles and incentives than to the second-order effects of openness.
- adrian_b 3y agoTraditionally there hasn't been an "open" ecosystem in the hardware world only if the "traditions" are understood to be no older than three decades ago. The IBM Personal Computer has been amazingly open and this has been tremendously important for the evolution of the computer industry, by creating de facto hardware standards. Unfortunately many managers have been less impressed by the huge benefits for the entire society that this openness has caused, than by the fact that later IBM has failed to exploit as well as their competitors the open standards created by themselves, for increasing their profits. Then, slowly after 1990 and more and more after 2000, the ugly fashion of secret documentation and NDAs designed to prevent competition on the markets, with the hope of enabling higher product prices, has spread everywhere. It is impossible to estimate whether this secrecy has ever been profitable for the companies that practice it, because while it has prevented the apparition of competitors that would have lowered the prices, it has also limited the sizes of the markets in which their products are sold by limiting their customer list mostly to the already existing, because many of the potential customers cannot evaluate whether a product is suitable for their needs. In order to accept the harassment of an NDA, you must be already convinced that you need that product. Before this annoying NDA practice, it was normal to evaluate a much greater number of products for any new project and it was much more frequent to decide for new suppliers. The NDAs may be beneficial for those who strongly dominate a market, so they do not hope to grow, but only to retain their captive customers, but they prevent the growth of the smaller companies. Nevertheless, most small companies appear to stupidly imitate the behavior of the big ones and they are equally secretive about their products, which does not have any rational justification.
- initramfs 3y agoI completely agree here. I would say that POSIX is to software and OSI layers as the PC/104, ATX standards are to hardware design. Software designers, being the privileged bunch, wags the hardware dog, when the limitations of hardware previously limited software decadence prior to the late 90s. I'm not advocating for dominance of one over the other, but great design requires coordination. I wanted to say "platform independent", but that can sometimes introduce its own issues. I don't think there is such a thing as "too platform agnostic" until it runs into performance and compatibility issues. A few months ago, Hackaday wrote on the Single Board Computer ecosystem, and lamenting the lack of standards (some which have more to do with connectors that dimensions of the board): https://hackaday.com/2022/10/05/the-state-of-the-sbc-interface-ecosystem-is-it-time-to-design-a-standard/ https://hackaday.com/2022/10/05/the-state-of-the-sbc-interfa... I would add to that, that SBCs are little more than glorified motherboards, with major developers- Raspberry Pi, Beaglebone, Orange Pi, Rock Pi, not all discussing their form factors, feeling a $25 board is too cheap to require a discussion on mounting holes, similar to ITX and ATX. I've built PCs since the 2000s. My first was a VIA C7 with integrated CPU. I still have an integrated ASROCK AMD E-350 in an ITX form factor (E350M1), Which I can use in an ATX case, or a tiny MBox 350 case. A never adopted mobile standard, such as Mobile-ITX, and EOMA68, allows hand-me-down boards to be repurposed into laptop cases, such as the Pi-Top v3. Most buyers of a RPi 3 have a desktop PC, or laptop, and might not use it as one, but at the same time, someone in the 3rd world might, and the laptop form factor isn't going away anytime soon (despite the interest in VR/AR glasses). Even if some laptops are getting much slimmer than a PiTop v3, there are still many gaming laptops keeping up the bulky form factor alive. One of the failures of the OLPC was the battery life, and that it wasn't really repairable or upgradeable. This isn't to say there needs to be a laptop for everyone, but that a lot of the obvious issues have already been addressed with truly solar powerable computers, such as the Ambiq Apollo 4, which run at 6uA/mhz (and they have plans to develop a linux-capable chip in an Apollo4 like energy footprint). The Raspberry Pi is already a household name, for over 10 years, and yet they are more ignorant of competing boards. If you see all the boards out there- Pine 64, Caninos Loucous, it's like "Join my platform!" We're the virtuous developers, using all GPL software. But honestly, I don't think someone who has no PC really cares about that- they might, if they had the time to read about the differences between open source, BSD and GPL, but I think the engineers at Broadcom and RPi seem to think that, the environment is an inevitable victim, and not much effort should be spent on component design when it seems like such a low priority in designing something for only 3-4 years of product support, and they aren't even going to think about it after its official End of Life. To that , I say, if someone handed me a bunch of salvaged parts- an empty laptop case, a Raspberry Pi 3, I could put it together. But if someone just handed me a Rpi 3, and a keyboard, and a mouse, and a USB power, and a 720 monitor, and I live in a country with no power, that's not a really practical solution. It's more future proof to develop a form factor that can outlive its individual components. so that while a LCD display on a modular laptop might only be 13" and use 2 watts of power today, it could be designed today, and a future one that can be retrofitted, like a large SHARP Memory in Pixel one, that uses 30mW, could be solar powered. And it wouldn't require buying a new laptop case. (For reference a 4.4" MIP uses around 5mW) At the very worst, SBC makers would have to allocate more empty PCB space to fit a form factor, when they could get by making a smaller one (or at least having to pay for developing 2 form factors, one "universal.") Yet, it wouldn't be as embarrassing as Walmart's $200 Linux PC in 2007, which used an embedded VIA C7 in a Mini-ITX motherboard, in a Mid-ATX case, to keep up the appearance of face. https://www.wired.com/2007/10/200-everex-gree/ https://www.wired.com/2007/10/200-everex-gree/ (And there isn't really anything wrong with having an ITX in a full-ATX either, esp if installing a 3-slot RTX 4090. At best, more users might be willing to buy a universal form factor because they could easily adapt it to components they already have. Of course, I'm only addressing a very specific issue/request, and it isn't suggesting that technology is going to solve everything. There is a book written on the OLPC that already addresses its failures "The Charisma Machine". In my opinion, though, a computer is a tool that can serve more as an appliance than a service, much like TI-Solar calculators were useful tools. Software as a Service and Apple (Hardware as a Service), are not always practical solutions, because not everyone can afford the security updates (and sometimes, the application might not even require it, like a public kiosk for general information). I think computers reaching their "end-of-life" have a utility at the very least, as an offline encyclopedia, and e-library.