summaryrefslogtreecommitdiff
path: root/blends/talk/khammam/index.html
blob: 9a215b36560adbe11f6f3ec3119a4eb49448d93d (plain)
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta name="generator" content="pandoc" />
  8. <meta name="author" content="Jonas Smedegaard" />
  9. <meta name="date" content="Khammam, October 20th, 2011" />
  10. <link rel="stylesheet" type="text/css" media="screen, projection, print"
  11. href="../slidy.css" />
  12. <script src="../slidy.js"
  13. charset="utf-8" type="text/javascript"></script>
  14. </head>
  15. <body>
  16. <div class="slide titlepage">
  17. <h1 class="title">Debian Pure Blends</h1>
  18. <p class="author">
  19. Jonas Smedegaard
  20. </p>
  21. <p class="date">Khammam, October 20th, 2011</p>
  22. </div>
  23. <div class="slide">
  24. <h1 id="overview">Overview</h1>
  25. <ul>
  26. <li>Debian is generic - Blends are specific</li>
  27. <li>Purity: all is Debian</li>
  28. <li>Why bother?</li>
  29. <li>Technical details</li>
  30. <li>Team, community, users</li>
  31. <li>Future</li>
  32. </ul>
  33. </div>
  34. <div class="slide">
  35. <h1 id="debian---the-universal-operating-system">Debian - the universal Operating System</h1>
  36. <ul>
  37. <li>Stable</li>
  38. <li>Flexible</li>
  39. </ul>
  40. <p>Debian is the universal Operating System.</p>
  41. <dl>
  42. <dt>Goal</dt>
  43. <dd>Usable everywhere
  44. </dd>
  45. </dl>
  46. </div>
  47. <div class="slide">
  48. <h1 id="debian---very-flexible...">Debian - very flexible...</h1>
  49. <ul class="incremental">
  50. <li>Flexible: good</li>
  51. <li>Very flexible: very good</li>
  52. </ul>
  53. </div>
  54. <div class="slide">
  55. <h1 id="debian---too-flexible">Debian - <strong>too</strong> flexible!</h1>
  56. <ul>
  57. <li>Flexible: good</li>
  58. <li><span style="text-decoration: line-through;">Very flexible: very good</span></li>
  59. <li>Very flexible: very confusing!</li>
  60. </ul>
  61. <p>Debian is too flexible: confusing and to some even scary!</p>
  62. </div>
  63. <div class="slide">
  64. <h1 id="debian---ways-to-simplify">Debian - ways to simplify</h1>
  65. <ol style="list-style-type: decimal">
  66. <li>Keep things as-is - educate users instead</li>
  67. <li>Remove choice</li>
  68. <li>Provide multiple defaults</li>
  69. </ol>
  70. </div>
  71. <div class="slide">
  72. <h1 id="debian---simple-if-generic-defaults-are-ok">Debian - simple if generic defaults are ok</h1>
  73. <ul>
  74. <li>Mainstream (but not too new) hardware</li>
  75. <li>GNOME desktop</li>
  76. <li>Iceweasel web browser</li>
  77. <li>Exim MTA</li>
  78. <li>Apache web server</li>
  79. <li>MySQL database server</li>
  80. </ul>
  81. <p>Debian <em>is</em> simple - if you happen to like its defaults.</p>
  82. </div>
  83. <div class="slide">
  84. <h1 id="debian-pure-blend---debian-for-a-specific-purpose">Debian Pure Blend - Debian for a specific purpose</h1>
  85. <p>Debian Pure Blend (in short DDD): a subset of Debian configured to support a particular target group out-of-the-box.</p>
  86. <dl>
  87. <dt>Goal 1</dt>
  88. <dd>Turn Debian into the distribution of choice for a specific target group
  89. </dd>
  90. <dt>Goal 2</dt>
  91. <dd>Advertise this fact to the world to attract users and developers
  92. </dd>
  93. </dl>
  94. </div>
  95. <div class="slide">
  96. <h1 id="debian-pure-blend---technical-parts">Debian Pure Blend - technical parts</h1>
  97. <ul>
  98. <li>package selection(s)</li>
  99. <li>customizations</li>
  100. </ul>
  101. <p>The concrete work to include as packages with official Debian.</p>
  102. </div>
  103. <div class="slide">
  104. <h1 id="debian-pure-blend---reality-parts">Debian Pure Blend - reality parts</h1>
  105. <ul>
  106. <li>goals &amp; noise about progress</li>
  107. <li>package health + encourage additional software packaging</li>
  108. <li>passion &amp; patience</li>
  109. <li>good relations with Debian package maintainers, competitors, and upstream authors</li>
  110. <li>good relations with users</li>
  111. </ul>
  112. <p>Surrounding work making a Blend relevant.</p>
  113. </div>
  114. <div class="slide">
  115. <h1 id="debian-pure-blend---current-blending-projects">Debian Pure Blend - current blending projects</h1>
  116. <ul>
  117. <li>Debian Jr</li>
  118. <li>Debian Med</li>
  119. <li>Debian Edu</li>
  120. <li>Debian Science</li>
  121. <li>Debian EzGo</li>
  122. <li>BrDesktop</li>
  123. <li>Debian Accessibility</li>
  124. <li>Debian Lex</li>
  125. <li>DebiChem</li>
  126. <li>Debian GIS</li>
  127. <li>Debian Multimedia</li>
  128. </ul>
  129. <p>Projects working on Blends - some pure, some not (yet)...</p>
  130. </div>
  131. <div class="slide">
  132. <h1 id="debian-pure-blends---all-debian">Debian Pure Blends - all Debian</h1>
  133. <ul>
  134. <li><strong>D</strong>ebian packages - selections (e.g. for tasksel to pick up)</li>
  135. <li><strong>D</strong>ebian configuration - use of policy-compliant package-provided interfaces</li>
  136. <li><strong>D</strong>ebian distribution media - installing via Debian itself</li>
  137. </ul>
  138. <dl>
  139. <dt>DDD</dt>
  140. <dd><strong>Debian</strong> packages <strong>Debian</strong> configured from <strong>Debian</strong> distribution
  141. </dd>
  142. </dl>
  143. </div>
  144. <div class="slide">
  145. <h1 id="debian-pure-blends---why-bother">Debian Pure Blends - why bother?</h1>
  146. <p>Nice on paper with ideals and priciples, but...</p>
  147. <p>What's in it for me?!?</p>
  148. </div>
  149. <div class="slide">
  150. <h1 id="debian-pure-blends---downsides">Debian Pure Blends - downsides</h1>
  151. <ul>
  152. <li><strong>annoying</strong> - Debian package maintainers may not like proposed changes</li>
  153. <li><strong>slow</strong> - stable distribution is released infrequently</li>
  154. <li><strong>rigid</strong> - all contributions must match Debian Free Software Guidelines</li>
  155. <li><strong>complex</strong> - packages must obey Debian Policy</li>
  156. </ul>
  157. </div>
  158. <div class="slide">
  159. <h1 id="debian-pure-blends---benefits">Debian Pure Blends - Benefits</h1>
  160. <ul>
  161. <li>backed by Debian - help, bug tracking, translations, etc.</li>
  162. <li>teamwork - others might help you refine and maintain your setups</li>
  163. <li>common structures - others might take over if you loose interest</li>
  164. </ul>
  165. </div>
  166. <div class="slide">
  167. <h1 id="tech---debian-support-overloading-choices">Tech - Debian support overloading choices</h1>
  168. <ul>
  169. <li>Debian installer</li>
  170. <li>tasksel</li>
  171. <li>debconf</li>
  172. <li>aptitude</li>
  173. </ul>
  174. </div>
  175. <div class="slide">
  176. <h1 id="tech---examples-of-non-pure-blending">Tech - examples of non-pure blending</h1>
  177. <ul>
  178. <li>include non-Debian packages or non-packaged stuff</li>
  179. <li>include Debian packages from different Debian suite</li>
  180. <li>configure system other than via Debian package installation</li>
  181. <li>install using non-Debian media</li>
  182. </ul>
  183. <p>You don't own your system - you provide one for others to own.</p>
  184. <p>So don't refine it like a (sloppy) user: Handle it like a Debian developer!</p>
  185. </div>
  186. <div class="slide">
  187. <h1 id="tech---debian-generic-setup">Tech - Debian, generic setup</h1>
  188. <ul>
  189. <li>select package profile(s)</li>
  190. <li>install</li>
  191. </ul>
  192. </div>
  193. <div class="slide">
  194. <h1 id="tech---debian-hand-tuned">Tech - Debian, hand-tuned</h1>
  195. <ul>
  196. <li>select package profile(s)</li>
  197. <li>select additional packages</li>
  198. <li>install</li>
  199. <li>(re)configure packages</li>
  200. </ul>
  201. </div>
  202. <div class="slide">
  203. <h1 id="tech---debian-auto-tuned">Tech - Debian, auto-tuned</h1>
  204. <ul>
  205. <li>pre-seed package selection</li>
  206. <li>pre-seed package configurations</li>
  207. <li>install</li>
  208. <li>(re)configure non-debconf packages</li>
  209. </ul>
  210. </div>
  211. <div class="slide">
  212. <h1 id="tech---debian-pure-blend-generic">Tech - Debian Pure Blend = generic</h1>
  213. <ul>
  214. <li>select blend profile</li>
  215. <li>install</li>
  216. </ul>
  217. </div>
  218. <div class="slide">
  219. <h1 id="tech---tasks-involved">Tech - tasks involved</h1>
  220. <ul>
  221. <li>extra software → into Debian officially</li>
  222. <li>manual configurations → preseeding</li>
  223. <li>maybe create temporary dirty hacks</li>
  224. <li>maybe use/create reusable tweaks</li>
  225. <li>eliminate dirty hacks and tweaks</li>
  226. <li>convince others in Debian to add as tasksel task</li>
  227. </ul>
  228. </div>
  229. <div class="slide">
  230. <h1 id="tech---blends-dev">Tech - blends-dev</h1>
  231. <p>Tool to help maintain package lists and prospective packages.</p>
  232. <p>Example: <a href="http://debian-med.alioth.debian.org/tasks/psychology"><code class="url">http://debian-med.alioth.debian.org/tasks/psychology</code></a></p>
  233. </div>
  234. <div class="slide">
  235. <h1 id="tech---dirty-tricks">Tech - dirty tricks</h1>
  236. <p>Avoid configuration files...</p>
  237. <ul>
  238. <li>config.d folders</li>
  239. <li>databases</li>
  240. <li>networked data</li>
  241. </ul>
  242. </div>
  243. <div class="slide">
  244. <h1 id="tech---tweaks">Tech - tweaks</h1>
  245. <p>Reusable scripts compatible with one or more of...</p>
  246. <ul>
  247. <li>FAI</li>
  248. <li>hands-off at http://hands.com/d-i/</li>
  249. <li>CFengine</li>
  250. <li>Puppet</li>
  251. </ul>
  252. </div>
  253. <div class="slide">
  254. <h1 id="tech---good-style">Tech - good style</h1>
  255. <ul>
  256. <li>Aptitude</li>
  257. <li>debconf</li>
  258. <li>Config::Model</li>
  259. </ul>
  260. </div>
  261. <div class="slide">
  262. <h1 id="tech---when-is-it-pure">Tech - When is it &quot;Pure&quot;?</h1>
  263. <p>When all is in Debian, with no dirty tricks:</p>
  264. <ul>
  265. <li>package selection(s)</li>
  266. <li>customizations</li>
  267. <li>installation</li>
  268. </ul>
  269. </div>
  270. <div class="slide">
  271. <h1 id="team---getting-involved">Team - getting involved</h1>
  272. <ul>
  273. <li>identify and isolate tweaks at your own system</li>
  274. <li>register missing software - on wiki page or (better!) in Debian BTS</li>
  275. <li>write documentation</li>
  276. <li>write the dream of how things ought to work</li>
  277. <li>wite how details work now</li>
  278. <li>discuss downstream (i.e. with users and subdistros) how things work / should work</li>
  279. <li>discuss upstream (i.e. with authors) what is possible now / soon</li>
  280. </ul>
  281. </div>
  282. <div class="slide">
  283. <h1 id="team---getting-involved-ii">Team - getting involved II</h1>
  284. <ul>
  285. <li>write intro for peer enthusiasts</li>
  286. <li>decide and document ideal formats - translations, graphics etc.</li>
  287. <li>prioritize pending tasks - of various kinds to encourage many different contributions</li>
  288. <li>document where it is ok to ask beginners' questions</li>
  289. <li>document if beginners can ask for a mentor</li>
  290. </ul>
  291. </div>
  292. <div class="slide">
  293. <h1 id="team---getting-involved-iii">Team - getting involved III</h1>
  294. <ul>
  295. <li>make illustration</li>
  296. <li>make screendumps</li>
  297. <li>make fan graphics</li>
  298. <li>make desktop backgrounds, CD covers, stickers, etc.</li>
  299. <li>Register the project as a DOAP file, and maybe at Ohloh and Freshmeat etc.</li>
  300. <li>Register and maintain relevant Debtags</li>
  301. </ul>
  302. </div>
  303. <div class="slide">
  304. <h1 id="team---getting-involved-iv">Team - getting involved IV</h1>
  305. <ul>
  306. <li>Translate package descriptions</li>
  307. <li>Translate debconf dialogs</li>
  308. <li>Translate upstream code</li>
  309. </ul>
  310. </div>
  311. <div class="slide">
  312. <h1 id="team---getting-involved-v">Team - getting involved V</h1>
  313. <ul>
  314. <li>Help integrate contributions from graphics artists, translators and others</li>
  315. <li>document decision processes of the team (and Debian and upstreams?)</li>
  316. <li>document workflows in teams</li>
  317. <li>insist on transparency - not only for code!</li>
  318. </ul>
  319. </div>
  320. <div class="slide">
  321. <h1 id="team---continuous-status-checks">Team - Continuous status checks</h1>
  322. <ul>
  323. <li>Ask users about their needs - you will forget over time!</li>
  324. <li>Ask teams about their tasks - each participant has slightly different perception of the common vision and status</li>
  325. <li>Ask upstreams about use: perhaps potentials are missed, or code or persons feel as being abused</li>
  326. </ul>
  327. </div>
  328. <div class="slide">
  329. <h1 id="debian-pure-blends---future">Debian Pure Blends - Future</h1>
  330. <ul>
  331. <li>debconf dontcare vs. explicit choice of default option</li>
  332. <li>debconf query mechanism (and fill buffer from live system)</li>
  333. <li>APT explicit choice of alternate dependency/recommendation</li>
  334. <li>APT dontcare vs. explicit choice of default dependency/recommendation</li>
  335. <li>Config::Model - semantic configfile handling</li>
  336. </ul>
  337. </div>
  338. </body>
  339. </html>