Project

General

Profile

Design Principles » History » Revision 6

Revision 5 (Tom Clegg, 04/02/2014 11:03 PM) → Revision 6/7 (Peter Amstutz, 03/03/2016 04:31 PM)

h1. Design Principles 

 (Work in progress) 

 * All Arvados core components are "free software":http://opensource.org/osd. 
 * Any application can run on Arvados, including non-free tools that are only available as binaries. Use wrapper scripts around vendor-provided source and binary distributions, rather than maintaining derivative works. 
 * Use web technologies to tie components together, so programs can access Arvados regardless of programming language or framework. 
 * Use the best tool, programming language, or framework for each component, instead of standardizing on a single platform for the sake of conformity. 
 * Where possible, use established, widely understood components such as SSH, Git, Rails, and WebSockets rather than hand rolling custom components. 
 * Use Debian GNU/Linux as the primary supported deployment platform to ensure good performance, ease of development, and variety of deployment options. 
 * Use technologies such as virtualization and Linux containers to increase portability and flexibility of deployment.