Categories
Uncategorized

The Future of Open Source

Open Source

Open source software has been around for a long time, and I’ve been following it’s evolution for the past 10 years or so, and in that time I’ve seen it grow from a small idea known only to those in the software world, to something much larger, where everyday people like Aunt Tillie use open source software and think nothing of it.

In the past year since I’ve started working more with hardware, and following the great work of the Arduino team, Adafruit Industries, and others, I’ve seen the rise of open source hardware. Take a look at the Open Source Hardware (OSHW) Statement of Principles and Definition v1.0 and the Open Hardware Summit site for more info.

There’s a great comment by Chris Anderson, highlighted in this blog post at Adafruit. Here’s just a small excerpt:

This is the classic open source hardware model. Software, which costs nothing to distribute, is free. Hardware, which is expensive to make, is priced at the minimum necessary to ensure the healthy growth of a sustainable business to ensure quality, support and availability of the products. All intellectual property is given away, so the community can use it, improve it, make their own variants, etc.

Go there now and read the whole thing.

This got me thinking that eventually open source hardware could be more successful than open source software. If you remember the old concerns about open source software by the business folks, there was always the question of how you would make money from it. You can sell “Premium Editions” or make money by charging for support, you can hire yourselves out as consultants, and offer customized software solutions for customers… The ideas were plenty. Some worked, some didn’t. There were varying degrees of success.

I see open source hardware as pushing beyond that, taking the existing model and improving upon it. The software? Free. Open. Get it rolling, get the community involved, give it away to everyone. You should expect to make no money with software. Sure, it costs money to create software, but it’s a digital good, and making one copy or 1,000 copies has almost the exact same cost.

Hardware, on the other hand, is a physical good. It’s an object, a collection of parts, or things, not just bits of ones and zeros. Hardware costs money because someone, somewhere, assembled some real world thingamabob.

