- Raspberry Pi 2 or, better, “Four”!Posted 1 week ago
- Touch Display for Raspberry PiPosted 3 weeks ago
- ArduDisplay, when the display becomes interactive!Posted 1 month ago
- LONG-RANGE TECHNOLOGIES FOR IoTPosted 2 months ago
- 3D Scanning with Microsoft KinectPosted 2 months ago
- Get Crazy with the Smartphone controlled Skateboarding!Posted 2 months ago
- RandA: WebServer applicationPosted 2 months ago
- BananaPi, the latest software updatesPosted 3 months ago
- Embedded MP3 Player & Recorder: The firmwarePosted 3 months ago
- Embedded MP3 Player & Recorder: How it worksPosted 3 months ago
What Open Source Hardware can Learn from Software
When I look at the slowly emerging universe around open source hardware I often have a glimpse of great promises.
Recently we have also published on this blog, a list of worthy projects from the world of ‘open source hardware that has stimulated a lot of discussion and interest on social media.
Some of us still do not realize the potential that a consistent open hardware movement would have if it reaches a global size in which the projects are more visible to one other with an increasing percentage of reuse, exchange and transformation of common artifacts.
The sentence that best evokes the potential of this movement, that I often like to mention is:
“it’s not about not reinventing the wheel, it’s about open sourcing the wheel.”
This sentence by, Marcin Jakubowski, founder of the ambitious Open Source Ecology, reveals all the potential that is behind this: who would write code for a new web server at today? Nobody, we just use Apache or Tornado. Tomorrow no one will design an engine, a transmission or a universal joint from scratch: we’ll create them from a shared open source design.
Open source software is out of a decade of huge successes. When I think back to what was the open source software around 2000 (Linux and a handful of promising projects) and I think what we have today (a set of best in class products that essentially run the Internet) then I think it is natural to dwell of those that were the key choices – consciously or not – to this successful decade.
Is legit to think that, as for what has happened with open software, open hardware will also enable companies around the world (small ones, then bigger, then huge ones) to move up the bar of innovation and devote resources to create short term competitive advantages on top of common, interchangeable components.
As today we see open source products declare support for this or that database, perhaps tomorrow we will see open source engines declare support for different models of car frames, or 3D printers to declare support for this or that extruder.
Now I want to try to draw parallels between these two worlds, to identify the differences that will never be 100% overcome, and the practices that open source hardware should borrow from the open source software success story.
The very first difference between these two worlds that comes to my mind, is the role played in facilitating the explosion of open software, by two basic elements: the existence of common programming languages and shared frameworks.
Java and PHP
Think of Java or PHP: how many open source projects are created around these environments? a LOT.
Java, released as open source by Sun around 2006, had a huge role. Many may not know that Java is the foundation upon which what is arguably one of the most successful open source project in history, Android, has based all its applications environment.
The Dalvik virtual machine is in fact derived from Harmony, an open source Java virtual machine created by the Apache Foundation, which allowed Google to create – in a very limited time – a development environment that was easy to understand and familiar to millions of developers.
Despite the achievements of Java are so incredible – making it still one of the most used frameworks for the development, twenty years since its creation – PHP itself perhaps had an even greater role in the development of the web. A large proportion of sites in the world is working thanks to this technology and, in time, PHP become part of an even more powerful framework: the LAMP stack, with Linux, Apache and MySQL.
More recently, we can even think about the role that Twitter Bootstrap is having: a lot of interesting, often open source, projects are basing them on the framework that Twitter released as open source (Apache License) in 2011.
Another fundamental advantage that open source has been able to exploit in the years has been the relative centralization of repositories for source access.
A common approach to versioning has made it easier the contaminations between projects and the emergence of a community of developers with a remixing point of view.
As some of you may already know, GIT, the protocol behind GitHub which is basically its as a Service implementation, was created in 2005 by Linus Torvalds. From a wonderful article that appeared in Wired in February 2012:
“…Using Git, anybody can tinker with their own version of Linux — or indeed any software project — and then, with a push of a button, share those changes with Torvalds or anyone else. There is no gatekeeper. In practical terms, Torvalds created a tool that makes it easy for someone to create an alternative to his Linux project. In technical terms, that’s called a “fork”
Fork: this is the word that has made the incredible success of GitHub, a fully bootstrapped startup now having almost (positively) embarrassing financials.
Again from the Wired article I like to quote another key passage:
“Back in the 1990s, forking was supposed to be a bad thing. It’s what created all of those competing, incompatible versions of Unix. For a while, there was a big fear that someone would somehow create their own fork of Linux, a version of the operating system that wouldn’t run the same programs or work in the same way.
But in the Git world, forking is good. The trick was to make sure the improvements people worked out could be shared back with the community. It’s better to let people fork a project and tinker away with their own changes, than to shut them out altogether by only letting a few trusted authorities touch the code.”
Here’s the key: a simple way to encourage changes and contribution (in the hope which proved true that this could facilitate the emergence of a an ultra innovative context).
Is OSS smaller than OSHW?
The main problem now with open hardware, is that to have something to what GIT and GitHub were for software is much more complicated.
The main difference lies not so much in the management of files – many open hardware projects already manage all documentation via GitHub today – but in the realization of real-world projects that generate a tangible impact on productive activities.
While with software you just click a button and start the “build” process that will produce the software to put into production, the process of “building” objects, open hardware artifacts – such as an electronic board or even a chair – is relevantly more complex and requires a substantial set of support tools, such as installation guides or the trivial details within a Bill of Materials (which in the world of software we can just settle thanks to a #include at the beginning of a file)
So far the documentation necessary to replicate open hardware projects is much bigger – the challenge to replicate a real artifact – than that which normally accompanies an open source software and tools that want to play a similar role had by GitHub, for hardware, will certainly be something more structured and complex.
Another fundamental not negligible difference and is related to interfaces. Despite drawing common interfaces in the digital world is simpler than in the analog world, this does not mean that interface design and standardization didn’t play a key role in the world of computer software.
For example, today’s Internet is interoperated around a fairly limited number of standard APIs such as the generation of JSON and XML and, more in general, by means of best practices and paradigms such as RESTtful.
In addition, this type of interfaces have helped the open source software to penetrate gradually into the contexts in which proprietary software was still the master, often substituting it day after day.
Several attempts are underway to replicate this type of approach in the hardware world: we have recently spotted Open Structures OSGrid on this blog, and a less ambitious but interesting example can also be found in MakerBeam, a project funded on kickstarter and then ended up for sale at SparkFun, which is also operating as a basis for the creation of more complex projects, such as the polar plotter.
Therefore, to consider interfaces key and to encourage modular design that enables re-use, emerge as major challenges with still not so clear solutions at today.
The real growth of the movement will also inevitably be linked to the capacity that the world of open hardware will have to come to the market with credible and, most importantly, available products. With software it took a website and a download button: hardware distribution is more complicated as it takes workshops and small factories, such as those in which you can build a tractor, a car or an engine.
In the real world distribution counts and means of production are not as easily accessible as on the web, despite examples of on demand production networks – fated to grow and distribute worldwide – such as those represented by Alibaba or Shapeways give a glimpse that something like this could happen soon.
Once this will be achieved, tangibly lower costs and the benefit coming from participatory and community driven innovation will be so clear to catch the attention of all the actors of the productive chain and the obvious advantages in not reinventing the wheel, but in making it, rather, open source, will get clear for everybody.
If you liked the post, you shall follow @meedabyte on twitter.
About Simone CiceroSimone Cicero is a blogger (at meedabyte.com), strategist & speaker. Simone is also a long time Open Source advocate and Open Source Electronics editor. Follow him on twitter at @meedabyte
Top 5 Wireless Ways to Communicate with your Controller
One of the strongest trend we have seen this year...
- Posted 4 months ago
PCB Recycling: The Core of Your Electronics Is More Valuable Than You Think
The screen you are looking at this very moment will...
- Posted 5 months ago
Most Exciting Products and Open Source Highlights at CES 2015
The 2015 edition of the Consumer Electronics Show in Las...
- Posted 5 months ago
Top Ten most exciting news in Open Hardware in 2014
Here we are, the 2015 is fresh starting and as...
- Posted 5 months ago
Merry Christmas and a Open New Year
Here we are, a great year full of innovations and...
- Posted 6 months ago
A Report from the Second European Maker Faire in Rome
The second Italian edition of the European Maker Faire, held...
- Posted 9 months ago
Open Hardware Summit 2014 Rome: From Making Open to Open Manufacturing
It’s already several years that we talk about open source...
- Posted 1 year ago
Raspberry Pi and the Camera Pi module: face recognition tutorial
An area of application of Computer Vision, one that has...
- Posted 8 months ago
Computer Vision with Raspberry Pi and the Camera Pi module
Let’s see how to use the Camera Pi module, a...
- Posted 9 months ago
Welcome OpenWheels the Open Source personal vehicle inspired by the Segway
(This is the second post of the OpenWheels series....
- Posted 1 year ago
Press a button and Send a Tweet thanks to Arduino YÚN
After the Yun presentation post, we are going to present...
- Posted 2 years ago
Here are the Winners from the 3Drag 3d printing contest
Here we are, eventually the contest has come to an...
- Posted 8 months ago
Updates from the 3Drag 3dprinting contest: Roland Hoffert’s Hacks
Roland Hoffert, from www.eytec.de, submitted us this 3Drag (Velleman K8200...
Updates from the 3Drag 3dprinting contest: Karl Seiss’s Hack
Karl Seiss from Austria made a very clever hack to...
Updates from the 3Drag 3dprinting contest: Fa)(a from Giacomo Falaschi
Giacomo Falaschi sent us his Falla3D new printer project: you...
Arduino ISP (In System Programming) and stand-alone circuits
We use an Arduino to program other ATmega without...
- Posted 3 years ago
Razer’s open source virtual reality project now supports Android devices
Razer’s open source virtual reality project will support Android,...
- Posted 19 hours ago
IBM donates machine learning tech to Apache Spark open source community- The Inquirer
IBM HAS DONATED a major piece of software to...
- Posted 3 days ago
Facebook open-sources Infer, a code-verification tool that squishes bugs before mobile apps ship
Facebook has announced that it’s open-sourcing Infer, a code...
- Posted 4 days ago
Open Sourcing Linkedin Pinot: Scaling the Wall of Real-Time Analytics
Linkedin, the most famous professionals social network is also...
- Posted 5 days ago