summaryrefslogtreecommitdiff
path: root/vietnam/talk/blends.mkd
blob: fdf3a577732f959892133a5182bb0f8064957ef9 (plain)

% Debian Pure Blends % Jonas Smedegaard (& Andreas Tille) % Hồ Chí Minh, Việt Nam, November 12th, 2010

Overview

  • Debian is generic - Blends are specific
  • Purity: all is Debian
  • Why bother?
  • Technical details
  • Team, community, users
  • Future

Debian - the universal Operating System

  • Stable
  • Flexible

Debian is the universal Operating System.

Goal : Usable everywhere

Debian - very flexible...

  • Flexible: good
  • Very flexible: very good

Debian - too flexible!

  • Flexible: good
  • ~~Very flexible: very good~~
  • Very flexible: very confusing!

Debian is too flexible: confusing and to some even scary!

Debian - ways to simplify

  1. Keep things as-is - educate users instead
  2. Remove choice
  3. Provide multiple defaults

Debian - simple if generic defaults are ok

  • Mainstream (but not too new) hardware
  • GNOME desktop
  • Iceweasel web browser
  • Exim MTA
  • Apache web server
  • MySQL database server

Debian is simple - if you happen to like its defaults.

Debian Pure Blend - Debian for a specific purpose

Debian Pure Blend (in short DDD): a subset of Debian configured to support a particular target group out-of-the-box.

Goal 1 : Turn Debian into the distribution of choice for a specific target group Goal 2 : Advertise this fact to the world to attract users and developers

Debian Pure Blend - technical parts

  • package selection(s)
  • customizations

The concrete work to include as packages with official Debian.

Debian Pure Blend - reality parts

  • goals & noise about progress
  • package health + encourage additional software packaging
  • passion & patience
  • good relations with Debian package maintainers, competitors, and upstream authors
  • good relations with users

Surrounding work making a Blend relevant.

Debian Pure Blend - current blending projects

  • Debian Jr
  • Debian Med
  • Debian Edu
  • Debian Science
  • Debian EzGo
  • BrDesktop
  • Debian Accessibility
  • Debian Lex
  • DebiChem
  • Debian GIS
  • Debian Multimedia

Projects working on Blends - some pure, some not (yet)...

Debian Pure Blends - all Debian

  • Debian packages - selections (e.g. for tasksel to pick up)
  • Debian configuration - use of policy-compliant package-provided interfaces
  • Debian distribution media - installing via Debian itself

DDD : Debian packages Debian configured from Debian distribution

Debian Pure Blends - why bother?

Nice on paper with ideals and priciples, but...

What's in it for me?!?

Debian Pure Blends - downsides

  • annoying - Debian package maintainers may not like proposed changes
  • slow - stable distribution is released infrequently
  • rigid - all contributions must match Debian Free Software Guidelines
  • complex - packages must obey Debian Policy

Debian Pure Blends - Benefits

  • backed by Debian - help, bug tracking, translations, etc.
  • teamwork - others might help you refine and maintain your setups
  • common structures - others might take over if you loose interest

Tech - Debian support overloading choices

  • Debian installer
  • tasksel
  • debconf
  • aptitude

Tech - examples of non-pure blending

  • include non-Debian packages or non-packaged stuff
  • include Debian packages from different Debian suite
  • configure system other than via Debian package installation
  • install using non-Debian media

You don't own your system - you provide one for others to own.

So don't refine it like a (sloppy) user: Handle it like a Debian developer!

Tech - Debian, generic setup

  • select package profile(s)
  • install

Tech - Debian, hand-tuned

  • select package profile(s)
  • select additional packages
  • install
  • (re)configure packages

Tech - Debian, auto-tuned

  • pre-seed package selection
  • pre-seed package configurations
  • install
  • (re)configure non-debconf packages

Tech - Debian Pure Blend = generic

  • select blend profile
  • install

Tech - tasks involved

  • extra software → into Debian officially
  • manual configurations → preseeding
  • maybe create temporary dirty hacks
  • maybe use/create reusable tweaks
  • eliminate dirty hacks and tweaks
  • convince others in Debian to add as tasksel task

Tech - blends-dev

Tool to help maintain package lists and prospective packages.

Example: http://debian-med.alioth.debian.org/tasks/psychology

Tech - dirty tricks

Avoid configuration files...

  • config.d folders
  • databases
  • networked data

Tech - tweaks

Reusable scripts compatible with one or more of...

  • FAI
  • hands-off at http://hands.com/d-i/
  • CFengine
  • Puppet

Tech - good style

  • Aptitude
  • debconf
  • Config::Model

Tech - When is it "Pure"?

When all is in Debian, with no dirty tricks:

  • package selection(s)
  • customizations
  • installation

Team - getting involved

  • identify and isolate tweaks at your own system
  • register missing software - on wiki page or (better!) in Debian BTS
  • write documentation
  • write the dream of how things ought to work
  • wite how details work now
  • discuss downstream (i.e. with users and subdistros) how things work / should work
  • discuss upstream (i.e. with authors) what is possible now / soon

Team - getting involved II

  • write intro for peer enthusiasts
  • decide and document ideal formats - translations, graphics etc.
  • prioritize pending tasks - of various kinds to encourage many different contributions
  • document where it is ok to ask beginners' questions
  • document if beginners can ask for a mentor

Team - getting involved III

  • make illustration
  • make screendumps
  • make fan graphics
  • make desktop backgrounds, CD covers, stickers, etc.
  • Register the project as a DOAP file, and maybe at Ohloh and Freshmeat etc.
  • Register and maintain relevant Debtags

Team - getting involved IV

  • Translate package descriptions
  • Translate debconf dialogs
  • Translate upstream code

Team - getting involved V

  • Help integrate contributions from graphics artists, translators and others
  • document decision processes of the team (and Debian and upstreams?)
  • document workflows in teams
  • insist on transparency - not only for code!

Team - Continuous status checks

  • Ask users about their needs - you will forget over time!
  • Ask teams about their tasks - each participant has slightly different perception of the common vision and status
  • Ask upstreams about use: perhaps potentials are missed, or code or persons feel as being abused

Debian Pure Blends - Future

  • debconf dontcare vs. explicit choice of default option
  • debconf query mechanism (and fill buffer from live system)
  • APT explicit choice of alternate dependency/recommendation
  • APT dontcare vs. explicit choice of default dependency/recommendation
  • Config::Model - semantic configfile handling