summaryrefslogtreecommitdiff
path: root/blends/talk/paris/index.html
blob: 7d1638b47bc3e3e4a55515aced28f82a0bb60d3c (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">
  5. <head>
  6. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  7. <meta http-equiv="Content-Style-Type" content="text/css" />
  8. <meta name="generator" content="pandoc" />
  9. <meta name="author" content="Jonas Smedegaard" />
  10. <title>Debian Pure Blends</title>
  11. <style type="text/css">code{white-space: pre;}</style>
  12. <link rel="stylesheet" type="text/css" media="screen, projection, print"
  13. href="../../../slidy/slidy.css" />
  14. <link rel="stylesheet" type="text/css" media="screen, projection, print"
  15. href="local.css" />
  16. <script src="../../../slidy/slidy.js"
  17. charset="utf-8" type="text/javascript"></script>
  18. </head>
  19. <body>
  20. <div class="slide titlepage">
  21. <h1 class="title">Debian Pure Blends</h1>
  22. <p class="author">
  23. Jonas Smedegaard
  24. </p>
  25. <p class="date">Paris, France, November 4th, 2013</p>
  26. </div>
  27. <div id="creating-sustainable-hacks" class="slide section level1">
  28. <h1>Creating sustainable hacks</h1>
  29. </div>
  30. <div id="debian---the-universal-operating-system" class="slide section level1">
  31. <h1>Debian - the universal operating system</h1>
  32. <p>18722 source packages</p>
  33. <p>~1000 members</p>
  34. <p>4-5000 non-member contributors</p>
  35. <p>19 years old</p>
  36. </div>
  37. <div id="debian-pure-blends---debian-universally-relevant" class="slide section level1">
  38. <h1>Debian Pure Blends - Debian universally relevant</h1>
  39. </div>
  40. <div id="debian-pure-blends---debian-universally-relevant-1" class="slide section level1">
  41. <h1>Debian Pure Blends - Debian universally relevant</h1>
  42. <p>Light(er than GNOME) desktop</p>
  43. <p>Specific (non-english) language</p>
  44. <p>Custom-designed taskbar</p>
  45. <p>Custom applications included</p>
  46. <p>Custom emphasized applications in menu</p>
  47. <p>Custom default desktop background</p>
  48. <p>Custom branding</p>
  49. </div>
  50. <div id="ideas-as-water" class="slide section level1">
  51. <h1>Ideas as water</h1>
  52. <div class="figure">
  53. <img src="../../../fb/talk/epfsug2/ripple-20044.jpg" alt="Photo: George Hodan" /><p class="caption">Photo: <a href="http://www.publicdomainpictures.net/view-image.php?image=18935">George Hodan</a></p>
  54. </div>
  55. </div>
  56. <div id="downstream---upstream" class="slide section level1">
  57. <h1>Downstream &lt;-&gt; Upstream</h1>
  58. <div class="figure">
  59. <img src="../../../fb/talk/epfsug2/developmentstream.jpg" alt="Sketch: Siri Reiter" /><p class="caption">Sketch: <a href="http://sirireiter.dk/">Siri Reiter</a></p>
  60. </div>
  61. </div>
  62. <div id="derivatives" class="slide section level1">
  63. <h1>Derivatives</h1>
  64. <p>Wandering off?</p>
  65. <p>Running ahead?</p>
  66. <p>Scouting?</p>
  67. </div>
  68. <div id="making-a-blend" class="slide section level1">
  69. <h1>Making a blend</h1>
  70. <p>pick a base distro</p>
  71. <p>hack on it</p>
  72. <p>optimize hacks</p>
  73. <p>get hacks adopted upstream</p>
  74. </div>
  75. <div id="maintaining-a-blend" class="slide section level1">
  76. <h1>Maintaining a blend</h1>
  77. <div class="figure">
  78. <img src="e9aa_soylent_green_crackers.jpg" alt="Photo: Thinkgeek" /><p class="caption">Photo: <a href="https://www.thinkgeek.com/product/e9aa/">Thinkgeek</a></p>
  79. </div>
  80. </div>
  81. <div id="debian-environment" class="slide section level1">
  82. <h1>Debian environment</h1>
  83. <p>Social contract</p>
  84. <p>Constitution</p>
  85. <p>Policy</p>
  86. </div>
  87. <div id="blends" class="slide section level1">
  88. <h1>Blends</h1>
  89. <ul>
  90. <li>Debian Jr</li>
  91. <li>Debian Med</li>
  92. <li>Debian Edu</li>
  93. <li>Debian Science</li>
  94. <li>Debian EzGo</li>
  95. <li>BrDesktop</li>
  96. <li>Debian Accessibility</li>
  97. <li>Debian Lex</li>
  98. <li>DebiChem</li>
  99. <li>Debian GIS</li>
  100. <li>Debian Multimedia</li>
  101. </ul>
  102. </div>
  103. <div id="debian-pure-blends---all-debian" class="slide section level1">
  104. <h1>Debian Pure Blends - all Debian</h1>
  105. <ul>
  106. <li><strong>D</strong>ebian packages - selections (e.g. for tasksel to pick up)</li>
  107. <li><strong>D</strong>ebian configuration - use of policy-compliant package-provided interfaces</li>
  108. <li><strong>D</strong>ebian distribution media - installing via Debian itself</li>
  109. </ul>
  110. <dl>
  111. <dt>DDD</dt>
  112. <dd><strong>Debian</strong> packages <strong>Debian</strong> configured from <strong>Debian</strong> distribution
  113. </dd>
  114. </dl>
  115. </div>
  116. <div id="debian-pure-blends---why-bother" class="slide section level1">
  117. <h1>Debian Pure Blends - why bother?</h1>
  118. <p>Nice on paper with ideals and priciples, but...</p>
  119. <p>What's in it for me?!?</p>
  120. </div>
  121. <div id="debian-pure-blends---downsides" class="slide section level1">
  122. <h1>Debian Pure Blends - downsides</h1>
  123. <ul>
  124. <li><strong>annoying</strong> - Debian package maintainers may not like proposed changes</li>
  125. <li><strong>slow</strong> - stable distribution is released infrequently</li>
  126. <li><strong>rigid</strong> - all contributions must match Debian Free Software Guidelines</li>
  127. <li><strong>complex</strong> - packages must obey Debian Policy</li>
  128. </ul>
  129. </div>
  130. <div id="debian-pure-blends---benefits" class="slide section level1">
  131. <h1>Debian Pure Blends - Benefits</h1>
  132. <ul>
  133. <li>backed by Debian - help, bug tracking, translations, etc.</li>
  134. <li>teamwork - others might help you refine and maintain your setups</li>
  135. <li>common structures - others might take over if you loose interest</li>
  136. </ul>
  137. </div>
  138. <div id="tech---debian-support-overloading-choices" class="slide section level1">
  139. <h1>Tech - Debian support overloading choices</h1>
  140. <ul>
  141. <li>Debian installer</li>
  142. <li>tasksel</li>
  143. <li>debconf</li>
  144. <li>aptitude</li>
  145. </ul>
  146. </div>
  147. <div id="tech---examples-of-non-pure-blending" class="slide section level1">
  148. <h1>Tech - examples of non-pure blending</h1>
  149. <ul>
  150. <li>include non-Debian packages or non-packaged stuff</li>
  151. <li>include Debian packages from different Debian suite</li>
  152. <li>configure system other than via Debian package installation</li>
  153. <li>install using non-Debian media</li>
  154. </ul>
  155. <p>You don't own your system - you provide one for others to own.</p>
  156. <p>So don't refine it like a (sloppy) user: Handle it like a Debian developer!</p>
  157. </div>
  158. <div id="tech---debian-generic-setup" class="slide section level1">
  159. <h1>Tech - Debian, generic setup</h1>
  160. <ul>
  161. <li>select package profile(s)</li>
  162. <li>install</li>
  163. </ul>
  164. </div>
  165. <div id="tech---debian-hand-tuned" class="slide section level1">
  166. <h1>Tech - Debian, hand-tuned</h1>
  167. <ul>
  168. <li>select package profile(s)</li>
  169. <li>select additional packages</li>
  170. <li>install</li>
  171. <li>(re)configure packages</li>
  172. </ul>
  173. </div>
  174. <div id="tech---debian-auto-tuned" class="slide section level1">
  175. <h1>Tech - Debian, auto-tuned</h1>
  176. <ul>
  177. <li>pre-seed package selection</li>
  178. <li>pre-seed package configurations</li>
  179. <li>install</li>
  180. <li>(re)configure non-debconf packages</li>
  181. </ul>
  182. </div>
  183. <div id="tech---debian-pure-blend-generic" class="slide section level1">
  184. <h1>Tech - Debian Pure Blend = generic</h1>
  185. <ul>
  186. <li>select blend profile</li>
  187. <li>install</li>
  188. </ul>
  189. </div>
  190. <div id="tech---tasks-involved" class="slide section level1">
  191. <h1>Tech - tasks involved</h1>
  192. <ul>
  193. <li>extra software → into Debian officially</li>
  194. <li>manual configurations → preseeding</li>
  195. <li>maybe create temporary dirty hacks</li>
  196. <li>maybe use/create reusable tweaks</li>
  197. <li>eliminate dirty hacks and tweaks</li>
  198. <li>convince others in Debian to add as tasksel task</li>
  199. </ul>
  200. </div>
  201. <div id="tech---blends-dev" class="slide section level1">
  202. <h1>Tech - blends-dev</h1>
  203. <p>Tool to help maintain package lists and prospective packages.</p>
  204. <p>Example: <a href="http://debian-med.alioth.debian.org/tasks/psychology">http://debian-med.alioth.debian.org/tasks/psychology</a></p>
  205. </div>
  206. <div id="tech---dirty-tricks" class="slide section level1">
  207. <h1>Tech - dirty tricks</h1>
  208. <p>Avoid configuration files...</p>
  209. <ul>
  210. <li>config.d folders</li>
  211. <li>databases</li>
  212. <li>networked data</li>
  213. </ul>
  214. </div>
  215. <div id="tech---tweaks" class="slide section level1">
  216. <h1>Tech - tweaks</h1>
  217. <p>Reusable scripts compatible with one or more of...</p>
  218. <ul>
  219. <li>FAI</li>
  220. <li>hands-off at http://hands.com/d-i/</li>
  221. <li>CFengine</li>
  222. <li>Puppet</li>
  223. </ul>
  224. </div>
  225. <div id="tech---good-style" class="slide section level1">
  226. <h1>Tech - good style</h1>
  227. <ul>
  228. <li>Aptitude</li>
  229. <li>debconf</li>
  230. <li>Config::Model</li>
  231. </ul>
  232. </div>
  233. <div id="tech---when-is-it-pure" class="slide section level1">
  234. <h1>Tech - When is it &quot;Pure&quot;?</h1>
  235. <p>When all is in Debian, with no dirty tricks:</p>
  236. <ul>
  237. <li>package selection(s)</li>
  238. <li>customizations</li>
  239. <li>installation</li>
  240. </ul>
  241. </div>
  242. <div id="team---getting-involved" class="slide section level1">
  243. <h1>Team - getting involved</h1>
  244. <ul>
  245. <li>identify and isolate tweaks at your own system</li>
  246. <li>register missing software - on wiki page or (better!) in Debian BTS</li>
  247. <li>write documentation</li>
  248. <li>write the dream of how things ought to work</li>
  249. <li>wite how details work now</li>
  250. <li>discuss downstream (i.e. with users and subdistros) how things work / should work</li>
  251. <li>discuss upstream (i.e. with authors) what is possible now / soon</li>
  252. </ul>
  253. </div>
  254. <div id="team---getting-involved-ii" class="slide section level1">
  255. <h1>Team - getting involved II</h1>
  256. <ul>
  257. <li>write intro for peer enthusiasts</li>
  258. <li>decide and document ideal formats - translations, graphics etc.</li>
  259. <li>prioritize pending tasks - of various kinds to encourage many different contributions</li>
  260. <li>document where it is ok to ask beginners' questions</li>
  261. <li>document if beginners can ask for a mentor</li>
  262. </ul>
  263. </div>
  264. <div id="team---getting-involved-iii" class="slide section level1">
  265. <h1>Team - getting involved III</h1>
  266. <ul>
  267. <li>make illustration</li>
  268. <li>make screendumps</li>
  269. <li>make fan graphics</li>
  270. <li>make desktop backgrounds, CD covers, stickers, etc.</li>
  271. <li>Register the project as a DOAP file, and maybe at Ohloh and Freshmeat etc.</li>
  272. <li>Register and maintain relevant Debtags</li>
  273. </ul>
  274. </div>
  275. <div id="team---getting-involved-iv" class="slide section level1">
  276. <h1>Team - getting involved IV</h1>
  277. <ul>
  278. <li>Translate package descriptions</li>
  279. <li>Translate debconf dialogs</li>
  280. <li>Translate upstream code</li>
  281. </ul>
  282. </div>
  283. <div id="team---getting-involved-v" class="slide section level1">
  284. <h1>Team - getting involved V</h1>
  285. <ul>
  286. <li>Help integrate contributions from graphics artists, translators and others</li>
  287. <li>document decision processes of the team (and Debian and upstreams?)</li>
  288. <li>document workflows in teams</li>
  289. <li>insist on transparency - not only for code!</li>
  290. </ul>
  291. </div>
  292. <div id="team---continuous-status-checks" class="slide section level1">
  293. <h1>Team - Continuous status checks</h1>
  294. <ul>
  295. <li>Ask users about their needs - you will forget over time!</li>
  296. <li>Ask teams about their tasks - each participant has slightly different perception of the common vision and status</li>
  297. <li>Ask upstreams about use: perhaps potentials are missed, or code or persons feel as being abused</li>
  298. </ul>
  299. </div>
  300. <div id="debian-pure-blends---future" class="slide section level1">
  301. <h1>Debian Pure Blends - Future</h1>
  302. <ul>
  303. <li>debconf dontcare vs. explicit choice of default option</li>
  304. <li>debconf query mechanism (and fill buffer from live system)</li>
  305. <li>APT explicit choice of alternate dependency/recommendation</li>
  306. <li>APT dontcare vs. explicit choice of default dependency/recommendation</li>
  307. <li>Config::Model - semantic configfile handling</li>
  308. </ul>
  309. </div>
  310. <div id="sources-for-this-talk" class="slide section level1">
  311. <h1>Sources for this talk</h1>
  312. <ul>
  313. <li>Me: <script type="text/javascript">
  314. <!--
  315. h='&#106;&#x6f;&#110;&#x65;&#x73;&#46;&#100;&#x6b;';a='&#64;';n='&#100;&#114;';e=n+a+h;
  316. document.write('<a h'+'ref'+'="ma'+'ilto'+':'+e+'">'+e+'<\/'+'a'+'>');
  317. // -->
  318. </script><noscript>&#100;&#114;&#32;&#x61;&#116;&#32;&#106;&#x6f;&#110;&#x65;&#x73;&#32;&#100;&#x6f;&#116;&#32;&#100;&#x6b;</noscript></li>
  319. <li>This talk: <a href="http://dr.jones.dk/blends/paris">http://dr.jones.dk/blends/paris</a></li>
  320. <li>For Debian facts see Zack's slides: <a href="http://upsilon.cc/~zack/talks/">http://upsilon.cc/~zack/talks/</a></li>
  321. </ul>
  322. </div>
  323. </body>
  324. </html>