% Debian Pure Blends
% Jonas Smedegaard
% Sarada, Khammam, October 20th, 2011
Overview
- Internet
- Home
- Passion
- Trust
- Debian
- Debian Pure Blends
Internet
Internet is our digital parallel World...
Home
- Where you are safe
- Where you can store goods
- Where you can fumble and experiment
Passion
- Astronaut?
- Nuclear Scientist?
Passion
Passion
Trust
- trust: feeling comfortable as guest in another home
- proper trust == mutual trust
Healthy environment
- everyone has a home
- everyone is driven by passions
- everyone finds mutual trust in some others
Debian - the universal Operating System
- Free Software
- Ruled 100% by its own volunteers
- Stable
- Flexible
- very very big
Debian is "the universal Operating System"
Goal: Usable everywhere
Debian - your new home?
- Your home is not a commercial product of someone else
- Your home can be in any of 100+ languages
- Your neighbourhood has friendly users
- Maintained by passionate developers
- You are welcome to share your passions as an equal peer
Debian - very flexible...
Debian - too flexible!
- Flexible: good
- ~~Very flexible: very good~~
- Very flexible: very confusing!
Debian is maybe too flexible: confusing or even scary...
Debian - ways to simplify
- Tolerate it: Use it as-is
- Remove choice: Use e.g. Ubuntu
- Use a Debian Pure Blend
Debian - simple if generic defaults are ok
- Mainstream (but not too new) hardware
- GNOME desktop
- Iceweasel web browser (= Firefox)
- Exim MTA
- Apache web server
- MySQL database server
Debian is simple - if you like the defaults.
Debian Pure Blend - Debian for a specific purpose
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 - current blending projects
- Debian Jr
- Debian Med
- Debian Edu
- Debian Science
- Debian EzGo
- BrDesktop
- Debian Accessibility
- Debian Lex
- DebiChem
- Debian GIS
- Debian Multimedia
Deebian Pure Blends - future blends
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 ideals and principles in theory, 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, 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
Final words...
Be passionate!
Share your passion!
Final words...
Be passionate!
Share your passion!
This talk: http://dr.jones.dk/blends/talk/khammam/