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!