S.zacchiroli 20121205-fossa

36
Debian Teaching Opportunities Stefano Zacchiroli Debian Project Leader 5 December 2012 fOSS a 2012 Lille, France Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 1 / 28

Transcript of S.zacchiroli 20121205-fossa

Page 1: S.zacchiroli 20121205-fossa

DebianTeaching Opportunities

Stefano Zacchiroli

Debian Project Leader

5 December 2012fOSSa 2012Lille, France

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 1 / 28

Page 2: S.zacchiroli 20121205-fossa

About the speaker

hacker . . .

active in FOSS since 1998

Debian Developer since 2001

Debian Project Leader since 2010

. . . and teacher

regularly teaching “FOSS” since 2000

research fellow at IRILL since 2009

Maıtre de Conferences since 2011, Univ. Paris Diderot

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 2 / 28

Page 3: S.zacchiroli 20121205-fossa

Outline

1 A gentle introduction to DebianDebian and WheezyDerivativesOrganization

2 Teaching opportunitiesGetting involvedOutreachTeaching (with) Debian

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 3 / 28

Page 4: S.zacchiroli 20121205-fossa

Outline

1 A gentle introduction to DebianDebian and WheezyDerivativesOrganization

2 Teaching opportunitiesGetting involvedOutreachTeaching (with) Debian

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 4 / 28

Page 5: S.zacchiroli 20121205-fossa

Free Software, a point: distributions

ease software management

key notion: the package abstraction

offer coherent software collections

killer application: package managers (& installers)

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 5 / 28

Page 6: S.zacchiroli 20121205-fossa

Debian: once upon a time

Fellow Linuxers,This is just to announce the imminent completion of a

brand-new Linux release, which I’m calling the Debian LinuxRelease. [. . . ]

Ian A Murdock, 16/08/1993comp.os.linux.development

make GNU/Linux competitive with commercial OS

easy to install

built collaboratively by software experts

1st major distro developed “openly in the spirit of GNU”FSF-sponsored for a while

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 6 / 28

Page 7: S.zacchiroli 20121205-fossa

13 of Debian: the operating system

flagship product: Debian stable

binary distribution

completely Free (DFSG)

released every 24 months (≈)

a dozen architecturesI with several kernels(!)

archive-wide security support(3-3.5 years)

renowned forports, stability, packaging system, old hw

support, documentation, smooth

upgrades, i18n/l10n, the testing suite,

runs anywhere, technical policy, package

choice, . . .

2.0 2.1 2.2 3.0 3.1 4.0 5.0 6.00

5000

10000

15000

20000

25000

30000

Source packages Binary packages

one of the largest Free Softwareporting platforms

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 7 / 28

Page 8: S.zacchiroli 20121205-fossa

Debian 6.0 “Squeeze” — looking back

release: February 2011

dependency-based boot system (faster,more robust)

I completely Free Linux kernel, firmwareincluded

GNU/kFreeBSD

improved debian-installerI ext4, btrfsI ZFS (on kFreeBSD)I ease complex setups

e.g. LVM + RAID + encryption

Debian Pure BlendsI Debian Edu, Debian Med, Debian GIS,

DebiChem, . . .I blends.alioth.debian.org

new services:

snapshot.debian.org

backports.debian.org

stable-updates

screenshots.d.net

ask.debian.net

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 8 / 28

Page 9: S.zacchiroli 20121205-fossa

Debian 7.0 “Wheezy” — looking forward

multiarchproper technical way of sharingpackages across archs

I 3rd party software, easilyI cross-compilation

private cloud deploymentI OpenStack, Xen/XCP, . . .

public cloud supportI EC2, Azure, . . .

new archs: armhf, s390x

desktop: GNOME 3.4, KDEPlasma 4.8, XFCE, . . .

upgrades throughout the archive

Timeline

freeze: June 30th, 2012

release: when it’s readyTM

ETA: Q4 2012 – Jan 2013

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 9 / 28

Page 10: S.zacchiroli 20121205-fossa

13 of Debian: the Project

Common goal:

Create the best, Free operating system.

Debian Social Contract (1997)

