Webbrick Systems Open Sourcing

I was involved with a company (Webbrick Systems Ltd.) that developed a home automation system, for a number of reasons the company folded. The decision was made to open source the software where possible. This was being done so as to provide access to all the customers who have webbrick equipment. These are some observations on the process.

Source Control

I did not want to have an ongoing expense so the possible places to put the repositorys came down to one of the free git or subversion hosting services. Having had experience of github I chose to put things there. It is very easy for others to fork the code base or to then import to any alternative. If they are hoping that changes are pulled into the main repo then best to stay on github as it provides tools for pulling downstream changes back in.

There are two main components to the webbrick home automation system so I chose to create two new repositories. I may create a third for other miscellany, there are some other odd bits of hardware.

Issues.

Third party tools

The webbrick controller repository originally contained a copy of the fored RAD tool wizc, this could not be retained in the repository so I created a separate directory which contained file diffs and new files in it for elements that I created and library code changes. I then added the original directory to .gitignore so it did not get added.

There where a number of other commercial tools used when creating the products, i.e. eagle for schematic and pcb layout. Again these could not be included.

Hosted services

Webbrick used a hosting provider for source control during the winding up this was not paid and all the content was deleted from the hosting service. This code base is therefore based on a snapshot that may be missing some minor changes. So if you are in this position take a full backup of the hosted codebase, this should probably be given to the insolvency practioner or they should be informed. git backups are easy as a git clone includes all the history, svnsync can be used to create a local backup repository for subversion. You probably want to get a website backup as well, we lost a lot of community generated information. Of course these should be part of business as usual setup for any company.