UbuntuDev

Ubuntu Open Week - Doing Ubuntu Development - DanielHolbach - Mon, Apr 27th, 2009

UTC -4

(01:01:54 PM) dholbach: OK my friends... let's get going!
(01:02:00 PM) dholbach: Welcome to "Doing Ubuntu Development"!
(01:02:14 PM) dayo: hi
(01:02:28 PM) dholbach: my name is Daniel Holbach, I live in Berlin, Germany and I love working with the Ubuntu Development community
(01:02:40 PM) dholbach: I hope after my talk you'll all feel the same :-)
(01:02:48 PM) JManGt_ is now known as JManGt
(01:02:52 PM) Tesla|Home: :)
(01:03:17 PM) dholbach: you all know how it works already: if you have questions, please do ask in #ubuntu-classroom-chat and prefix your questions with QUESTION:, ie:
(01:03:28 PM) dholbach: dholbach: QUESTION: What is your dog's name?
(01:04:13 PM) dholbach: in this session I hope to give you all a good overview about how Ubuntu development works, how to best get involved, who to ask, when to do what and hopefully all the information makes sense too :-)
(01:05:01 PM) dholbach: alright... this session is not going to be a hands-on session, if you want hands-on packaging training, check out https://wiki.ubuntu.com/Packaging/Training (every Thursday)
(01:05:09 PM) dholbach: the next one is going to be:
(01:05:11 PM) dholbach: 30th April, 06:00 UTC: dholbach, Getting Started with Ubuntu Development
(01:05:52 PM) dholbach: so let's start off with the ways on how you can learn more about Ubuntu Development, Packaging and so on
(01:06:06 PM) dholbach: I named one option already: Packaging Training IRC Tutorials
(01:06:29 PM) dholbach: they happen in #ubuntu-classroom too, every Thursday, so mark them in your calendars
(01:06:52 PM) dholbach: http://wiki.ubuntu.com/MOTU/GettingStarted it the one page you have to bookmark
(01:07:04 PM) dholbach: because it links to all information you're going to need again
(01:07:12 PM) dholbach:  - the Packaging Guide
(01:07:33 PM) dholbach:  - the Ubuntu Development documentation (processes, teams, tools, etc.)
(01:07:47 PM) dholbach:  - the MOTU Videos (hands-on training)
(01:08:01 PM) dholbach:  - tasks to start working on
(01:08:34 PM) dholbach: I'm a fan of "recipe style" documentation, so maybe you'll like  https://wiki.ubuntu.com/PackagingGuide/Recipes  too
(01:09:02 PM) dholbach: as you can see from above: it's not going to work out if you're not willing to read a bit and find out for yourself
(01:09:22 PM) dholbach: but luckily luckily luckily there's not just documentation, there's people too :-)
(01:09:55 PM) dholbach: we have quite a number of initiatives where you can get in touch with people who are doing Ubuntu Development already
(01:10:08 PM) dholbach:  - the IRC Packaging Training sessions I mentioned above
(01:10:28 PM) dholbach:  - Ubuntu Developer Week (just like Ubuntu Open Week, but only Developer + QA material!)
(01:10:59 PM) dholbach:  - ubuntu-motu-mentors@lists.ubuntu.com - a mailing list where you can ask all your questions - sign up here: https://lists.ubuntu.com/mailman/listinfo/ubuntu-motu-mentors
(01:12:05 PM) dholbach:  - there's the MOTU IRC channel: #ubuntu-motu - please join there and ask your packaging / development questions - it's always great to hang out there, and there's ALWAYS somebody awake :-)
(01:12:26 PM) dholbach:  - there's the MOTU Mentoring
(01:12:34 PM) dholbach: <maco> dholbach: QUESTION: is there a way to get on a list of available mentors-seeking-mentees or vice versa?
(01:12:46 PM) dholbach: maco: just get in touch with the MOTU Mentoring Reception, they'll help you find a Mentor
(01:13:10 PM) dholbach: ... although a Mentor is not strictly necessary and you can usually cope quite well asking people in the MOTU channel or on the mailing list :)
(01:13:30 PM) dholbach: <Tesla|Home> QUESTION: is it possible to earn living developing ubuntu?
(01:14:07 PM) dholbach: Tesla|Home: it is - there's http://www.ubuntu.com/employment/
(01:14:31 PM) dholbach: there's quite a number of Ubuntu-related jobs on there and I expect it to become more
(01:15:24 PM) dholbach: also I expect other companies, at some point in the future, to start looking for Ubuntu engineers and if you're a skilled Ubuntu developer that's definitely going to be a plus
(01:16:01 PM) dholbach: when I started working on Ubuntu, I did it because I *IMMENSELY* enjoyed it - I enjoyed the people, I enjoyed helping out, I enjoyed getting things done and I enjoyed learning things
(01:16:47 PM) dholbach: <dayo> dholbach: QUESTION: other than Python and C, what other languages play a substantial role in ubuntu dev?
(01:18:03 PM) dholbach: dayo: I think we have code in Ubuntu written in any language imaginable, but C, C++, Perl, Python are most common, I'd say - I'll get back to the "Do I need to know all these languages or what?" part of the question in a bit
(01:18:13 PM) dholbach: <RoAkSoAx> dholbach, QUESTION: regarding to developer jobs, are there any entre level positions or internships
(01:18:45 PM) dholbach: RoAkSoAx: I know Canonical has offered them in the past, but I'd need to find out more about current practise - can you drop me a mail and I'll get back to you about it?
(01:18:59 PM) saketh: what is 1700 UTC in pacific time?
(01:19:14 PM) dholbach: saketh: run     date -u   in a terminal and it'll tell you
(01:19:23 PM) dholbach: saketh: can you ask all other questions in #ubuntu-classroom-chat please?
(01:19:32 PM) saketh: i m using widows rite now
(01:19:38 PM) Tesla|Home: 10am, saketh
(01:19:42 PM) dholbach: <artir_> QUESTION: What are the differences between developing specifically for Ubuntu or doing so for  generic GNOME?
(01:19:54 PM) saketh: ok tahnx!
(01:20:00 PM) saketh left the room ("Closing Window").
(01:20:55 PM) dholbach: artir_: a lot of work that goes into Ubuntu was done by software authors (upstream) who decided to solve a problem for all kinds of users, Ubuntu Developers often have to integrate those efforts into Ubuntu (packaging, making it work with default configuration, fixing bits here and there, etc.)
(01:21:15 PM) dholbach: I'll talk a bit about upstream development and ubuntu development in a bit
(01:21:28 PM) tango is now known as _tango_
(01:21:32 PM) dholbach: <jtholmes> QUESTION: dhobach is there anything like cscope for python
(01:21:38 PM) dholbach: jtholmes: I'm sorry - I don't know
(01:22:04 PM) dholbach: Ok... I'll get back to some bits I wanted to talk about now - continue asking questions in #ubuntu-classroom-chat
(01:22:30 PM) dholbach: one of the most important things determining what we do is the release schedule
(01:22:31 PM) dholbach: https://wiki.ubuntu.com/ReleaseSchedule
(01:22:48 PM) dholbach: there you can see the release schedule for Karmic (9.10)
(01:23:07 PM) dholbach: I'll go through this pretty quickly
(01:23:35 PM) dholbach: the first third of the cycle is devoted to getting things set up, planned and merge with upstreams
(01:24:04 PM) dholbach: that it's all in green is a bit misleading... "green" rather indicates "everything goes" than "everything's working and great"
(01:24:19 PM) dholbach: so I wouldn't encourage my mom to run Karmic in the first third of the cycle :)
(01:25:36 PM) dholbach: a lot of the development planning happens at UDS, which this time is going to happen in Barcelona. all discussions will be available through icecast and the specifications (outcomes of the discussion sessions) will be on the wiki afterwards
(01:26:04 PM) dholbach: it's not only Canonical people meeting there, but we invite a lot of Ubuntu developers there, it's basically open to anybody
(01:26:16 PM) dholbach: ah... we also invite upstream developers too
(01:26:24 PM) dholbach: to get good input for the planning of the cycle
(01:26:58 PM) dholbach: then there's a lot of "merging" going in the first third - what does that mean?
(01:28:06 PM) dholbach: basically if we have package A with version 2.3.4-5ubuntu2 it means
(01:28:24 PM) dholbach:  - upstream developers release software A version 2.3.4 on their website
(01:28:45 PM) dholbach:  - the Debian maintainer released 5 different revisions of that in Debian
(01:28:54 PM) dholbach:  - the Ubuntu developers added two changes on top of that
(01:29:13 PM) _tango_ is now known as tang0
(01:29:31 PM) steveydoteu:  
(01:29:52 PM) dholbach: if we're in the green phase of the release cycle (so just after opening a new release) it could well be that Debian already has 2.3.6-1 of that software A in their archive
(01:30:43 PM) dholbach: so we need to decide do we still need those two changes we made? if yes, we need to "merge" them and get to 2.3.6-1ubuntu1
(01:31:12 PM) dholbach: also if they're not really Ubuntu specific, we want to forward them to the Debian maintainers (or even the Upstream developers), so we don't have to carry that "delta"
(01:32:02 PM) dholbach: let's say we have package B version 1.2.3-2 in our released Ubuntu and now there's 1.2.4-1 in Debian
(01:32:20 PM) dholbach: we will get B automatically "sync"ed from Debian
(01:32:40 PM) dholbach: if there's no Ubuntu changes, we can simply overwrite the Ubuntu package
(01:32:57 PM) dholbach: so what does that mean? Do we just copy the .deb files? :-)
(01:33:13 PM) dholbach: no... we pull the source and it gets built in the Launchpad build daemons
(01:33:22 PM) dholbach: <goshawk> QUESTION: Debian Import is with debian sid?
(01:33:35 PM) _dirk is now known as mightyDuck_
(01:33:37 PM) dholbach: goshawk: yes, "Debian Sid" or "Debian unstable"
(01:33:48 PM) dholbach: <blfgomes> dholbach: QUESTION: How does the "forwarding to upstream" work?
(01:34:13 PM) dholbach: blfgomes: for most upstream projects (Debian too) you file a bug report and attach the bug there
(01:34:21 PM) dholbach: I'll get to "working with upstream" in just a sec
(01:35:05 PM) dholbach: to sum it up: in the first part of the release cycle we pull in new code, so we can solve all the bugs in the 2nd and 3rd half :)
(01:36:07 PM) dholbach: in the second half of the release (yellow and orange) we work hard on getting features implemented, that's following the specifications we agreed on at the Ubuntu developer summit
(01:37:02 PM) dholbach: also we're trying to make Ubuntu generally more solid (bigger transitions usually happen in this phase) and uploading new upstream code is absolutely fine, it's just that the automatic import is stopped
(01:37:32 PM) dholbach: after feature freeze (features must have landed) you can see a new freeze being introduced like every week
(01:37:44 PM) dholbach: that's the time where we only fix bugs and do testing testing testing
(01:38:02 PM) dholbach: also you will need to talk to the release team if you want to get huge untested changes into Ubuntu :-)
(01:38:11 PM) dholbach: <goshawk> QUESTION: is Partner Upload Deadline the deadline for packages in REVU?
(01:38:23 PM) dholbach: goshawk: no, I think it's about software from partners of Canonical
(01:38:58 PM) dholbach: goshawk: we try to have all the NEW packages - so stuff that never was in Ubuntu before (which is what REVU is for) in Ubuntu by Feature Freeze
(01:39:09 PM) dholbach: goshawk: that's done so we can concentrate on fixing stuff afterwards
(01:39:17 PM) dholbach: <maqifrnswa> QUESTION: Is "automatic import" a script, or does that mean packages can be added manually to launch pad directly if there were no ubuntu revisions in the previous release?
(01:39:38 PM) dholbach: maqifrnswa: the "automatic import" is a script yes, which is semi-automatically triggered by our archive admins
(01:39:44 PM) dholbach: <teknico> QUESTION: what if a newer upstream version is not in Debian yet? Or if the program is not in Debian at all?
(01:40:05 PM) dholbach: teknico: we're free to update or package as we like in Ubuntu, but the better coordinated with others, the better
(01:40:23 PM) dholbach: if we diverge from either upstream or Debian, it's always kind of a risk and additional work
(01:40:40 PM) dholbach: <RainCT> dholbach: < zepo> question: ubuntu pulls packages from debian sid, but some packages have a newer version than in debian right? where do they come from?
(01:41:46 PM) dholbach: zepo: right... as I said above: in some cases we decide to "rush ahead" and upload newer versions of Ubuntu - in a lot of cases this happens because Debian and Ubuntu are in different stages of their release cycles, so sometimes we can steam ahead in some cases Debian can :)(
(01:41:47 PM) dholbach: :-)
(01:42:17 PM) dholbach: everything that we want to change in a release that's already out has to go through the !sru process
(01:42:26 PM) dholbach: oh.. I thought that thing worked
(01:42:27 PM) dholbach: !sru
(01:42:27 PM) ubot2: Stable Release Update information is at http://wiki.ubuntu.com/StableReleaseUpdates
(01:42:36 PM) dholbach: ah yes - the stable release updates process
(01:42:49 PM) dholbach: it's more rigorous and only well-tested and REALLY important stuff gets into -updates
(01:43:16 PM) dholbach: so to sum up a few things we talked about above.... what could you work on if you were interested?
(01:43:30 PM) dholbach:  - merging / updating packages (early in the cycle)
(01:44:00 PM) dholbach:  - work on NEW software (needs-packaging bugs) - this can be a lot of work and often isn't trivial (also early in the cycle)
(01:44:08 PM) dholbach:  - fix bugs! (always)
(01:44:25 PM) dholbach:  - one thing I really really like is "Bugs fixed elsewhere"
(01:44:51 PM) dholbach: if you check out https://bugs.launchpad.net/ubuntu
(01:45:03 PM) dholbach: you will find a link called "12345678 bugs fixed elsewhere"
(01:45:31 PM) dholbach: those are bugs that are present in Ubuntu, were forwarded to the software authors and were fixed in that project
(01:46:12 PM) dholbach: personally that's my favourite because it can be easy and also it shows quite well how we interact in the bigger open source picture
(01:46:34 PM) dholbach: (side note: if you like this topic, don't miss: Thu 30 Apr 21.00 UTC Upstream Bug Workflow - Jorge Castro)
(01:47:19 PM) dholbach: there meeeeeeellions of upstream software projects on the one hand (25000+ packages in Ubuntu if I remember correctly)
(01:47:35 PM) dholbach: and there's 10+ meeeeeeeeellions of Ubuntu users on the other hand
(01:47:56 PM) dholbach: Ubuntu developers and Ubuntu QA people are somewhere in between :-)
(01:48:38 PM) dholbach: so a good way of contributing is what Jorge will talk about: working on a bug, trying to reproduce it, get all necessary information and forward it to the software authors
(01:49:18 PM) dholbach: it's not about "dumping work on them", it's about getting upstream software well-tested, get information and working together with them to get it resolved
(01:49:35 PM) dholbach: if you're interested in a piece of software, you can act as an ambassador
(01:49:43 PM) dholbach: and you directly get in touch with a lot of people:
(01:49:49 PM) dholbach:  - happy users
(01:49:58 PM) dholbach:  - happy other Ubuntu developers and Bugsquad members
(01:50:02 PM) dholbach:  - happy upstream developers
(01:50:09 PM) dholbach:  - happy maintainers of other distributions
(01:50:28 PM) dholbach: and you can make them even happier by helping out and making sure that all necessary information is in the right places :-)
(01:50:43 PM) dholbach: if you want to see how happy people can get:
(01:50:53 PM) dholbach: this is what happened to me at the Ubuntu Developer Summit in Prague:
(01:50:54 PM) dholbach: http://www.youtube.com/watch?v=4jzGIaZcGcM
(01:51:36 PM) Gordon-: lol
(01:51:39 PM) Gordon-: oops sorry
(01:52:04 PM) dholbach: sometimes it's a bit of detective work to find the right mailing list, to find the good patch that fixed the problem we had, but if you like to learn, like to talk to people, like to get involved, have a knack for making things work and test things properly, this is an awesome place to start
(01:52:46 PM) dholbach: and that's also my answer to the question above about "having to know C and Python, etc.": you don't have to
(01:53:04 PM) dholbach: if you have the skills I mentioned above, you can take one step after the other and learn together with others
(01:53:11 PM) bubu1uk: Gordon-: jumping between windows? ;)
(01:53:24 PM) dholbach: so how do you get things uploaded into Ubuntu if you're not an Ubuntu developer yet?
(01:54:05 PM) dholbach: you basically attach your patch to a bug report and subscribe the "sponsors team" who will review your patch, test it, sign it with their GPG key and upload it to the build dameons for you
(01:54:15 PM) dholbach: https://wiki.ubuntu.com/SponsorshipProcess has more info about it
(01:54:26 PM) dholbach: that's linked from https://wiki.ubuntu.com/MOTU/GettingStarted too
(01:54:57 PM) dholbach: once you've been through that process a couple of times and people start telling you how awesome you are, you should consider applying for Ubuntu developer status :-)
(01:55:08 PM) dholbach: https://wiki.ubuntu.com/UbuntuDevelopers has more info about that
(01:55:11 PM) dholbach: that's linked from https://wiki.ubuntu.com/MOTU/GettingStarted too :-)
(01:55:40 PM) dholbach: <Ireyon> QUESTION: what about dropping the release schedule for LTS releases if necessary? I mean, testing an LTS is more important than releasing it exactly 6 month after the previous release. Dapper for example did also take 2 months longer.
(01:56:05 PM) dholbach: Ireyon: dapper was the only release where we decided to put 6 weeks more work into it, you're right
(01:56:40 PM) dholbach: Ireyon: we have regular meetings of the release team on IRC where they see where and how things stand, so they evaluate the situation constantly and regularly
(01:56:55 PM) dholbach: Ireyon: we try hard to stick to the schedule and up until now we did quite well
(01:57:12 PM) dholbach: <maqifrnswa> QUESTION: You mentioned bug squad, MOTU, other packagers, people working on upstream bugs, and I'm sure there are tons of other positions - is there an "entry level" developer role that is in particularly high demand?
(01:58:07 PM) dholbach: maqifrnswa: I wouldn't really call them positions - it's more like a role or an activity, sometimes you dive deep into bug reports to find out more about what's broken and what you want to fix, sometimes you just merge 10 packages you were working on in the last release
(01:58:46 PM) dholbach: maqifrnswa: https://wiki.ubuntu.com/MOTU/GettingStarted links to a bunch of bugs and tasks that are suitable for beginners and if you take care of a package you know well, that's even better
(01:59:03 PM) somnoliento: 3 minutes warning
(01:59:03 PM) dholbach: also make sure you talk to people on #ubuntu-motu so you get feedback and learn from what they're doing
(01:59:32 PM) dholbach: hands up... who of you could imagine to do some Ubuntu development and help out that way? :-)
(01:59:35 PM) peteresqqqo: hi
(01:59:54 PM) drostie: maybe me.
(01:59:55 PM) jgoguen: o/
(01:59:59 PM) ***maco raises hand
(02:00:11 PM) ***goshawk raises
(02:00:19 PM) gotunandan: me
(02:00:22 PM) dholbach: come on... don't be shy - I really don't bite! :-)
(02:00:28 PM) blfgomes: me!
(02:00:31 PM) indSpike: me too.
(02:00:33 PM) ***stevepearce raises both hands :)
(02:00:34 PM) ***ewsubach raises his hand
(02:00:43 PM) ***cyphermox raises hand
(02:00:44 PM) logoon: raise
(02:00:49 PM) ***goshawk suggests to stand up and hug dholbach :)
(02:00:51 PM) maco: dholbach: no, you just give Hugs Of Doom
(02:00:56 PM) carthik: woof!
(02:00:56 PM) dholbach: rock on... you guys are awesome and I really hope to see more of y'all soon
(02:01:03 PM) ***gamerchick02 raises hand
(02:01:06 PM) dholbach: also make sure you're there: https://wiki.ubuntu.com/Packaging/Training - 30th April, 06:00 UTC: dholbach, Getting Started with Ubuntu Development

MeetingLogs/openweekJaunty/UbuntuDev (last edited 2009-04-27 18:20:23 by pool-70-16-48-183)