100% Free Software

give back

don’t hide problems

priorities: users & Free Software

Debian Constitution (1998)

Structures and rules of a Free-Software-compatible democracy

Strong motive to join: ≈ 1’000 project members, world-wide

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 10 / 28

Page 11: S.zacchiroli 20121205-fossa

13 of Debian: the Project (cont.)

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 10 / 28

Page 12: S.zacchiroli 20121205-fossa

13 of Debian: the community

Open development

we don’t hide problem

easy to have an impact (just “show me the code!”)

Large amounts of communication

mailing lists

IRC

(a few) Web services(, growing)I social: @debian, !debian on identi.ca

Large number of tech-savvy users

users help each other, contribute patches, get involved

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 11 / 28

Page 13: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package quality

2 freedom

3 independence

4 decision making

5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 14: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package qualityI policy (design + testing)I maintainers are experts of the sw they packageI no 2nd class packages, all are equal

2 freedom

3 independence

4 decision making

5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 15: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package quality2 freedom

I rooted in Free Software principlesI an important “political” actor in Free SoftwareI free the bottom up, dogfooding

3 independence

4 decision making

5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 16: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package quality

2 freedom3 independence

I no (single) company babysitting usI donationsI volunteers, gift-economy

4 decision making

5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 17: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package quality

2 freedom

3 independence4 decision making

I do-ocracy & democracyI no imposed decisionI “show me the code” discipline

5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 18: S.zacchiroli 20121205-fossa

What’s so special about Debian?

There are 300+ active distributions (distrowatch.com)What’s so special about Debian? Why should you care?

1 package quality

2 freedom

3 independence

4 decision making5 derivatives!

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 12 / 28

Page 19: S.zacchiroli 20121205-fossa

Interlude — derivatives how to

Free Software 101

Freedom #0, to run the program, for any purposeFreedom #1, to study how the program works, and change itFreedom #2, to redistribute copiesFreedom #3, to improve the program, and release improvements

When applied to distros: derived distributions, AKA derivatives

How? 1 take existing packages and add your extras2 patch & rebuild packages as needed3 sync periodically

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 13 / 28

Page 20: S.zacchiroli 20121205-fossa

Debian derivatives

Debian: a base for ≈140 active derivatives — distrowatch.com

Tucunare, LinEx, Inquisitor, Grml, UniventionCorporateServer, Vanillux,

Emdebian, Crunchbang, PureOS, StormOS, Ubuntu, GNUSTEP,

gNewSense, Debathena, Maemo, LMDE, SPACEflight, BCCD, Bayanihan,

semplice, ArchivistaBox, Knoppix, Tails, BlankOn, AlienVault-OSSIM,

DoudouLinux, Vyatta, Symbiosis, VoyageLinux, Lihuen, LinuxAdvanced,

Aptosid, Canaima, siduction, ZevenOS-Neptune, BOSSlinux, Parsix,

AstraLinux, ProgressLinux, Finnix, SprezzOS, CoreBiz, Epidemic-Linux,

MetamorphoseLinux , . . .

Why? quality & licensing assurancessolid base systemhuge package basethe “universal OS”, perfect for customizations

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 14 / 28

Page 21: S.zacchiroli 20121205-fossa

A Debian derivative example: Ubuntu

started in 2004 by Canonicaltarget: desktop

Debian derivative

very popular (15–20x Debian?)

historical/past correlations

main ↔ corporateuniverse ↔ community

I heavily customized/forked in mainI very close to Debian elsewhere

sprouting its own derivatives (≈80)I . . . as Debian transitive derivatives

Debian

Ubuntu

Upstream

Patch

74%15%

11%

Data for Oneiric Ocelot, main + universe

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 15 / 28

Page 22: S.zacchiroli 20121205-fossa

Do you Debian?

Ubuntu appears to be the most customized Debian derivativeother derivs. ⇒ much larger amount of pristine Debian packages

Tucunare, LinEx, Inquisitor, Grml, UniventionCorporateServer,Vanillux, Emdebian, Crunchbang, PureOS, StormOS, Ubuntu,

