In part 2 of this week's conversation, we looked at the Community. Today, we'll move onto the related topic of Open and Closed source, and also talk about that old chestnut, smart parking meters...
Hakim: Still on "Thinking about Prototyping", we've got the subheading "open source vs closed source". We've touched on that.
Adrian: Well we've covered some of it... though really much more on the open source side of it.
Hakim: but we don't want the book to alienate people who do want closed source... Intellectual Property rights and so on.
Adrian: Yeah... it's quite a personal decision when you're doing things, and some people are more up for the closed source approach. And I suppose with us having, as we said earlier, a tendency to open source, we might be arguing that these are the advantges... I guess my concern is trying to think about things that would make me make something that's closed source.
So, for example, many of the things I've built for clients are closed source, because that's what they want, and that's fine. But at the same time, even the Mazzini power monitor, which was my first ever Arduino project, which measured how much electricity my server used... I was always undecided because... it was tricky and hampered it a little, because you get some people who talk about things being open source while not really being, because there's a cachet about the community and promotion that you can get if you go "look at this cool open source project I'm doing!"
There was a sensor board recently that was using "the wrong Ethernet chip" for things, and I took issue on some level with it on twitter, and I asked why there were using that chip because it doesn't do TCP/IP properly, so could cause problems with not enough buffers and so on. And his defence was that it doesn't matter, because he wasn't going to send lots of data with the sensors, he was only going to send small packets, and he could code around those problems. To which I replied that he was supposed to be an "open sensor platform" or similar... I forget the details, so basically he was saying he's open source. And he replied that of course he was an open platform. But for me, an open platform means that I could put whatever sensors I like onto it, and not just whatever sensors he's built. So that's him, in my opinions, being only partially open, while trading on the idea of openness, until you dig into it.
And that's not necessarily a problem but... I've seen the flipside because when I was building the Mazzini stuff, my take on it has always been, and still is, despite the fact that I haven't released anything for it yet, is that I'd like it to be open source... but at the same time, I like to pay the rent, and have food, and be able to live. And I guess some of that is just a fear to some extent. And some people who embrace the open source thing properly do seem to do OK out of it. But maybe that's just that the people who are popular enough on the internet are the ones who were successful and picked the right fields to be in. So fields like building little add-on shields for the Arduino... there are a lot of people like... Jimmy Rodgers, who does the LoL shield, which is the Lots-of-LEDs shield, which is just covered in LEDs, and it's quite easy, with some chips to make it easy to program. And I think he doesn't sell them as such, but he makes some PCBs and then Adafruit and Oomlout and the standard distributors sell it and he gets a royalty for that. And I think he does reasonably well out of that and can then tour round the world going to makerfaires and hackspace meetings doing what he wants. Assuming he still wants to do that. It seems to be what he's enjoying at the moment, and it facilitates that, and that's cool. But that's the sort of product where you think, the people he's selling it to are the people in the Arduino community, who are open to that sort of things, and supportive of open source community.
So those sorts of products, where there's a community you're selling to that understand open source are more likely to pick the open source version than the closed version, because they feel... even if they don't do anything with it, that they can hack on it. And it's one of the factors in me buying the car stereo I've got... because it's just Linux and I can do cool things with it. And I've not. And I've had the car stereo for a decade... but I could!
A lot of geeks buy shit that's open source just on the off chance. But that's geeks. And they're obviously a subset of the population of the world.
Hakim: So... one good example would be: is Bubblino open source? And by that I guess I mean is the Arduino code, and the schematics, and possibly as a separate question, the backend webserver code that you use to configure him open sourced?
Adrian: that's a very good question... because he's a mixture, I suppose. So, the Arduino code is on Google Code, and it's available. It's one of the examples I use in my IoT course, and it's one of the exampels that will be in the IOTM kits, when they go on sale. So yeah, the code for Bubblino is open source. The schematic's fairly simple. And it is in the slidedeck that I gave at the first Barcamp Liverpool, when Bubblino was born. But I suppose I haven't gone out of my way to publish that. Partly just because it's really trivial. It's just a transistor, a resistor, and a diode, driving a motor. It's not complicated stuff. I'm not quite sure why I haven't bundled that as part of it. Partly round tuits, I suppose. Partly I do make money from selling Bubblini... so part of me thinks the Code is the most important bit of it, and what you hook it up to, the thing, is reasonably easy to work out... and if anybody's asked me, I've generally pointed them in the right place, but I'm not got around to publishing it anywhere particular.
And the backend code I haven't published. Partly because it felt a bit like one of the ways that I differentiated the product... with what made sense for how to configure one of these devices. And so it felt a bit more like a "trade secret". And it's not that hard to work out. If you got a Bubblino you could packet sniff him and work out what he's doing. Of course that code isn't released.
Hakim: Of course I'll be asking you for tips about that...
Adrian: well really, there's not that much to it. I probably should release it, but at the time it felt like it might be something a bit more of a commercial advantage...
So... Francis Irving, the CEO of ScraperWiki, talked about it in the Opensource Entrepreneurship session that he and I were on the panel for during GEC week in Liverpool. He has this idea that you can use open source as a weapon... where you open source things that aren't core to your company, and you do it quite aggressively, to undermine your competitors. So the example he uses is that Google had this idea of the server racks, which are commodity hardware, but they're still quite secretive about how they're wired up and what power systems they use. And they talk about the fact that it's "just commodity hardware" so people think it's just racks of PCs effectively, but... once you start trying to put racks and racks of PCs together, and talk to them in a situation where any one of them might fail...
So there are some secrets, and some knowledge in that. And Google saw that as one of their competitive advantages. Now... Facebook have similar issues, in that they need lots of servers to cope with their processing. And they decided that they'd open source all of how they built their server rack farm, because that undermines Google. Now suddenly Facebook are the company who are publishing this information, and the community hopefully supports them and gives them kudos. And feeds in new ways to do it better and improve it. So suddenty their server facility costs drop a bit because other people are doing some of their work for them.
Hakim: Which is also the fact for the Amazon EC2 cloud sutff, which people have published clouds that run to the same API, because it's a de facto standard, and so on.
Adrian: Google do do this a lot. Like the undermine Apple's revenues by releasing a phone OS that's predominantly open source, and they do a browser that's mostly open source. But the thing is they don't open source things like their search algorithms, which they're ridiculously secretive about... so they talk about how everything should be open source, and then neglect to mention that what they really mean "everything apart from things like search algorithms, because they're quite important to us".
Francis's take is that you should open source everything that isn't core to your business. You find the thing that's your competitive advantage and you don't open source that. But everything else is just ancillary and supports you, and you should get the benefits of the community for that.
I'm not totally convinced that that always make sense. Because there is a cost to open sourcing stuff too.
Hakim: Yes. Even just getting it to the standard that you're happy to release it to the public. And the effort of publishing it. Though these days the barrier to entry is lowered with things like git and github.
Adrian: Yes, but you still have to cope with people asking you about it if it doesn't work properly. Or cope with the fact that you get thought about badly if you don't maintain it properly and you don't respond to bug reports.
Hakim: There are definitely different ways of interacting with the community though. So for example in the Perl community that I know well, there are many companies who don't publish a lot of code necessarily, but will sponsor the conferences, or drinks, and very noisily hire a lot of people, and a lot of good people. And maybe they'll send people to conferences, which is a good thing.
Adrian: And perhaps they will be flexible about letting people work on the open source code while they're using such and such a module anyway. So the company may pay for the maintenance or ongoing development of code.
But again... we haven't come up with many reasons to have closed source.
Hakim: Well, we've agreed that people need to eat... and sometimes and sometimes it either is, or seems to be, important to get coin at the end of the day.
Adrian: The other reason that Mazzini hasn't been open sourced... and, well, I haven't made any money from it either, but though I'd like it to be open sourced, but initially the reason I didn't from the start is that I was expecting that it could become mass-market. And once something is mass-market, you move outside the community that cares about whether something is open source and you're into the market that only carea bout how much it costs...
And you're also into the size that it's worth copying you. And there are lots of companies in China or wherever that could just copy it. And you've done all the development, and then they can use their existing marketing and distribution channel clout to make profit. Just getting-to-market know-how that you don't have, to profit from your idea.
And depending on what it is, that might just be a bit annoying, but you can still do really well out of it, or you might get nothing for it. And some of it is a misguided feeling at times...
I've worked for companies that have been just paranoid about using open source. And I don't know if that's changed now, because the last time I was in a company like that was in they year 2000, and I think the landscape has shifted a lot towards open source, and it's more accepted and understood. At least in software.
Back in 2000, you almost weren't allowed to even download open source, because if you looked at the code, and wrote something closed source, you might be using ideas from it, and it might be too much of a risk, because you could infected by it.
Hakim: Even though the lawsuits about this kind of thing usually happen the other way around...
Adrian: Companies are often a lot warier about things than you'd think. So while you might think they'd look at open source and go "yay!" and just steal it, maybe they wouldn't, because they're worried about the GPL infecting everything they've ever built... and if you're a closed source company, that could be disastrous.
Hakim: This is fascinating stuff.. when we talked about having a business models chapter, I think both of us who aren't MBA graduates or whatever but thought it should be there. And I wondered how interesting it would be to write, but I think it really will be.
Adrian: I think hard to write maybe. But definitely important to have in there. I guess some of that comes from what DoES is doing. And the reason I'm involved in setting up a maker community in Liverpool is that the IoT is at the early point that there are lots of fortunes to be made. And of course I'd like one of those fortunes to be mine, but I'd also like some of the other fortunes to be other people in Liverpool. I don't want to be the only IoT millionnaire in Liverpool.
Hakim: That's a great ambition.
Adrian: So I think the business models side of things is important. Because some of the people who the book appeals to won't be... It feels like there's all these companies like IBM and HP and Cisco and big lumbering IT firms going "Excellent, there's a whole new market to conquer, and make loads of money in consultancy fees from". And they're really ready for it.
Whereas the people at the more fun, human, enchanted objects end, who want to make the world nicer rather than just grinding money out of a new way of doing things with computers, aren't going to be as business savvy and as business minded. And I suppose we're trying to infect them with the idea that there are things they can do without becoming IBM.
Hakim: It is, again, the idea that IoT is a "disruptive technology". And again the book is largely about IoT for humans...
But.. a counterexample, think about the iPad which has been referred to as a piece of "magical" technology, and which does reportedly make people very happy (and possibly very poor, as they're not cheap), but people who like them are delighted with them, and think of them as being a fun piece of technology, on a very human level... So it's not just that big corporates are selling efficiency driving machines. So we are sometimes in danger of stereotyping.
Adrian: Yes, I am in danger of that (laughs). I've had this argument almost with someone from IBM. At the IoT thing in London that I spoke at in December there were at least 2 IBMers in the audience, and I think on twitter somebody complained about IBM and I tweeted about "smart parking meters" because they seem to be becoming almost the "smart city" equivalent of the Internet Fridge. And it may be usurping the internet fridge as the really crap ubiquitous example of what this technology is going to look like.
Because... the internet fridge is how the IoT will enter your home, because you'll have this fridge that will order stuff for you. And then the IoT parking meter will suddenly have all the parking meters in the city internet enabled, and you're just driving into the city and need to park somewhere, and your satnav will tell you where the nearest parking meters are, and how much they cost, because you could have variable pricing, and offer to book one for you. And maybe that's more efficent, or maybe it's a way to gouge more money out of you, because rich people can park where they like and everyone else gets the second rate slots... which is a whole other ethics question.
So there was some study that showed that carbon emissions would be lower if we had smart parking meters, because the average car circles 5 blocks in San Francisco before it finds a parking space. And on some level that sounds like a good thing to have. But it gets to the point that the parking meters are aware of who's parked there, and will bill you automatically. So you'd never get away with not having change and needing to nip into the newsagent, but because the minimum fee is an hour, you'd have to pay for that whole hour.
Whereas as we are now, you can be a bit furbi as the Italians say, and "get away with it". It's those edge-cases where, yes, strictly speaking you should pay for that 1 minute, but maybe you can get away with it, and sometimes you have to pay a fine. So it's about mindsets about rules, and whether you should be flexible about those rules.
Hakim: What about if you think that the technology is disruptive... one of the things it'll disrupt is that it suddenly becomes possible to bill by the minute. So now you don't have to pay for a minimum 2 hours parking, but could pay for just that minute that you popped into the newsagent. And even things like dropping a passenger off, or loading shopping into your car, could be paid for, totally legally, and automatically, rather than having to chance it and hope for the best. And maybe if you're only paying pennies for that, you don't care.
Adrian: Though it also depends on whether the city is expecting its spaces to always be full. And there's that they want to cream off as much as possible, so may change the billing rates to protect their revenues.
Hakim: But at some point, there would be legislation to prevent councils creaming money in that way.
Adrian: But then you suddenly need loads of new legislation...
Hakim: Yes, and that's why we call it a disruptive technology. You can't now guess whether it'd suddenly end with people paying less, or more money on car parking. Or whether people would then stop driving in at all, and that would stop footfall in cities, and whether that would change the pricing by market forces.
Adrian: Well, I'd argue that if you stopped people driving in, that wouldn't necessarily stop footfall. You might get more people moving back into the city and using thir cars less. Which would reduce carbon emissions much more than finding a better way for people to circle city blocks for parking...
But some of the problem with smart meters is that they're trying to optimize for the wrong problem. They're trying to optimize for people driving into the city. And they should be optimize for people getting into the city. Which doesn't have to be with cars.
So... at this Smart Cities thing at Daresbury, there was an IBM rep talking about smart parking meters. And he was suggesting that the city could work out who hasn't paid their parking, so it would be easy to find them and slap a ticket on them. His claim was that the parking wardens would be able to sit in a local coffee shop enjoying a cup of coffee, waiting for the system to tell them there was a car that needed ticketing... because of course that's going to happen, and it's not just going to be a way to reduce jobs.
And it's that underhand thing about how amazing technology is and how it's going to make the parking wardens' life so much better, washing over that fact that the parking warden is going to be out of work... and that could be a good thing if there are other better jobs for him.
So one level of IBM does that kind of thing. And I made some comment about that, and Andy Piper who has since left IBM (not because of that, I'm sure) and Nick O'Leary, who are both really good guys, and engaged with the community, and doing really interesting things with IoT ,and worked with IBM tweeted back pointing that out... and that's the dichotomy with a Really Big company like IBM. There's the cool people, and the sales droids trying to improve parking revenues... and I'm not sure that the end of the company is really that useful.
So maybe if the book starts to encourage more debate about that, it would be a good thing. Because tech comes along, and it has impacts, and we should try to discuss them. And I don't know how easy it is to put things back into the bottle...
Hakim: Well, I don't think you can. You have to be aware that there isn't a grand narrative about technology coming along and just automatically making people happier. Technology comes along and some of the impacts it has were positive and some were negative. If you ask, were the Luddites wrong to smash automated looms. And to some extent they were, and to some extent they weren't. The looms did change their craft, and their jobs, and their lives. And did they want their lives to change? Of course not. And yet now, are we happy that the mechanical looms came in and paved the way for computers? I guess so, mostly.
Adrian: Some of it's about the human thing again. There's a social cost to new technology coming along and disrupting things. I don't think you can stop it, but you shouldn't just wash your hands and say "oh, that's just technology's fault." It's not our fault that someone invented containerization and put the dockers out of jobs... well, on the whole it's probbly better because people don't work this really grueling and dangerous manual labour, but at the same time there's a whole generation that suddenly had no job, and then society needs to absorb them and cope with it.
Maybe we could start to have these discussions before rather than afterwards.
Hakim: And that awareness also lets you more easily spot and callout the kind of corporate bullshit about happy parking wardens and so on too.
Adrian: We still haven't got very pro closed source have we? But I guess we can talk about IP protection and some of the tings you could protect. Because you can't protect some things... we'll have to do some research on that.
Hakim: True, but I think the examples about your projects for example, and which bits were open sourced and which not, and the reasons, are quite good material to start with.
My task timer project will be entirely open source, but of course that's partly as an experiment, and partly because I'm specifically writing about it for the book. And of course partly because I don't have my wage riding on that.
Adrian: Yeah, that was different for me wtih Mazzini, because I'd just spent a year in Italy not earning very much, but spending quite a lot, and just moved back to Liverpool, where I didn't know anybody, and had a huge amount of debt from enjoying myself too mcuh in Italy. At the same time I did this was at the time of the global financial meltdown, so really bad timing.
I went to Italy on the back of a lucrative 6-month contract with Motorola, and hoped that having no distractions there would let me focus on... some stuff that didn't work out. Which was cool, hopefully I learnt some stuff from that. And I did start playing with Mazzini and Arduino, which has defintiely worked out in the long run. Then I hoped I'd just find some work in the NorthWest, but it took a while to get hooked up with the community.
Hakim: Yeah, that took me years too to find the Liverpool tech community.
Well, we're almost at the end of the Table of Contents for Chapter 1. We just have "Scratching an Itch" I guess it's what people often talk about with open source. But it's also about the idea that you can just want to do something and do it for fun, without having to believe there's a market for it.
Adrian: You also need to "eat your own dogfood" as the phrase at Microsoft was. Because you should be using whatever you're developing, because you'll find out more about it as you use it. And maybe laern more about who you're selling it to. But I think you're right, it's almost not quite "just for fun" but "this is useful for me". Because it doesn't have to be a fun thing for you, it could be a completely practical thing for you that makes your life a bit easier, using IoT.
Hakim: And I suppose if you do use it, then you can be more aware that there is a market because "people like you" might also want to use it.