% 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
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
Debian - distro & community
- Community
- Distribution
- Free!
Debian - Community
- ~1000 "Developers"
- ~500 "Maintainers"
- ??? actual contributors...
Debian - Community structure
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
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
|