Guiding Principles

From CSLabsWiki
Revision as of 11:39, 9 September 2008 by Lewisrj (talk | contribs) (Fixed typo (finally))

The following are guiding principles, rather than hard-and-fast rules. These principles should be applied with common sense and careful consideration of the impact our actions and decisions have on the long-term effectiveness, sustainability, and reputation of the Applied Computing Labs.

External Impacts

  1. Actively contribute to the community where possible:
    1. To the campus community by supporting classes with lab resources and through workshops and volunteering.
    2. To the local community, through workshops and volunteering.
    3. To the larger community, by producing documentation (tutorials, HOWTOs, etc.), submitting bug reports, and making suggestions and project improvements.
  2. Look for opportunities to complete externally visible contributions and achievements by submitting publications and entering contests.

Working Together

  1. Everyone should be learning and teaching.
    1. When a task becomes routine for you, look for someone to teach it to and transition the role to them. Then find a new apprenticeship opportunity for yourself.
    2. Actively identify roles through which interested people of all skill levels can participate and contribute.
  2. Show respect for one another.
  3. Consult with others who will be affected by an action before taking it.
    1. Solicit input from other lab members to avoid learning the same lessons the hard way.
    2. Promote a collaborative environment that fosters communication, shared decision-making, and team work.
  4. Make it fun! Participate in dining philosophers, masterpiece theater, and other collegiate activities.


  1. Use Free and Open Source Software wherever possible.
    1. Use proprietary software if it is the only solution or technically superior.
    2. Allow closed source alternatives if there is interest in learning to use them.
  2. Promote open standards and file formats.
  3. Model good practice.
    1. Maximize uptime and the availability of resources.
    2. Create and maintain secure, robust, and usable installations.
  4. Value experimentation and research.
    1. Maintain resources that can be used for experimentation and research. Not all resources should be locked into "production mode."
    2. Maintain balance in the use of resources by discussing the research value of projects with the board before removing resources from production.
  5. Support the continuity of lab infrastructure.
    1. Invest in documentation and prefer simple solutions that are maintainable and transferable to others.
    2. Don't change for sake of change.
    3. Learn about what has been accomplished/established by others and build upon it, rather than replacing it or tearing it down.
    4. Do not start more than you can complete. A small step taken thoughtfully and fully documented is much better in the long run.
    5. Ensure that more than one person knows how to do every task.
  6. Leave the labs better than you found them.