Return to Video

meetings-archive.debian.net/.../Newcomer_experience_in_debian_packaging_by_Sindhu_Sundar.webm

  • 0:00 - 0:02
    Hi, my name is Sindhu
  • 0:02 - 0:04
    and I'm gonna talk about
  • 0:04 - 0:06
    "Newcomer experience in Debian packaging"
  • 0:06 - 0:08
    "Who? Where? Why?"
  • 0:09 - 0:12
    From 2006 to 2009
  • 0:12 - 0:14
    were my first few years using
  • 0:14 - 0:16
    GNU/Linux systems and
  • 0:16 - 0:18
    I was majorly just distro hopping
  • 0:18 - 0:22
    kind of get the latest desktop and ??? everyone of them
  • 0:22 - 0:25
    and when I couldn't find the latest
  • 0:25 - 0:27
    packages I would install
  • 0:27 - 0:30
    things from the testing repositories
  • 0:30 - 0:32
    and it didn't make much of a difference, you know?
  • 0:32 - 0:34
    I would have the latest packages
  • 0:34 - 0:36
    and I soon learnt that testing and
  • 0:36 - 0:38
    devel package repositories where
  • 0:38 - 0:40
    really testing and that would be unstable and
  • 0:40 - 0:42
    break my system.
  • 0:42 - 0:44
    So I went back to fix my system
  • 0:44 - 0:46
    and for the next three years
  • 0:46 - 0:48
    this is what I was doing
  • 0:48 - 0:50
    you know... ???
  • 0:50 - 0:53
    Later I was looking for a career change
  • 0:53 - 0:57
    and a friend came along to teach me how to make a patch
  • 0:58 - 1:01
    this is about the time when Outreach Program for Women
  • 1:02 - 1:04
    was announced and
  • 1:04 - 1:08
    I became a Documentation Intern for GNOME
  • 1:08 - 1:12
    and I also went on to Google Summer of Code internship
  • 1:12 - 1:15
    with Gnome I contributed code to gitg project
  • 1:15 - 1:19
    and I'm now a mentor for Documentation interns
  • 1:19 - 1:22
    at the Outreach Program.
  • 1:22 - 1:24
    "What?"
  • 1:24 - 1:28
    My first failed attempt at packaging
  • 1:28 - 1:32
    was when I tried to package a
  • 1:32 - 1:35
    a ??? called cnetworkmanager
  • 1:35 - 1:37
    which is a command line
  • 1:37 - 1:40
    application to access network manager
  • 1:40 - 1:44
    and looking at the ??? documentation then
  • 1:44 - 1:46
    pretty overwhelming and
  • 1:46 - 1:48
    in retrospect I think that
  • 1:48 - 1:50
    I abandoned my efforts quickly
  • 1:50 - 1:56
    because I wasn't experienced in using GNU/Linux systems
  • 1:56 - 1:59
    and because there was a lot of documentation, truly.
  • 1:59 - 2:03
    My second failed attempt was as recent as last year
  • 2:03 - 2:05
    and I just wanted to package something for Fedora
  • 2:05 - 2:09
    and looking at the specs files and so many things to
  • 2:09 - 2:14
    do about it, I was quick to just dismiss it.
  • 2:14 - 2:16
    Other commitments came along
  • 2:16 - 2:20
    but this was a ???
  • 2:20 - 2:22
    "So then?"
  • 2:22 - 2:26
    My first job ??? two years
  • 2:26 - 2:30
    when I was contributing to GNOME, was
  • 2:30 - 2:32
    not just about learning for myself
  • 2:32 - 2:34
    but also teaching other newcomers
  • 2:34 - 2:36
    and helping people get into the community
  • 2:38 - 2:42
    Soon I was speaking to many newcomers on mailing lists
  • 2:42 - 2:46
    and in person teaching at local colleges
  • 2:46 - 2:50
    and events on how to contribute to GNOME
  • 2:50 - 2:52
    and subliminally
  • 2:52 - 2:54
    you know, you tend to summarise in your head
  • 2:54 - 2:58
    telling the same things to many different people
  • 2:58 - 3:00
    It's just really four steps to
  • 3:00 - 3:05
    start, to really start contributing to any project.
  • 3:05 - 3:09
    And that would be to go to the official website and
  • 3:09 - 3:11
    read the pages about how to help Project X
  • 3:11 - 3:15
    or "Get Involved" or "Help us" pages
  • 3:15 - 3:19
    and next step would be to set up the developement environment
  • 3:19 - 3:21
    and do your ground work
  • 3:21 - 3:23
    and find a willing mentor
  • 3:23 - 3:26
    who will be able to take you from there.
  • 3:26 - 3:29
    So, where's Debian in the picture?
  • 3:29 - 3:31
    "Enter Debian"
  • 3:31 - 3:33
    I have used Ubuntu extensively
  • 3:33 - 3:35
    and I knew my way around apt-get
  • 3:35 - 3:37
    but this is all I knew about Debian
  • 3:37 - 3:39
    and Debian based distributions
  • 3:40 - 3:42
    but learning about Debian MiniConf
  • 3:42 - 3:46
    made me realise that this is my opportunity to
  • 3:46 - 3:51
    change the memories I had about failing
  • 3:51 - 3:54
    something and it would be a great way to get a headstart
  • 3:54 - 3:56
    in such vibrant community
  • 3:57 - 3:59
    and start packaging.
  • 3:59 - 4:02
    "Choosing your tools"
  • 4:02 - 4:04
    Choosing your tools.
  • 4:04 - 4:06
    My first step to contributing to
  • 4:06 - 4:08
    Debian would be to get Debian!
  • 4:10 - 4:13
    I was an Arch Linux user and
  • 4:13 - 4:15
    there are a couple of things to keep in mind when you
  • 4:15 - 4:17
    try to contribute to a distribution.
  • 4:17 - 4:19
    For example, the time it takes to set up
  • 4:19 - 4:21
    and the time it takes to
  • 4:21 - 4:24
    transfer your work over this new distribution
  • 4:24 - 4:26
    and the disk space it would require
  • 4:26 - 4:30
    and whether or not your device...
  • 4:30 - 4:34
    ...you can set up this distribution easily on your device
  • 4:34 - 4:38
    Not to mention the bandwidth required for
  • 4:38 - 4:40
    the Internet bandwidth required for
  • 4:40 - 4:43
    downloading and upgrading packages.
  • 4:44 - 4:47
    In GNOME, to make this transition easier
  • 4:47 - 4:52
    to have this quickstart with newcomers, we have
  • 4:52 - 4:54
    a virtual machine image preloaded
  • 4:54 - 4:58
    with our build system, so they can try it out and setup
  • 4:58 - 5:00
    they don't have to setup stuff from scratch
  • 5:00 - 5:04
    and when they're confident they can go set it up on disk
  • 5:04 - 5:07
    Debian didn't offer me any
  • 5:07 - 5:14
    such - you know - instant noodle like
  • 5:14 - 5:17
    VM image but, it wasn't hard to set up
  • 5:17 - 5:22
    so I went about using another fast project called Vagrant
  • 5:22 - 5:26
    and I made a Debian box
  • 5:26 - 5:29
    which I pre-filled with packaging tools
  • 5:29 - 5:33
    ???
  • 5:33 - 5:42
    I also learned about another project called Docker
  • 5:42 - 5:45
    which is an even more elegant solution
  • 5:45 - 5:50
    to have newcomers try out different environments in a GNU/Linux system.
  • 5:51 - 5:55
    So what happened after this?
  • 5:55 - 5:58
    "So..."
  • 5:58 - 6:03
    My first experience when I was contributing to GNOME
  • 6:03 - 6:07
    was trying to understand how ???
  • 6:07 - 6:11
    and after learning how to make a patch I realized
  • 6:11 - 6:14
    the meaning of the word "upstream", you know,
  • 6:14 - 6:18
    realizing concepts about stable and unstable stages
  • 6:18 - 6:22
    releases, and what kind of ???
  • 6:22 - 6:25
    and all this information was pieced together
  • 6:25 - 6:28
    over time of reading GNOME wiki pages
  • 6:28 - 6:30
    including the content of GNOME Love,
  • 6:30 - 6:32
    and interacting with my mentor
  • 6:32 - 6:36
    and also from this knowledge I had
  • 6:36 - 6:38
    from previously distro hopping
  • 6:38 - 6:41
    I also made a upstream release myself
  • 6:41 - 6:43
    and become the maintainer of
  • 6:43 - 6:45
    one of the projects I was contributing
  • 6:45 - 6:47
    a user documentation tool.
  • 6:47 - 6:52
    So, doing all of this peripheral work
  • 6:52 - 6:56
    made me a nice picture, a visualization in my head
  • 6:56 - 7:00
    of how software development in facts takes place.
  • 7:00 - 7:03
    So when I started with Debian
  • 7:03 - 7:05
    I navigated to the Debian website
  • 7:05 - 7:08
    read the introductory page about packaging
  • 7:09 - 7:12
    I went to the Developer's Corner
  • 7:12 - 7:14
    and the landing page for Documentation
  • 7:14 - 7:17
    and I clicked on everything that was related to packagin.
  • 7:17 - 7:21
    Since I knew that GNOME had a wiki
  • 7:21 - 7:24
    it was likely that Debian also maintained a wiki
  • 7:24 - 7:27
    and there was also a really helpful Teams page
  • 7:27 - 7:29
    which made me realize
  • 7:29 - 7:32
    how Debian is separated in terms of
  • 7:32 - 7:34
    division of labour
  • 7:34 - 7:38
    And I started doing all the things
  • 7:38 - 7:40
    that were required for packaging
  • 7:40 - 7:42
    and I kind of get stuck.
  • 7:42 - 7:45
    "Hello, I am..."
  • 7:45 - 7:49
    In my excitement of wanting to generate a deb file
  • 7:49 - 7:51
    and at this point thinking that this was
  • 7:51 - 7:53
    all that was to packaging
  • 7:53 - 7:57
    I went through #debian-devel, #debian-gnome, #debian-mentors
  • 7:57 - 7:59
    and #debian-women
  • 7:59 - 8:03
    to told them that I was stuck because
  • 8:03 - 8:05
    my deb file was empty
  • 8:05 - 8:10
    and lot of them suggested in good intentions
  • 8:10 - 8:13
    they suggested do this, do that but
  • 8:13 - 8:15
    nothing made sense because...
  • 8:16 - 8:20
    I had no idea what they were talking about
  • 8:20 - 8:24
    So even though I was talking in English
  • 8:25 - 8:27
    I was not able to communicate
  • 8:27 - 8:30
    and it was quite frustrating because
  • 8:30 - 8:33
    they did not know where I was coming from.
  • 8:33 - 8:35
    So I went back to
  • 8:35 - 8:38
    #debian-bcn2014 and Ana
  • 8:38 - 8:42
    who first helped me put together
  • 8:42 - 8:46
    my talk for this conference
  • 8:46 - 8:48
    said "calm down and
  • 8:48 - 8:50
    I'm gonna lead you through the steps"
  • 8:50 - 8:54
    and she went by this ideology of learn
  • 8:54 - 8:56
    to package first, and then making the package
  • 8:56 - 8:58
    so this was fine
  • 8:58 - 9:01
    this suited me fine because that's the way I learnt.
  • 9:01 - 9:03
    I guess the most important thing that
  • 9:03 - 9:05
    we can take away from this episode
  • 9:05 - 9:08
    is to be a good mentor, you have to
  • 9:08 - 9:10
    assume a very little baseline
  • 9:10 - 9:13
    knowledge with the person ???
  • 9:13 - 9:16
    be clear with instructions
  • 9:16 - 9:18
    and don't expect them to have
  • 9:18 - 9:20
    done XYZ
  • 9:20 - 9:23
    because they may not
  • 9:23 - 9:26
    know about it, but they may know ABC
  • 9:26 - 9:30
    Ask if they have done XYZ
  • 9:30 - 9:32
    and - you know - take it from there.
  • 9:34 - 9:37
    So, what exactly did I do?
  • 9:37 - 9:39
    "Actual work"
  • 9:39 - 9:43
    I'm currently packaging GNOME Code Assistance
  • 9:43 - 9:45
    and Gedit Code Assistance modules
  • 9:45 - 9:46
    for GNOME.
  • 9:46 - 9:51
    The former gives code assistance services for GNOME
  • 9:51 - 9:54
    Basically if you have an IDE
  • 9:54 - 9:56
    or any text editor
  • 9:56 - 9:58
    in GNOME that you want to
  • 9:58 - 10:00
    putting syntax error checking features
  • 10:00 - 10:01
    for a particular language,
  • 10:01 - 10:03
    then this is the package that does it.
  • 10:03 - 10:05
    While the latter is a package
  • 10:05 - 10:07
    that emits the dbus signal
  • 10:07 - 10:11
    in Gedit text editor
  • 10:11 - 10:13
    back to GNOME Code Assistance
  • 10:13 - 10:18
    so when the correct backend is enabled
  • 10:18 - 10:20
    this two packages interact with each other
  • 10:20 - 10:25
    to give syntax validation features
  • 10:25 - 10:29
    So far these are the things I've done
  • 10:29 - 10:32
    I've gotten past in generating
  • 10:32 - 10:34
    a working deb file
  • 10:34 - 10:36
    but it can be improved
  • 10:36 - 10:39
    and I really understood
  • 10:39 - 10:42
    what dependencies meant.
  • 10:42 - 10:45
    And that how autotools work
  • 10:45 - 10:47
    and I started seen
  • 10:47 - 10:49
    I really started paying attention
  • 10:49 - 10:51
    and ??? how autotools
  • 10:51 - 10:54
    are related to configuration files
  • 10:54 - 10:59
    and I also patched our own build system called jhbuild
  • 10:59 - 11:04
    to build these two modules in GNOME
  • 11:04 - 11:06
    My next immediate concerns
  • 11:06 - 11:09
    are getting the upstream author to
  • 11:09 - 11:11
    bring it to a...
  • 11:11 - 11:14
    usable position, because it works for some people
  • 11:14 - 11:16
    and for some it doesn't: it works for the upstream author
  • 11:16 - 11:19
    it works for him...
  • 11:19 - 11:23
    and Ana suggested that I
  • 11:23 - 11:27
    update a package
  • 11:27 - 11:29
    that it is in QA and I think
  • 11:29 - 11:31
    that's a small contribution
  • 11:31 - 11:33
    for me to start from and then she
  • 11:33 - 11:37
    sponsor it, so that's my next task.
  • 11:37 - 11:40
    I want to document it
  • 11:40 - 11:42
    for end users
  • 11:42 - 11:46
    So one of the bugs that ??? against all of these packages are
  • 11:46 - 11:48
    that there is no user documention so nobody knows
  • 11:48 - 11:50
    how to use it, it's all magic
  • 11:51 - 11:54
    So, packaging has also made
  • 11:54 - 11:56
    these things my priority
  • 11:56 - 11:58
    and I have few ideas
  • 11:58 - 12:00
    that come from GNOME love
  • 12:02 - 12:04
    A few ideas I feel
  • 12:04 - 12:06
    Debian can benefit
  • 12:06 - 12:10
    and to have a greater newcomers engage in the community
  • 12:10 - 12:15
    or having the concept of GNOME Love like
  • 12:15 - 12:17
    in packaging
  • 12:17 - 12:19
    For example, tagging packages
  • 12:19 - 12:21
    that are orphaned or are in QA
  • 12:21 - 12:26
    that can be updated by anyone and this would make a great
  • 12:26 - 12:27
    beginner contribution
  • 12:28 - 12:30
    Specifically having a tutorial to do this
  • 12:30 - 12:33
    would be nice
  • 12:33 - 12:35
    And wiki pages about
  • 12:35 - 12:38
    packaging that could reutilize videos
  • 12:38 - 12:42
    and BoF sessions from previous Debian conferences
  • 12:42 - 12:44
    For example there was a wiki page about
  • 12:44 - 12:48
    Debtags, which uses a 2007 video to
  • 12:48 - 12:51
    talk about what Debtags is, and what it does
  • 12:51 - 12:53
    and there are some great videos
  • 12:53 - 12:57
    I found in the archives of Debian conferences
  • 12:57 - 13:00
    the first one is "Documentation in Debian"
  • 13:00 - 13:04
    another one is "How contribute and get involved"
  • 13:04 - 13:10
    and there's another great video about how other FLOSS communities mentor
  • 13:10 - 13:12
    and the last idea is
  • 13:13 - 13:17
    it's some ??? an idea is something ???
  • 13:17 - 13:19
    Vincent Untz conducted
  • 13:19 - 13:22
    an interesting session in FOSDEM 2010
  • 13:22 - 13:25
    where they discussed what would be a good move
  • 13:25 - 13:31
    to make life of packagers downstream easier
  • 13:31 - 13:32
    So from the point of view of GNOME
  • 13:32 - 13:36
    what should we be doing in order to make their life easier
  • 13:36 - 13:38
    A reverse session
  • 13:38 - 13:42
    ??? developers on how to say in Debian
  • 13:42 - 13:47
    packaging and you know, make them interact
  • 13:47 - 13:50
    and learn how packaging...
  • 13:50 - 13:54
    how upstream changes affect packaging
  • 13:54 - 13:56
    and what they can or cannot do
  • 13:56 - 13:58
    to make our life easier would be great
  • 13:58 - 14:06
    And a newcomers IRC channel or mailing list specifically
  • 14:06 - 14:08
    for dealing with newcomers
  • 14:08 - 14:10
    issues would be great
  • 14:10 - 14:15
    and even local packaging workshops,
  • 14:15 - 14:17
    BoFs, and parties
  • 14:17 - 14:22
    if this hasn't already been done it would be nice.
  • 14:22 - 14:27
    And all the links to the resources I'm talking about
  • 14:27 - 14:29
    are there in my blogpost
  • 14:29 - 14:34
    you can go it's sindhus.bitbucket.org
  • 14:34 - 14:38
    I'd like to thank Tassia and Ana for having
  • 14:38 - 14:44
    giving me this opportunity to present remotely, thank you very much!
  • 14:44 - 14:48
    "Thank you"
  • 14:48 - 14:50
    Thank you for listening so far
  • 14:50 - 14:56
    and I hope I've given some interesting insights on how
  • 14:56 - 14:58
    we make newcomers experience
  • 14:58 - 15:00
    easy in GNOME and I hope
  • 15:00 - 15:04
    to stick around in the Debian community and meet
  • 15:04 - 15:07
    you all in the next Debian conference
  • 15:07 - 15:09
    Thank you so much Tassia and Ana
  • 15:09 - 15:11
    for helping me put this together
  • 15:11 - 15:14
    and I hope to see you soon!
  • 15:14 - 15:18
    "Thank you"
  • 15:18 - 15:20
    Thank you so much for listening this far
  • 15:20 - 15:22
    it's a shame I cannot be there
  • 15:22 - 15:24
    in person to say this
  • 15:24 - 15:26
    Thank you Tassia and Ana for
  • 15:26 - 15:28
    helping me put this together
  • 15:28 - 15:32
    I hope to stay involved in Debian
  • 15:32 - 15:36
    in the packaging scene, contributing to it
  • 15:36 - 15:39
    and all the things that I've spoken about
  • 15:39 - 15:41
    in this talk is available on my blog
  • 15:44 - 15:46
    it's sindhus.bitbucket.org
  • 15:46 - 15:51
    So if you have any feedback, please do email me
  • 15:51 - 15:52
    it will be good to hear from you
  • 15:52 - 15:56
    I hope you guys enjoy your time at this conference, thank you bye bye!
Title:
meetings-archive.debian.net/.../Newcomer_experience_in_debian_packaging_by_Sindhu_Sundar.webm
Video Language:
English
Team:
Debconf
Project:
2014_mini-debconf-barcelona

English subtitles

Revisions