GNUSTEP, gNewSense, Debathena, Maemo, LMDE, SPACEflight,BCCD, Bayanihan, semplice, ArchivistaBox, Knoppix, Tails, BlankOn,

AlienVault-OSSIM, DoudouLinux, Vyatta, Symbiosis, VoyageLinux,Lihuen, LinuxAdvanced, Aptosid, Canaima, siduction,

ZevenOS-Neptune, BOSSlinux, Parsix, AstraLinux, ProgressLinux,Finnix, SprezzOS, CoreBiz, Epidemic-Linux, MetamorphoseLinux ,

Debian, Xubuntu, Linux Mint, Ubuntu Studio, Mythbuntu, ArtistX,Asturix, Peppermint OS, TurnKey Linux, Kubuntu, Caixa Magica,

Lubuntu , . . .

if you are running a Debian (transitive) derivative, chances are you heavilydepend on Debian and on its well-being

even if your distro hasn’t told you

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 16 / 28

Page 23: S.zacchiroli 20121205-fossa

Formal organization

Users

Developerselect

Officers

appoints appoints

Project leader

Project secretaryTechnical committee

appoints/approves

Release team

FTP masters

Security team

Press contacts

Administrators

etc.

Delegates

Maintainers / porters

etc. etc.

CD team

Web/list/...masters

Policy group

Quality assurance

Documentation / i18n teams

DAM NM team / advocates applicantsapply

approve

Software in the Public Interest (SPI)

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 17 / 28

Page 24: S.zacchiroli 20121205-fossa

Day to day organization: teams!

http://wiki.debian.org/Teams/

teams grow as jobs get bigger

some “core teams” are DPL delegates, most are not

examples:I packaging teams for related packagesI ftp-masterI release teamI security teamI kernel teamI debian-installerI debian-cdI . . .

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 18 / 28

Page 25: S.zacchiroli 20121205-fossa

UpStream

Sources

Security Patches

SecurityTeam

Securityincoming

(Manual) package uploadautomatic processing

special/optional processStandard process

BTS

package installationLegend

maintenance responsibilityexchange help, discussion

submission, notification

builds

incoming

developer/maintainer

packaging

power user/developer

user/production

unstable

testing

frozen

byRM

testing

unstable

stable

stable

proposed updates

proposed updatessecurityupdates

bystableRM

semi official repository

human/group

transitionalstate

stable-updates(ex volatile)

backports

experimental

Page 26: S.zacchiroli 20121205-fossa

Outline

1 A gentle introduction to DebianDebian and WheezyDerivativesOrganization

2 Teaching opportunitiesGetting involvedOutreachTeaching (with) Debian

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 20 / 28

Page 27: S.zacchiroli 20121205-fossa

How people get involved(to understand how participation in Debian

can contribute to student formation)

Typical ways to start contributing:

1 join existing packaging teams packaging / developmentI learn from experienced contributorsI learn team workI high quality standards / rigorous procedures / perfectionism (VCS,

patch minimality, software qualification, . . . )

2 adopt orphaned packages packagingI take responsibility, long-term commitment

3 fix bugs development / packagingI in packages you care aboutI activities: report bugs, submit patches, test others’ patches, . . .

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 21 / 28

Page 28: S.zacchiroli 20121205-fossa

How people get involved (cont.)(to understand how participation in Debian

can contribute to student formation)

Typical ways to start contributing:

4 improve Debian infrastructure developmentI very complex, heterogeneous, real-world infrastructureI no need to be a Debian DeveloperI most services provide link to corresponding source code and setup

instructions

5 work on non differently technical tasks management, . . .I documentation, translationI design (themes, websites)I communication (newsletter, press releases, press inquiries)I accountingI events (mini-DebConf, DebConf)I video teamI . . .

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 21 / 28

Page 29: S.zacchiroli 20121205-fossa

Outreach — to students and teachers

