Why One Person Thinks Raspberry Pi Is Unsuitable For Education
An anonymous reader writes "Raspberry Pi was designed for education. As any popular product is bound to, Raspberry Pi has been criticized a lot for things like lack of a box, absence of supplied charger or even WiFi. Raspberry Pi has a much more fundamental flaw, which directly conflicts with its original goal: it is a black box tightly sealed with patents and protected by corporations. It isn't even remotely an open platform."
The author thinks that patents on ARM are a serious threat to the openness of the platform (among other things like the proprietary GPU blob needed to boot). But even the FSF doesn't go that far. Wired had an editorial with the foundation justifying "selling out a little to sell a lot" that has a lot of info on the choices they had to make to hit their cost target.
To speak about open hardware, there’s a device called Milkymist One based on an FPGA with an embedded LM32 processor. It’s as open as possible and is actually used in production (as opposed to mere hacking) to create some nice video effects.
I went to their site and I see one youtube video of a two man show using it and some screen shots. That's what you call "in production"? If I send you a video of my Raspberry Pi rendering Mandelbrot patterns in front of a crowded room, will you call it "in production?" Furthermore the first thing they say on their site:
Milkymist One
The Milkymist One is an experimental hardware appliance for live video effects.
I appreciate this blog's spirit and he has some valid points (like making it more durable) but he's really overselling some of these devices. He goes so far as to suggest TI's Beagle Board and casually dismisses that it's six or seven times the cost of the Raspberry Pi's Model A. I don't even ... know where to start. I own six Raspberry Pis and one Arduino Mega 2560. They cost me roughly the same.
My work here is dung.
Insanity. There is never going to be a product that satisfies these fucking purists. Go back to your cave and clean your 'pits. You make me sick.
Design something better if you don't like it. Who is stopping you? Most likely the submitter wrote the article.
Only the State obtains its revenue by coercion. - Murray Rothbard
Seriously, you're worried about patents on a microchip? If thats your concern, you're fucked as you won't find one anywhere anytime in the foreseeable future that ISN'T patented.
You'll find one without a patent some time AFTER a fabrication plant opens up that you can afford to use for silly ideas like FOSS chips.
I.E. its not likely to ever happen. Some people have no idea what reality is like at all.
--BitZtream
Well that's just terrible. We'd best remove these horrible closed architectures, and revert to what we had before - those simple to understand Microsoft windows based PC's with simple lectures on how to use Microsoft word!
His solution to getting away from ARM patents is to use an FPGA? Uhm, find me an FPGA chip without a patent then.
Dear Slashdot,
STOP ACCEPTING IGNORANT BLOG SLASVERTISMENTS.
Sorry, but this argument doesn't hold much water. He's assuming that devices useful for education must be composed of parts that are free of any patents, etc. That simply isn't true, and the devices can teach valuable skills and lessons even if some parts are patented by other corporations. I learned a good deal of basic computing using an Apple ][ and I turned out fine, despite any patents of specific parts of the device I used.
They're closed source, built in factories that don't allow public tours. The CAD drawings for parts aren't even available to registered Ford mechanics, never mind the consumer or student. Most auto tech classes only teach installation and repair of OEM parts.
There's no way a student can learn adequately about the repair and maintenance of cars while working on Ford products. This is unacceptable.
Exactly. Who'd want to furnish each child within a class of 30 with their own computer, when they could have a single rounded corner device to share between all of them? Makes perfect sense. +4 internets for you.
It's not perfect in achieving it's goals, so it's unsuitable and totally worthless. Let us go on not having any solution at all and twiddle our thumbs waiting for the 100% perfect option which will never happen.
Seriously, his only objection is "the hardware itself is closed"?
This is intended to be sold into schools, not top-end engineering facilities. Nobody's going to design the next ARM killer at the age of 15. They're going to be getting the idea of breaking problems down into their component parts and developing structured solutions to them. For which this is perfect.
a black box tightly sealed with patents and protected by corporations
So was my Commodore 64. So fucking what?
Bill Gates learned to program on a computer he didn't own though a terminal and look how damaged he is, from that terrible experience. Or not. The point of Raspberry Pi is not to teach children how to build computers, the point is to teach them how to use computers and development scripts, software, and websites, while giving them access to the educational and social benefits of the Internet, inexpensively. Using a binary blob doesn't diminish that.
anyone know if that was open in the way he describes?
On the old 8bit machines you could pretty much figure out how the ROM worked via PEEK, but to be honest, that's something that I do now in my 30's for fun. At the time the real benefit was being able to play around within BASIC, and maybe experiment with a bit of ASM if you wished. Understanding every aspect took years (and I'm still learning new tricks even now, 30 years later....). It was not however 'open' in the sense we use today. It was however relatively open in the sense that you could figure out how it worked, however if you'd copied the architecture and started knocking out cheap BBC clones, you'd have been sued to kingdom come!
Which ones?
I AM A SEXY SHOELESS GOD OF WAR!!!
The quoted article is a troll. It is also whining and elitist. Do we want to encourage programming as a skill, or support a cult of purity? Is a lack of low level open source drivers for the Pi going to have any impact on novices? If you want complete open source platforms, they exist. Just not for $35.
Why is Snark Required?
This is not a good philosophy to have for education, science, or any learning in general. Everything must be out in the open if we are to take it seriously and build on it with new research or ideas.
Bullshit. Teaching does not work that way. If you want to explain how a device 'actually' works, you teach theory (because it is something that crosses the boundaries between architectures, and you are able to isolate small nuggets of knowledge into digestable packets). You may use pseudocode for this, or you may use some diagrams, but you do not use the heavily optimised code that these devices use at their core. The aim is to encourage students to learn, not to scare the shit out of them on day one. What is the point of describing a single architecture down to that microscopic level of detail, when it will be out of production before the child has left university? Teaching is about ideas and concepts, it is not about describing the quirky specifics of the graphics drivers of an already 'old' architecture (it's not ARMv7). This is a device to help 10-16 year olds get their first experience of the lower level aspects of a computer. They have the ability to put together their own linux distros (if they wish), and have full access to most of the sourcecode for the OS (If that interests them). Isn't that enough? Isn't that better than what came before? Or would you prefer teachers taught how adders work by pointing an electron microscope at the chip?
It's interesting that his choice is an FPGA based processor. FPGA's are anything but open. The vendor's backend tools are the only ones allowed to exist. The file formats are architecture details are propriety and secret. Reverse engineer the format and try to create your own tools and the vendor will sue you.
that's what we're doing with the http://rhombus-tech.net/ project. the scope of the project has the goals of the raspberrypi foundation as a subset; CPUs that we are actively pursuing have to have full GPL compliance, and are as open as possible / practical. where binary blobs exist, reverse-engineered alternatives are encouraged to be created. the first CPU Card is based on the Allwinner A10 (ARM Cortex A8, 1ghz, overclockable to 1.5ghz). the binary startup blob which is essential to set the DDR3 RAM timings before continuing with the 2nd phase of the boot process was reverse-engineered a few months ago; the MALI GPU has the limadriver project on the case; efforts are underway to investigate the proprietary video hardware encode/decode engine. we were given full access to the GPL kernel and u-boot sources within 48 hours of asking (even though we did not have a GPL compliance request outstanding).
answering your question, archiebunker: designing something better is a bit harder than you might imagine. full access to technical datasheets is often denied: you are literally at the mercy of the SoC vendor and if they don't like the way you dress, or smell, or if you're not one of their pally-pal pals you can flat-out forget gaining access to the documentation. one of the key reasons is that they simply don't know if you have the expertise, or if you can be trusted not to pass on information to their competitors. so, if it turns out that you don't have the expertise, and you have to come to them with questions, you just cost them money. if you leak information to their competitors, you REALLY just cost them money - serious money.
so what we're doing with the EOMA-68 initiative is to make the hard part - the CPU+DDR3+NAND - be "just a mass-produced component" that you can literally buy off-the-shelf in a retail store. if it comes in a case, you get access to the EOMA-68 interfaces and whatever else the CPU Card has on the user-facing front edge; if you buy it without the case, you also get access to the internal jumpers and additional connectors, for educational and R&D purposes as well as factory-install purposes.
we're getting there. it's been a long haul, and we will not stop. the team behind the initiative will be sticking with this for the next decade, keeping it constantly up-to-date and ensuring that new CPU Cards are always available.
here's the previous article about it - actually it was the PCB layout that was completed - the schematics were completed 2 months ago:
http://hardware.slashdot.org/story/12/09/07/2322207/rhombus-tech-a10-eoma-68-cpu-card-schematics-completed
And as with any results of R&D work are easier to copy than develop your own from scratch, and so closing of portions of a design is needed to protect investment.
If people want to donate their time they are more than welcome to - if you can design and build an equivalent processor+GPU combo for the same per-chip cost then knock yourself out...
Mike
there are quite a lot of other points made in the original post - mention of patents, mention of cost etc etc - so it is quite easy to miss the key words "black box". focussing on the patents themselves in isolation is missing the point. it's *NOT* about the patents. it's about the fact that the device is a "black box".
so it depends on whether you consider hypocrisy to be important or not. many people do not. what broadcom is really saying is "we support education and learning using our products because it's a good wheeze that makes us money and makes us look good at the same time. but you're not permitted to learn about this, this or this feature: we're keeping that entirely secret. if you want the source code, you can fuck off".
the CPU being used has a rather unique design: the GPU boots up the CPU. the fact that the boot-up sequence is critically dependent on a proprietary blob to which no-one is given access REALLY pisses people off. privacy concerns, education hypocrisy: the works.
I started working on an embedded project (hobby, not work) that needed something beefier than an Arduino. Took my time looking at what's out there: various ARM dev boards, the Raspi (with its proprietary Broadcom chip) and one or two other "embeddable" platforms.
Last week, I was working out how to interface to a display (and the grinding that would entail). The same day, Slashdot ran the "hardware is dead" article. So, I took a chance and ordered a generic 7" tablet. They aren't kidding - these things are under $60 shipped. That's like 2 days' parking in downtown SF.
It uses the Allwinner A13 SoC (ARM core, integrated 10/100 ethernet, GPL'd kernel sources). Runs Android 4 out of the box, but Debian will also run. I can just hang an Arduino off the USB bus for my custom I/O, and code up a touch-based interface. Shoot, looks like it'll be easier to develop for than the Raspi.
I'm all for hackery for hackery's sake, but now that it's "the future," I'm glad we don't have to lift ourselves up by the bootstraps in order to do every little thing. It lets me concentrate on hackery at the macro level.
Wrists killing you? Not in 2 weeks. Learn Dvorak.
I was at the Multicore Challenge at the UWE in Bristol, UK on Monday.
I went last year. It was fascinating.
Anyhoo... David May was there talking about multicore parallelism. It turns out that the last patent protecting the Transputer designs has lapsed.
SOoooo... if you want some open hardware get cracking! You can probably run them fast enough these days to bit-bang an LVDS/HDMI/CSI interface with little more than an amp.
Make mine the one with the 16 by 16 array please....
Seriously. Anyone got the balls to try it? I'm in!
Time flies like an arrow. Fruit flies like a banana.
It doesn't need to be open hardware.
The whole point on the education side is to have cheap computers that schools can use in bulk for teaching kids, not a lesson on open platforms. Not a lesson on building tiny computers. It's designed to be a small linux box that can run/make applications; nothing more. How many other computers in education now are completely open down to the individual chips, eh? Hasn't crippled their use in education yet!
Teacher: ... ok and let's now try to see how the video works, pull up the software code.
It is impossible even if the video driver is open source. I spent plenty of time controlling hardware. First, you must have detailed knowledge about specifics of operation of this hardware. It may be hundreds of pages long, with schematic drawings, flow control diagrams, and such. Most of it will be incomprehensible to a novice. It's hard to read even if you are an experienced engineer. Then you must have the code of the driver. Driver is not your garden variety "Hello, World" - it can be written, or just understood, only after the student is already familiar with userspace programming. The trouble is that the driver does not have an identifiable path of execution; it is a collection of subroutines that can be called by different threads, running on different CPU cores, on different IRQLs, and each subroutine does its own special thing. Driver code is cluttered with semaphores, spinlocks, kernel calls (esp. in Windows) and so on. It is very hard to read. Nobody in his right mind would want to teach on that even if both the h/w user's guide and the software sources are available.
There are many good educational projects. In the video department you can build a VGA controller in the FPGA and then you can write a simple application that operates it. Teaching does not mean going into gory details of spinlocks from day zero. But skipping on those on a modern CPU will just cause crashes. Educational assignments have to be carefully constructed so that they teach exactly what is needed, and skip details that are not relevant today. I'm sure when you learned to drive a car it was not done on a NASCAR racetrack in the middle of a race.
Where are schools able to buy identically configured old used computer hardware that is still healthy enough for prolonged student use and small enough that it doesn't take up half the classroom for everyone to have one at $25 a pop, while consuming a fraction of the power usage from traditional machines?
Why would students need expandability for such a learning device?
What performance critical code are students going to be running on the devices that isn't met by what the Pi provides, keeping in mind it can run Quake 3 Arena at 1080p at a modest framerate?
I think your statement is also irrelevant to be honest.