Open Source dialog with Mr. House, Bruce Winter


Active Member
I wanted some insight into Open Source projects, their costs and there potential revenues, so I contacted the creator of Mr. House, Bruce Winter. I asked Bruce if he would mind answering a few questions. Bruce agreed, so here it is. (I performed minor editing since it was originally formatted as an email.)

Bruce: Hi Vaughn

Vaughn: I am about to release my HA system under a GNU GPL and had a couple questions.

Bruce: Nice! Just took a peek at your page. Looks like a well
developed application.

Vaughn: I have not seen a lot of information on the success of developers publishing under GPLs. I would like to ask a few questions and with your permission might post them on so others may benefit from your experiences.

Bruce: Sure, feel free to repost.

Vaughn: Do you ever regret using the Open Source model, perhaps missing out on becoming a successful commercial product?

Bruce: Nope, never. MisterHouse (mh) would never have been as popular as it is now if it were not open source.

Vaughn: Do you still feel that the GNU model is the best fit for your product, or are there other GPL choices these days that you feel a similar project would benefit from?

Bruce: I'll confess I didn't study the various GPL choices as careful as I should. The GNU license can be a bit restrictive when it comes to commercial offshoots. Maybe the something like the Perl license would have been better.

Vaughn: Your web site is advertisement free in addition to you using an Open Source model. Do you generate any revenue associated with Mr. House?

Bruce: I was never looking for revenue. I'm fortunate enough to have a good enough day job that I can keep things like mh a hobby.

Vaughn: If revenue is a concern for someone developing an Open Source project like Mr. House, do you have any recommendations on how to capitalize from the efforts?

Bruce: I suspect there is a pretty good business model in tailoring HA to specific homes. There are certainly businesses that do well with installs and maintenance for security and entertainment, which are subsets of HA.

Vaughn: Do you have any regrets where other developers completed parts of your project that you were looking forward to designing yourself?

Bruce: Nope. There is soooo many directions that HA can go that it is really nice to leverage the open source model here. Plenty of coding options for everyone. If someone did something we thought could be done better, I or someone else would often offer suggestions or help and we would get it enhanced.

Vaughn: I don't see any calling for donations or support on your website. Is it that you simply don't need the assistance? Not to pry in your personal finances, but simply to understand if something like this is possible without have to invest a lot of money to keep it going.

Bruce: Right, no money needed. IBM pays pretty well B) And thanks to places like SourceForge, I have no overhead to support.

Vaughn: I see there is hundreds of contributing authors, but how many people besides you are responsible for day-to-day operations to keep a project like this going? Are they all volunteers?

Bruce: I'm the guy who collects changes every few months and puts out a new release. The others are all users who volunteer suggestions, find bugs, fix bugs, and/or add new applications.

Vaughn: Do you have any general advice to someone following in your footsteps?

Bruce: You already found the biggest key ... open source. Early on, responsiveness to mailing list queries is important. I'm not so responsive anymore, but others on the list now are.

Vaughn: If you do not like my questions, but understand the need for information to support open sources projects, feel free to edit the questions to be more suitable for viewing beyond myself.

Bruce: Those were a fine set of questions :D In case you didn't see it, there was a recent interview that might be of some interest by a perl users group at

Thank you very much for your replies, Bruce.

BTW All new screenshots are up at Insteon is in, streamlined interface, multi-floor, separate on/off device images and much better sample maps. Take a look. =)

Interesting. Very interesting.

I wonder why the link to the Perl group interview doesnt work for me. Does it work for other people?

Hey. it looks like I have to send a resume to IBM. He has good income AND also has time to work on his hobbies - a very lucky combination. B)

Vaughn - I have noticed that as as Bruce says, there are several models to support your open source expenses. In addition to doing customization and installs, some othe do sale of configured equipment. Even non-open source like CQC is doing this.

Pluto is one of the open source software companies making money out of the sale of equipment (even that I could not find a like to a sales page). They have a couple of tricks under the sleeve. The also seem to have a source code repository (CVS like) so that users can submit their developents for others use. You can develop your own device drivers, but it you are not a programmer, I read in the forum that sometimes if you have an equipment that they dont have and you agree to have one of their programmers connected to your home they can do remote programming. Check their documentation. Its not complete (have blank pages in some areas), but still worth reading. BTW, their intra-application messaging model is very similar to xAP, but is proprietary.
Screenshots look really good!

Any plans to support simple ascii I/O? If you had a trigger that fired an event based on a simple ascii message then I could connect it to my Stargate and use it to trigger AHAA events. Also if AHAA events could gernerate simple ascii out, I could have Stargate respond to AHAA activity.
I have never even looked at a StarGate, but I would love to support everything I can. Is there some documentation on how to send and receive the text messages? Is it using RS-232, IP, or something?

Even if you add support for the Startage, I would still make it so one can trigger an event based on an ASCII string (either serial or IP). It allows people to hookup their experimental or non supported hardware until a 'driver' exists for your software, or even have the app talk to another app on another PC (such as Girder).
Yes I was suggesting generic ASCII I/O via RS-232.serial port. You could look into supporting Stargate directly down the road but as E ponts out, a generic ASCII interface works for Stargate, ELK, HomeVision, etc. so that would be the place to start.

Another useful generic interface would be file triggers such as:

When file is updated
When file size changes
When file.txt = "some specific text"

I assume you already have support to play wav files and run batch and exe files?
I can write an ASCII interface. The way my system works is everything is centered around Events, and since it is just a database table (along with the Event_Queue) You can interface anything just by inserting a record into the Event_Queue table. so ... Read ASCII, select the event that matches the ASCII, INSERT Event_ID into the Event_Queue. Can be built-in or run as a seperate app.

Take the Phidget Interface board for example, it has its own program than monitors the interface board on a seperate computer and looks like this (kinda)

Digital_Input(1) - On_Event_ID(1) - Off_Event_ID(1) (Event _ID are dropdowns
Digital_Input(2) - On_Event_ID(2) - Off_Event_ID(2) (that have all events in them)
Digital_Input(8) - On_Event_ID(8) - Off_Event_ID(8)

On Digital_Input(x) Status Change
if Digital_Input(x) Status ="ON" then
INSERT INTO Event_Queue VALUES(On_Event_ID(x))
INSERT INTO Event_Queue VALUES(Off_Event_ID(x))
end if

AHAA monitors the Event_Queue and sees the new entry and treats it just like any other event, updates devices' status, fires triggers and commands, etc. Even Local X10 commands are converted to Event_IDs and then handled...

So any app out there that has any source available to send/receive just needs to add a database connection and a few Event drop downs for output, and "SELECT * FROM Commands WHERE Machine_Name = 'StarGate'" for input...

It took me about 30 minutes to modify the Phidget source to make it fully integrate with my app. But I have never owned a home controller, so really am not sure how well it will link and how hard it will be to code. I am looking forward to trying though...

I know the pros think communictations take low level protocols, XML translators and all kinds of fancy stuff, but I am a simple man. I think a single SELECT or INSERT into a DSN-less database connection is fast enough, reliable enough, easy enough to configure and troubleshoot... I was looking at the Docs for CQC and I felt like I needed to go back to school for a few years to program anything for it. Making a plug in for me? Here is the instructions: Create an Event, make your app insert that Event_ID into the Event_Queue table, done.

I respect those apps a lot, but I think my approach opens development up to everyone and has a near-Zero learning curve. The system Auto-Creates events when it sees new signals too, so setting them up is easy.