summaryrefslogtreecommitdiff
path: root/blends/talk/nitte.mkd
blob: e8268c0bf6f2b5313237b52897dcf43b7fe64a36 (plain)

% Debian Pure Blends - hacking in your parents' house % Jonas Smedegaard % Nitte, Mangalore, October 28th, 2011

Overview

  • Me and Asia
  • Tricky terms
  • FLOSS Eco System
  • Debian - distro & community
  • Customizing Debian

Me and Asia

Asia trip

Tricky terms

FLOSS: Free/Libre Open Source Software.

Hacking: Being creative with small pieces -- like playing with Lego.

Cracking: Breaking digital "locks", typically to steal digital data.

FLOSS Eco System

Software Code Stream

Debian - distro & community

  • Community
  • Distribution
  • Free!

Debian - Community

  • ~1000 "Developers"
  • ~500 "Maintainers"
  • ??? actual contributors...

Debian - Community structure

  • Democracy

Debian - Community structure

  • ~~Democracy~~
  • We all obey Debian Free Software Guidelines
  • Almost no hierarchy: Each package maintainer responsible

Debian - Distribution

  • Generic - choices are exposed to the user
  • Mother of other distros

Debian packages

  • They all obey Debian Policy
  • Mozilla Iceweasel (Firefox): ~3 packages (+ ~70 lang packages)
  • LibreOffice: ~30 packages (+ ~90 lang packages)
  • Debian: ~35.000 packages

Debian packaging - Mentors + sponsoring

Debian packaging - Join teams

  • Peer review - many eyes see more bugs
  • Education - Debian quality standards
  • Ideals transfer - get help on packaging
  • Wiki page: http://wiki.debian.org/Teams

Debian - derivatives

  • Knoppix
  • Ubuntu
  • BOSS
  • SWECHA
  • ...

Debian deriving

  • Try use live-builder...

Debian - blends

  • Optimizing Debian itself for special purpose use

or

  • Merging back derived work into Debian

Debian - existing blends

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

Debian - future blends

  • FreedomBox
  • Debian LAN
  • BOSS?
  • SWECHA?
  • ...?

Debian blending

  • Join existing teams
  • Convince Debian Developers to create new teams
  • Try use boxer

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

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

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

The End