Transition Note

The content here is now considered historical.


The following are imaginary Baserock stakeholders. While not real people, they are each an amalgamate of several real or desired users (with only non-identifying characteristics), and collectively they should need to do everything that is done with Baserock. We target an even dozen Personas, which shall be used as characters in the stories we use to describe how Baserock is used.

Each Persona is described in terms of their role, their preferences, and their needs. They should represent as broad a variety of users as possible, while not straying outside of the scope of expected support.



Agatha is employed by an open source consultancy to develop custom systems for clients in a variety of industries. Agatha runs Debian and uses emacs as a transient editor as part of a UNIX-as-IDE environment.

Agatha needs to be able to integrate new components into a system. She needs to publish her work to the clients on whose behalf she works. Agatha further needs to be able to deploy systems to arbitrary targets for testing, and provide support to clients who experience field issues with deployments of her systems. Agatha needs her toolset to provide a simple and efficient workflow so that she can keep her project manager happy. Agatha needs to trivially debug build failures in software, with greater ease than for local builds.


Bertrand is employed by an automotive manufacturer to develop custom systems for in-vehicle infotainment. Bertrand prefers to develop using Eclipse on Ubuntu, and spends his time integrating work done by his collegues and vendors.

Bertrand needs to track the changes made by his collegues and vendors, review the changes within his comfortable git-based workflow, merge the changes into a comprehensive system, and share that merged work with his collegues and vendors.


Christina is employed by a silicon vendor as a BSP engineer. Christina uses Windows as her primary desktop, and does her BSP engineering in virtualbox. Christina's work often involves changing all of kernels, bootloaders, and system libraries. Christina's target boards are typically not the same architecture as her workstation.

Christina needs to be able to deploy systems to custom hardware to verify her BSP indeed supports the board. For some boards, Christina needs to separately deploy the bootloader, kernel, and rootfs. Christina needs to be able to request remote builders of the appropriate architecture build her software. Christina needs to adjust the deployment mechanism from board to board to support design idiosyncrasies.


Donald is employed by a SaaS vendor as a platform architect. Donald uses OS X as his primary environment, and works with Xcode for his development needs. Donald has been directed to find a means to reduce the time required to update the images used by the SaaS enabling instances in his private cloud.

Donald needs a toolset that integrates with his current workflow. Donald needs to be able to quickly and easily update individual components of his deployed systems. Donald needs to find a solution to his toolset needs.


Elise is a contributor to the baserock project. Elise runs some sort of linux and uses all sorts of editors. Elise is part of the team responsible for managing the content of the Baserock upstream trove, and is able to land code in several Baserock tools.

Elise needs to verify her contributions meet the needs of Baserock users. Elise needs there to be sufficient documentation that users are not constantly bothering her.


Francis is employed by the same automotive manufacturer as Bertrand. Francis works as a deployment engineer, and has long-term responsibility for systems in the field. Francis runs Windows, and uses virtualbox for his virtualisation needs. Francis is comfortable with vim, and happily edits in terminals.

Francis needs to produce images for factory deployment, and needs to refresh the images in vehicles in the field as issues are addressed.


Greta is employed by the same silicon vendor as Christina. Greta is a driver engineer in the storage group. Greta is responsible for the storage drivers over the firms range of SoCs for a variety of operating systems.

Greta needs to verify her drivers work on her firm's hardware in all operating systems she supports.


Howard is employed by an online services provider as a DevOps engineer. Howard is responsible for ensuring that the appliances in his cloud meet the operational needs of his employer. Howard uses chef as his orchestration service and openstack as his IaaS provider.

Howard needs to be able to determine the status of his appliances, control the revision of his custom applications deployed to each appliance, easily deploy new and updated appliances, and scale his service delivery.