nope :-(I i.e. no specific outreach program for teachingI “only” general outreach to all potential contributors

Debian contributor demography, relevant groups:I professional sysadmsI students (master & PhD)I researchersI teachers (at all levels)

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 22 / 28

Page 30: S.zacchiroli 20121205-fossa

Participation in FOSS outreach programs

Also, we do participate in general FOSS outreach programs, with somesuccess.

Google Summer of Code (GSoC)

[GSoC] is an annual program [. . . ] in which Google awards stipends(of 5,000 USD, as of 2012) to hundreds of students who successfullycomplete a requested FOSS coding project during the summer. —Wikipedia

participants since 2006 (2nd edition)

non packaging tasks, but software developmentI e.g. infrastructure, toolchain, . . .

prefer newbie contributors, but accept (student) DDs

2011: 30 applications / 9 accepted / 9 successful

2012: 68 applications / 15 accepted / 12 successful

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 23 / 28

Page 31: S.zacchiroli 20121205-fossa

Participation in FOSS outreach programs (cont.)

Also, we do participate in general FOSS outreach programs, with somesuccess.1

Google Code In (GCI)

[GCI] is an annual programming competition sponsored by Googlethat allows pre-university students to complete tasks specified bypartnering FOSS organizations.

participated in 2011 (2nd edition)I example tasks:

F write 4 manpagesF prepare a QA uploadF fix a dpkg bugF triage 3-4 bugsF translate a wiki page

had hard time collecting enough tasks in 2012 → drop off1thanks Ana Guerrero for her help with GSoC/GCI Debian figuresStefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 23 / 28

Page 32: S.zacchiroli 20121205-fossa

Teaching Debian — as sysadm technology

Teaching Debian administration (to train sysadms):

+ highly relevant on the market

Debian is now the most popular Linux distribution on webservers [ 29.4% of FOSS, 9.6% of total ]

— w3techs.com, January 2012

+ lack of enough trained engineers= student motivation (in theory)few, but important Debian-specific skills

I reuse other common FOSS skill-sets

(Free) Resources

Raphael Hertzog, Roland MasThe Debian Administrator’s Handbookhttp://debian-handbook.info/, 2012

also: apt-get install debian-handbook

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 24 / 28

Page 33: S.zacchiroli 20121205-fossa

Teaching Debian — as packaging technology

Teaching Debian packaging:

not (yet) as relevant as Debian administration, but growing. . .

. . . and key in specific contextsI e.g. (derivative) distribution editorsI e.g. companies with .deb-based deployment work-flows

(Free) Resources

Lucas NussbaumDebian Packaging Tutorialhttp://www.debian.org/doc/devel-manuals#packaging-tutorial, 2012

also: apt-get install packaging-tutorial

Already in lecture format with practical exercises — duration 4h–8h,depending on the class level.

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 25 / 28

Page 34: S.zacchiroli 20121205-fossa

Using Debian as a teaching platform

Depends on your software needs and its availability in Debian.Really.

at high school level and below2

I Debian Edu (AKA “Skolelinux”) — a school lab, out of the boxI http://www.slx.no/en/productI http://wiki.debian.org/DebianEdu

at university level, computer science/engineeringI very flexible for labsI good platform for development (using testing)

F fresh software, but more tested than development snapshotsF plenty of active per-language sub-communities

I very good platform for OS-related classesF consistent way to find system-level documentationF easy and consistent way to retrieve sources and investigate more

2not my area of expertiseStefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 26 / 28

Page 35: S.zacchiroli 20121205-fossa

Wrap up

By using and contributing to Debian students can learn:

team work: processes, discipline, peer review, management, . . .

software life-cycle management

development: patching complex code bases

development: complex, world-wide infrastructure

Free Software ethos

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 27 / 28

Page 36: S.zacchiroli 20121205-fossa

Thanks!

Questions?Stefano Zacchiroli

[email protected]

http://upsilon.cc/zack

http://identi.ca/zack

about the slides:available at https://gitorious.org/zacchiro/talks/trees/master/2012/20121205-fossa

copyright c© 2010–2012 Stefano Zacchirolilicense CC BY-SA 3.0 — Creative Commons Attribution-ShareAlike 3.0

Stefano Zacchiroli (Debian) Debian fOSSa 2012 — Lille 28 / 28