I've been using Open Source Software to help start-ups and small businesses for a few years now and about a month ago I came up with the "Business in a Box" concept.
The idea is to have a box (well actually a range of "boxes" or options) which contain all the server-side apps a start-up or small business is likly to need. By Small Business/Start-up I have in mind anything from 1 to 30 people performing activities such as ordering, invoicing, stock control, operating a small call-centre for sales and support, maintaining a website, sending out mail-shots (electronic or paper).
The big idea is to be able to deploy a standardised set up and have a business up and running in a few days, so that it is answering the phones, knows who its customers are, knows what they are buying, what stock they have, all the things that a business needs to function effectively.
The range of "boxes" runs from a hosted service through to a rack containing a couple of servers (for fail-over), UPS, Firewall, Network Switch and an Asterisk phone switch. The applications would include VoIP telephony (may be from Skype or another provider for the hosted service), accounts, CRM, Email, Content/Document management, File/Print server. (I am specifically avoiding Payroll as the tax rules in different countries make it difficult to provide a standard application, also most small businesses outsource this activity at relatively low cost).
The "box" would run a standardised set of aplications so that support could be provided by a range of suppliers, avoiding a business becoming tied to a particular support organsiation. Also there would be a standardised set up process, and a well defined migration path from the hosted service (aimed at 1-5 person organisations) to the multi-server rack unit for 20-30 people.
Business-in-a-Box is client agnostic i.e. Clients can be Windows, Linux, Mac, BSD ... anything. This is important because bsuiness may have particular client needs, may already have skills is certain client-side applications etc.
All of the necessary sever-side applications exist as OSS, here's my list:
- Server OS, Firewall
- File server (non Linux Clients)
- Mail server
- VoIP/Phone Switch
- CRM - Customer Relationship Management
- Document Management - haven't investigated these packages in any detail
What is needed here is INTEGRATION. By picking a standard set of applications and bringing them together it allows the OSS Community to Integrate them. We need the Phone switch integrated to the CRM; the CRM integrated with the Accounts; sales and purchasing integrated with the stock control and CRM; website integrated with CRM, stock control and sales. On top of this we need management reporting and it needs to be robust and secure.
The concept can then be deployed and supported by small, local IT/Computer/Software Shops (themselves small businesses using this system) who can contribute code back to the project. The concept would then be backed by a global network with some knind of standardisation comittee accepting fixes and enhancements an making regular releases of upgrades and new functionality.
So what am I doing about this? I really believe in this idea and if I had the time I would be doing the integration, not publishing here! But since I don't have the time I'm putting the idea here in the vain hope that the community will rally round and start gluing a bunch of disparate applications together. There are TWO KEY THINGS that would make this work
- Picking a set of applications (like the list above) and sticking to it
- Ensuring robustness and standardisation
So lets get going :-)