The aims of this specification include having a Small Business Package out of the box. This means tying together useful things on a desktop and SmallBusinessServer. An important notion is that everything useful does not exist; this plan is very low priority because entire packages would have to be written, mostly for SmallBusinessServer.

This specification does not specify a simple self-contained derivative, but rather a plan for a derivative and future enhancements to SmallBusinessServer that would help both small and large business.


Although a SmallBusinessServer is already defined, businesses are not servers. Servers must run with a client; and businesses must do more than serve e-mail and Web content. Ubuntu for Small Businesses would define the basic needs a business has to have for the CEO, financial division, operations, and other staff to run the place, especially when they number few. The specifications here would also tie into expansion and scalability; small businesses become big businesses, and some rather "excessive" solutions would be rather nice for a small business to have, especially to prevent growing pains when suddenly added systems need accounts for a hundred employees added as the business finds it needs more than it has.

Scope and Use Cases

Businesses have to fill many needs, big or small. Having a full package for all of this is good for a small business; although separating it will happen when the business grows.

  • Accounting
  • Communication
    • E-mail
    • Instant messaging
    • Groupware
    • Video conferencing
  • Personnel
    • Time clocking
  • Point of sales
  • Inventory
  • Basic office packages

Use Cases:

There are many.

  • Company Page's LtD. wishes to open a book store with a staff of three. This staff needs to sell books (POS, Inventory) and clock in/out; while Page needs to do her own book keeping (Accounting).
  • Company Moser LLC wishes to expand to two locations, and CEO Moser would like to communicate with the other managers over internal e-mail or quickly using instant messaging; the accounting is now balancing the books with the same software as before.
  • CEO Richard J. wants to conference with his regional managers. These managers will be showing charts and presentations on electronic media as well as showcasing prototype products. Richard's business has been around for 5 years and in the past 2 has opened up 78 locations in 5 states; he's no longer running a small business, but IT has found it best to upgrade SmallBusinessServer to a full Ubuntu Enterprise Server and fine-tune a few departments, but keep using UbuntuForSmallBusinesses in several places. These managers may be needed where they are; video conferencing is a wonderful thing.

We need further discussion, which cases we want to target. As long as we want to support all use cases, there hardly cannot be an "out-of-the-box" setup. We cannot and do not want to support an "universal server". Classifying the uses cases:

  • New network / new office
    • One machine gives access to accounting
    • The spreadsheet and office software are all there for every desktop
    • Time clocking would best be handled by a server; this is in the SmallBusinessServer scope, not ours

  • Integrating with SmallBusinessServer

    • Gaim would connect to Jabber or SILC internal IM services, which would be on SmallBusinessServer

    • The time clocking would be handled on SmallBusinessServer and exported through a Web interface

    • The POS and inventory back-end would probably be stored on SmallBusinessServer and handled via a front-end or Web interface

    • E-mail and groupware clients integrate with SmallBusinessServer supplied services

  • Mixing with existing environments
    • SmallBusinessServer scopes serving to other machines

    • Groupware clients would have to work with existing Exchange servers on Windows, Unix, or SmallBusinessServer

    • LDAP authentication server and RADIUS serving from the LDAP on SmallBusinessServer

      • Authentication from either LDAP or RADIUS may be needed -- for example, Linksys wireless routers can authenticate WPA using a RADIUS server
      • Back-ending authentication for E-mail, POS, instant messaging, and EmployeeKiosk to LDAP or RADIUS would be nice

Implementation Plan

Implementation of UbuntuForSmallBusinesses would be taken in modest bites. Rediculous amounts of work are needed to smooth some corners; for example, an EmployeeKiosk would need to be written mainly from scratch for SmallBusinessServer to serve a Web interface to time clocking, company news, abstract content managed by the EmployeeKiosk backend, a task checklist for daily tasks, and potentially a BBS/forum or even project management backend like gForge (which is not sufficient for larger businesses and thus will cause growing pains if a small business uses it). Ideally, this would integrate smoothly with the POS/inventory system, and perhaps even supply management functions to control SmallBusinessServer.

Noting this ideal situation, we can quickly see the obvious: it won't happen today, it won't happen tomorrow, and when it finally does happen a lot of people are going to look back and smile at the massive task they accomplished. The beauty of Open Source Software is, of course, that the pieces are mostly there, and can be chunked together. A few things needed (FIXME: Move to other places like EmployeeKiosk):

  • UbuntuForSmallBusinesses

  • EmployeeKiosk needs a design specification

  • EmployeeKiosk needs to integrate smoothly with phpBB so they feel as one application

  • EmployeeKiosk needs to integrate with an Inventory system, perhaps BananaHead POS (http://www.bananapos.com/) (suggested by Jay Camp) Looks like a dead project, site down.

  • EmployeeKiosk needs to integrate with a project management system, like gForge

  • EmployeeKiosk needs integrated Web mail -- touch with the real mail server for this, don't write a new backend

  • If nothing better than gForge exists, gForge will need a full time management system added to say the least!
  • EmployeeKiosk should probably be modular as well -- enable, disable, install and remove pieces

  • Something way better than GnuCash is needed -- something on the level of Quicken! Contributing code to GnuCash may be the best venue

This isn't simple, this is a major project. It needs to be put through Community Council to decide if the desire for these tasks exists; if the resources are there; and if so, a team needs to be made that's ready, willing, and able to produce a peer-reviewed design and follow a solid development cycle in a sane manner so they don't simply exhaust themselves and lose interest. If the resources aren't there, we have to wait.

Implementation Process

(FIXME: Continue here)

Data Preservation and Migration

Packages Affected

User Interface Requirements

Outstanding Issues

UDU BOF Agenda

UDU Pre-Work

UbuntuDownUnder/BOFs/UbuntuForSmallBusinesses (last edited 2010-05-12 17:07:32 by dlyh)