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