In this interview from Edge Magazine, Raspberry Pi Foundation head David Braben gives some interesting food for thought:
What’s Raspberry Pi trying to rekindle?
There was a real enthusiasm for electronic devices when I was a kid. It wasn’t that it was geeky – it was actually quite trendy for a short period of time. But that’s not the point. The thing is that when the focus is on the device itself, that’s one thing, but what you can do with the device is a lot more interesting. [In Raspberry Pi] you’ve got quite a powerful, very cheap device that anyone can carry around, take to school, and hopefully do interesting things with that make it seem less like it’s purely a school thing.We do realise that it’s only going to be a subset of people that will even get engaged with it, but it’s filling a gap where there isn’t actually a place for people to get engaged at the moment. There’s a huge gulf right now between [making UGC in] Halo Forge, Rollercoaster Tycoon or LittleBigPlanet, and things at the top end like XNA where you’ve got to know your bananas to get engaged in it. For me the BBC Micro crossed that gap. Actually, the bottom bit didn’t even exist back then, but it shows that there is a will to learn ‘programming Lego’.
At the moment, on a normal machine you’ve got to know quite a lot to be able to boot Linux, fire up a compiler and get anything to compile. Just to say your own name on the screen is a challenge. Whereas on the BBC, you’d see in every shop that someone had typed, ‘So-and-so is clever,’ or ‘So-and-so smells’. Line 20, Goto 10: that almost entered the vocabulary, it’s so straightforward. It’s understandable even to someone who hasn’t done programming. It would be great if you could take that and wrap it in something where it’s easy to create something – websites, for instance – very easily. You can do it to an extent with things like Java, but it’s much harder to get into, and in terms of teaching it’s much harder as well.
…
So is it safe to assume there will be an analogue to BBC Basic on Raspberry Pi?
Well, we have BBC Basic. It’s not an analogue, it’s the BBC Basic. We’re just checking where we are with the rights to that. There may or may not be an issue with the magic three letters there. But the point is that BBC Basic was hand-optimized on machines that were hundreds and hundreds of times slower than this. So it’ll feel like the speed of Assembler, it’ll run like the wind. And I think that’s very exciting. A Java virtual machine is typically 80mb, often bigger still, which is ludicrous. Whereas my guess is that entirety of BBC Basic will fit easily in [Raspberry Pi’s] primary cache. And that to me, in a perverse way, is very attractive. You could write something in Basic doing fancy graphics processing but where you could look at it and it’s really obvious what it’s doing. That’s great from a teaching point of view, and from a fun point of view.
Personally, I’m still not sold on this whole Raspberry Pi project yet. That’s just my opinion, of course, and I will admit that I can see some handy uses for the kind of functionality the RP (purportedly) offers. I also understand exactly what he’s getting at with the BBC Micro analogy. For many kids in the US in the early 80’s, that role was filled by the Apple II or the Commodore 64. I certainly wish kids today could have the same experience with computers that I had with my //e when I was a kid — being able to dive right in to programming and making the machine perform tasks I thought up myself, rather than just choosing from a menu of pre-ordained tasks someone else has decided to offer to me.
I still wonder, however, just how open (as in hardware) the platform will be. He throws down a somewhat vague gauntlet of sorts here (emphasis mine):
Is the lack of a case a deliberate aesthetic choice?
Yes. It’s a practical thing as well, because this is a developer board – it’s not a consumer device. The plan is to do that next year. But yes, in a sense it’s embracing our roots as well. It’s not being ashamed of what we’re doing, and trying to make things look nice and antiseptic. Which we may do down the line, but that [would be aimed at] a different group of people. I suspect that a lot of Edge readers would go, ‘Oh, that’s cool. You can see exactly what’s on the board.’ The sort of people who do take the lid off their computer and see what’s inside. So I think there’s no shame in what’s there.We’ve made it extremely public what is there. So if other people want to make it I’d actually challenge them to build it for the same price. Never mind retail it for the same price. I think that’s the point, at $25 – $35 we’ve managed to keep the price astonishingly low.
Hmmm…
I hope it comes out soon! *fingers crossed*
Out of interest, what would make the grade for hardware openness here for you?
– Releasing the circuit layout and BOM via an Open License?
I’m not sure what the gold standard is 🙂
I know there’s discussion about the GPU bootstrapping the system and that GPU code being binary only at this stage. That’s not as open as the Free Software/OSS communities would like I’m sure.
I don’t know how that differs from something like the Beaglebone though. Is the GPU binary in the Cortex A8 available as source?
There are some concerns regarding total "open-sourceness" with respect to Raspberry Pi IMO. But this happens a lot when you’re dealing with a SOIC from a specific manufacturer (Broadcom in this case) with an ARM-licensed IP core (not Intel x86 with MMU architecture).
Board Support Packages (BSP’s) are required and the SOIC manufacturer may be reluctant (or slow) to release details about chip specific capabilities and/or access (I question access to the R-Pi’s DSP capability as an example, so-far it seems Broadcom is not forthcoming with this). But these issues are going to appear; trade-offs if you will, especially when you’re goal is minimal build-cost.
One disturbing thing I’m seeing is Raspberry-Pi’s close partnership with the Qt framework. In-particular a recent offer to provide 400 first-ship units to "verifiable" Qt-5 developers. See here:
http://www.raspberrypi.org/archives/369
And this offer seems specific to Qt-5, which is (to say the lease) bleeding-edge today IMHO.
Personally I’ve found the Qt framework to be bloated and cumbersome, especially when dealing with cross-platform stand-alone distributables, something Qt touts as a reason to use the framework. Plus there is the ever evolving and uncertain future of Qt. It has gotten a bit better with respect to copyright and licensing in the evolution from Trolltech to Nokia and to who-knows where next… Especially since Nokia abandoned Symbian in favor of Micro$oft.
All that said, I’m still enthusiastic about the Raspberry Pi project. I still think it is a "disruptive" offering. Time will tell how it evolves. See my comment here on the Adafruit Blog:
http://www.adafruit.com/blog/2011/11/23/the-25-computer/
Best Regards, Drone
@Paul: my concerns are similar to drone’s, particularly with regards to the Qt framework. Various Qt libraries have given me a great deal of trouble in the past, and I have switched software packages from time to time simply to avoid being reliant on their software.
If I am forcibly tied to that framework, I simply will not use this board, because of all the bad experiences I’ve had in the past.
What I find interesting though is the way he talks about how he’d like to see “someone else” making the board. Of course, he’s talking specifically about someone else making the board for the same price (or less) as the central challenge there, but it tells me that there might actually be an option for someone to do that. Granted, it’s quite vague. Perhaps he believes someone else could make the board, but not the software to run on it.
Thanks Drone and johngineer,
WRT the Qt connection, the idea is to have useful tools for education, one of the primary aims of the foundation. Whatever it’s faults I think Qt qualifies as a way for kids or novice programmers to understand and play with coding concepts.
I don’t think the Raspberry Pi are going to be forcing you to use by any stretch. Especially since underneath it all it’s GNU/Linux and you already have the alternative of running RISCOS as well if you don’t like that 🙂
Hopefully seeing the boards in use will encourage Broadcom to open their kimono a little as far as the GPU goes.
Having read the other threads about the Raspberry Pi and the comments I can see what the main issues are here. That clears things up a lot, thanks Drone.
It looks like there are 2 main things:
A) The exciting functions of the chip (HD encode/decode, GPU functions) are not at all documented publicly.
This is frustrating and a dealbreaker. The only hope is that this will be remedied in light of TI’s more stellar efforts with the Sitara/Cortex A8 and Raspberry Pi pushing for this to happen from with and within Broadcom.
B) The binaries for the GPU/bootloader are not available as source. This is less critical to building and improving systems around the chips, but would be the gold standard for embracing a true Open Hardware approach.
At $25 it’s a no brainer decision for me, regardless of their stance on Openness.
I had a Commodore 64 back in the day. Before that I had a Commodore P.E.T. I soldered stuff on that board, and fried quite a few logic chips.
This is what I would call a “computicle”. A unit of computational power. I probably won’t even use the HDMI part of it. I’ll create interesting ‘cases’ so that I can connect them with other things.
It’s just a nice $25 toy as far as I’m concerned. I actually don’t need to see the insides. And at this price point, I can see his point about someone making it cheaper. I would not worry. The way things are going in electronics, someone will make “it” cheaper, soon enough. They don’t have to follow this particular design, they can do anything.
I’d love to see someone make a machine with similar specs, based on a FPGA so that the hardware itself can be reconfigured over time.
“Out of interest, what would make the grade for hardware openness here for you?”
A publicly released TRM covering 90% or more of the functionality of the core SoC powering the device.
See TI’s TRM for the AM3358 as an example of how to do it properly.
People aren’t concerned about the lack of openness GPU-wise – this is kind of par for the course these days. The problem is that the Broadcom chip used on the PI has ZERO documentation. Even TI’s OMAP4430 (traditionally, phone handset CPUs have had more restricted documentation) has significantly more documentation available.
So this is marketed as a “developer-oriented” board when it has some of the least developer-friendly ICs on the planet?
If you think that source code alone is enough, I suggest you look at Broadcom’s BCM4330 wifi driver. This chip has ZERO public documentation and NO comments whatsoever in the code. I wasted 10-15 hours trying to track down a severe battery drain bug on the Samsung Infuse that caused the BCM4330 to fire off an interrupt (waking the CPU from suspend) at 1 Hz. In the end it proved to be an almost undocumented proprietary feature (BT AMP) that wasn’t even applicable to the Infuse (the Infuse uses a CG2900 for Bluetooth instead of the BCM4330, the BCM is used only for Wifi), and Broadcom’s code was so crappy that the driver wouldn’t even compile if you tried to disable said proprietary feature without hacking up other code.
https://github.com/Entropy512/linux_kernel_sgh-i997r/commit/2be740de3fe66590a3b4c9eecce0b786da328d8a – WARNING: Lots of profanity in that commit message. It’s frustrating when a stupid bug like this causes massive battery drain when you’re trying to convince a family member how great Android is.