I don’t want to make it sound like hardware is better than software. They’re both equally important. They both need people to design them, create them, market them, and support them. The main difference is that creating 1,000 Arduino-compatible microcontrollers is going to cost more that creating 1,000 copies of the Arduino software. That’s just the reality of digital goods. Once you have one copy, making a lot more is cheap and easy. (And the shipping costs on digital goods are pretty close to zero. I say “pretty close” because there are server costs, bandwidth considerations, and other issues, but you’re not buying boxes, and packaging materials, and paying shipping companies to move goods.

As for the clones, well, that’s just a part of open source hardware, much the same way that an open source software package has forks of the original. Again, the difference is in the support, but support goes both ways. Since open source hardware vendors typically publish everything you need to make their products, you could certainly not buy from them and either build it yourself, or find a company that makes it cheaper. Cheaper is fine. I’m a fan of cheaper, but I’m also someone who believes in supporting those that create things and add value. If it all comes down to nothing but money, we’re pretty much doomed.

(Next time I’ll talk about specific pieces of open source hardware. See you then!)

Categories
Uncategorized

Teensy vs. Atmega32u4 Breakout Board+


Photos from Adafruit Industries.

I remember seeing the Teensy when I was digging into Arduino stuff last year, and it looked interesting, mainly due to it being small and cheap. (I like cheap!) But since I’m a lot more interested in what the Arduino has to offer, I didn’t look into the Teensy very much.

The Teensy is interesting though because out of the box it functions as a USB HID device, which means it can very easily emulate a keyboard or mouse. (See this Awesome Button post for a neat example.)

If you didn’t know, I’m a big fan of Adafruit Industries, not just for their amazing customer service and great products, but for their support of the open source movement, especially the work they’ve done with open source hardware. Adafruit actually sells the Teensy, but they also came out with a product called the “Atmega32u4 Breakout Board+” (terrible name, eh?) which is like a Teensy, but not like a Teensy.

Here’s where it gets weird… or interesting… or both…

By all respects, the Teensy is pretty cool, as I said, it’s small, and cheap, and can emulate a USB HID, and if your project needs that, it’s a good fit. See the Teensy page for more info.

Now, the “Atmega32u4 Breakout Board+” (terrible name) by Adafruit is similar but different. You can check out the Atmega32u4 Breakout Board+ page for more info.

Ultimately, I think I’d prefer to use the Atmega32u4 Breakout Board+ from Adafruit, and for a good explanation, see this Adafruit blog post about the Teensy, and for extra credit, see A Brief Essay About the Benefits of Open-Source Hardware.

It’s a shame the Teensy is not open source hardware, as I’d prefer to support vendors of open source hardware.

So I’ve got a project planned, and it will use a Teensy. So why not use a Atmega32u4 Breakout Board+? The first reason is, I don’t think I’m ready for it. In reading through the Atmega32u4 Breakout Board+ docs and digging through the forums a bit, it looks like Atmega32u4 Breakout Board+ development is not exactly easy for a beginner. I’d like to get into it at some point, but right now, the Teensy seems like an easier path to completing my project, and maybe once it’s done I can look into working with the Atmega32u4 Breakout Board+.

I know this may seem like a small thing, but I’d really like to support open source hardware when I can, the same way I try to support open source software when I can. It’s always a struggle.

Categories
Uncategorized

Developer Perspective

Swirly

I’ve come to realize that when I think about some tool I want to build, it’s typically driven by that “scratch your own itch” idea, where a developer does something because they want to solve their own problem. You’ll most often hear this idea attributed to open source software. Often my ideas come about when I think about who controls my data, or the software that I use. I tend to work towards maintaining my own freedom.

But there’s a whole other side… There are developers who develop something, and it’s not because a client hired them to, but because they think it’s a great idea, and sometimes they do follow the “scratch your own itch” idea, but they also think there’s a great money making opportunity worth exploring. Some developers within this realm are fine with creating something, and either selling it off, or letting it die if it “doesn’t work” or doesn’t become popular.

I’m not suggesting that one idea is better or worse than the other, it’s just an observation. I’m really interested to hear what others think…

Categories
Uncategorized

What is “mostly open source”?

I read a description of a piece of software and someone used the phrase “mostly open source” which I found interesting… So I asked the following question via Twitter

How do you decipher the phrase “mostly open source”?

cruiskeencruiskeen @raster related to “a little bi pregnant”

cjibocjibo @raster 50.1% meaning the rest is crap code

gregtarnoffgregtarnoff @raster They started using open source code, until they got to a point where using it meant they couldn’t make money off it.

genehackgenehack @raster I read that as “we have no idea what we’re saying but think this advances our agenda”

mattressmattress @raster You can alter the parts that are superficial

tomhenrichtomhenrich Partly super-uber-top-triple-secret. RT @raster: how do you decipher the phrase “mostly open source”?

I know I’ve spent time in the past arguing what constitutes “open source” and I probably won’t do that here again. At least not right now. I mean, I figure if you make your code available under an open source license, then it’s open source. There’s a whole series of follow-up questions such as: Are you a good steward of the code? Do you manage the community? Do you accept code from others and roll it back into the project? Those could all be considered parts of being a good “open source citizen” but really, the code, available under an open source license, is what probably makes something open source.

(In other news, the tweet quotes included with this post are something I’m working on to make it easier to reference tweets back on my own blog. I’ve wanted a tool similar to this for years now and haven’t seen one that does what I want. I’m sick of just using screen shots and typing things into the alt tag. There’s got to be a better way, or I’ll try to make one.)

Categories
Uncategorized

Scuttle rides again!

Because I always fear the CloudFail™, and because I like hacking on open source projects and interesting APIs, and because I like to store my own data… I’ve got Scuttle up and running again.

p2url: Bookmarks I started using del.icio.us in 2003 to store my bookmarks. I loved it. Over time del.icio.us had some issues with reliability and there were times when I could not access my bookmarks that were stored in del.icio.us. This made me sad. Around 2005 an open source project named Scuttle appeared, which was basically a clone of del.icio.us you could run on your own server. I ran it on my own server, and put together some code to make it sync up with del.icio.us. (At some point the name changed from “del.icio.us” to “Delicious” but I am calling it del.icio.us here for historical reasons.)

For years this ran on my own home server, and served as a great backup for my bookmarks in del.icio.us. This was all very easy because Scuttle implemented (most of) the del.icio.us API, so syncing the data between the two was so trivial, even a hacker like me could cobble a bit of code together to make it work.

As an interesting sidenote, while del.icio.us ended up being pretty darn reliable (Yahoo! eventually acquired it) others were not so lucky. Ma.gnolia was another social bookmarking site. Ma.gnolia died a tragic death, and lost all data. See http://en.wikipedia.org/wiki/Gnolia#January_2009_total_data_loss for details. This is why having an API is important. This is why having a backup is important. This is why you should trust yourself with your own data.

I’ve collected a few links for the blog posts I wrote about Scuttle, del.icio.us, and related sites.

(Most of the bits above can also be found on the page at: http://p2url.com/bookmarks/about.php/, and while you are welcome to browse through http://p2url.com/bookmarks/ as it is a public site, I’m the only on who will be adding bookmarks to it, because it’s there for me. If you want your own, I encourage you to go make it happen. Let me know if you need help.