So Jono wants to know how we can get more developers interested in Ubuntu. We got talking about it in the #ubuntu-us-mi loco and it sparked an interesting debate. Just who are you looking for? Jono mentions "people interested in getting involved in packaging, fixing bugs, and joining our community", but that's not just developers. I mean, our guy that started the Ubuntu Bug Jams doesn't do much development for Ubuntu. Our debate also had us wondering if packaging was really a developer task or if it was better left to the non-developers so as to free up valuable developer time to add more features and fix more bugs. Personally, I took the idea of the Bug Jams and decided to start my own Packaging Jam. I wanted to to learn to be a MOTU and thought it would be great to bring in someone who knew the ropes. For me it's hard to go through the documentation and figure out how things work. Especially since I was a PHP developer. What do I know of build systems? I just deploy from source code via scripts.
I never ended up reaching that goal of becoming a MOTU. It was just too hard to get through all the docs and learn all the rules. There are so many different tools. People think Git is a series of disjointed commands? Look at the list of things in bold here.
It's insane. I've moved on now and I do Python programming and I've had to learn how to build packages for Python tools, but it seems a bit easier using tools that you already use for Python. I haven't gone the extra mile to package things up into .deb files. I think that the popularity of scripting languages with their own build/distribution tools have taken a big hit on your pool of potential packagers and such.
Well anyway, back to Jono's request. I think there are a few things. First, narrow down your post. What are you looking for, more help packaging existing app? Help doing bugs? Help developing awesome apps? Each are a bit different. Based on our discussion I'm going to run with packagers.
The two things I think that would help potential packagers getting going would be
- A more formal filled mentoring program. I think if existing packagers brought in trainees to help watch and build the packages during the alpha stage of a release, over time they'd pick things up. People need to learn best practices, how the tools fit together, and it's best to pick this up through practical use under a guiding eye. The one trick is I wonder is how it would be best for two parties to share a common build/package environment. Developers can share an editor via various online tools, I'm not sure how to share a pbuilder instance.
- I once mentioned how I think one could build a practical web application to walk someone through packaging step by step. Imagine that you get walked through getting source, making changes to the changelog, and rebuilding the package. It could even be tied into the ppa system so that your 'project' can be built as part of walking through the various steps. It's a lot of work, but I could see it as something that has different modules and as you work through them you learn a new trick with each.