App Developer Week -- Publishing Your Apps in the Software Center: the App Review Board -- Stéphane Graber -- Tue, Sep 6th, 2011
1 [20:02] <stgraber> Hey everyone! 2 [20:02] <stgraber> I'm Stéphane Graber, one of the members of the Ubuntu Application Review Board (ARB). 3 [20:02] <stgraber> During this session I'll try to introduce you on what the Application Review Board does and how it can help you get your apps in Ubuntu. 4 [20:02] <stgraber> I'll also try to explain the difference with some of the other ways of getting your apps in Ubuntu. 5 [20:03] <stgraber> As I don't expect to have enough content to entertain you for an hour, please don't hesitate to ask questions, I'll be glad to answer them! 6 [20:03] <stgraber> Please note that my Internet is a bit laggy at the moment if I disconnect or don't react for a few minutes, that's "normal" :) 7 [20:03] <stgraber> Let's get started! 8 [20:03] <stgraber> So, what's the Ubuntu Application Review Board? 9 [20:03] <stgraber> It's a team of 4 community members, Allison Randal, Andrew Mitchell, Shane Fagan and myself. 10 [20:03] <stgraber> Our responsability is to review Apps that are submitted for a stable release of Ubuntu and that are open source and gratis. 11 [20:04] <stgraber> Apps going through that process are usually small standalone apps, ideal examples are small apps made with Quickly. 12 [20:04] <stgraber> The board offers assistance with the packaging of these apps, making sure they conform to our rules (such as installing in /opt) and once they are good to go, vote on them and get them into the Ubuntu Software Center. 13 [20:04] <stgraber> Some more details on what's needed for an App to go through the ARB process can be found at: https://wiki.ubuntu.com/AppReviews 14 [20:05] <stgraber> and some others at: https://wiki.ubuntu.com/AppReviewBoard/Submissions/Request 15 [20:05] <stgraber> The current list of apps in the process can be found on Launchpad: https://launchpad.net/ubuntu-app-review-board 16 [20:06] <stgraber> So far we had two apps going through the process and available for Ubuntu 10.10. News and Suspended Sentence 17 [20:06] <stgraber> It's also worth noting especially after's achuni's session on MyApps that the ARB is now working on switching the process to using MyApps as the single entry path for post-release Apps. 18 [20:06] <stgraber> We hope in the near future to drop Launchpad from our review process and have everything happen on MyApps and have all our documentation on the development portal. 19 [20:07] <stgraber> Any question so far? 20 [20:09] <stgraber> Apparently not 21 [20:09] <stgraber> So how's that different from the other ways of getting your software in Ubuntu? 22 [20:09] <stgraber> As you may know, there are a lot of different ways of getting a software in Ubuntu, here are the few I can think of. 23 [20:09] <stgraber> For Open Source / Free software (and gratis), you can have it enter the archive through: 24 [20:09] <stgraber> - Debian and then synced into Ubuntu during the development cycle (before the Feature Freeze) 25 [20:10] <stgraber> - Directly uploading to Ubuntu during the development cycle (before the Feature Freeze) 26 [20:10] <stgraber> - After the release by getting it in Debian or Ubuntu's development version and requesting a backport 27 [20:10] <stgraber> - Through the Application Review Board 28 [20:11] <stgraber> For Proprietary apps, you can go with: 29 [20:11] <stgraber> - Canonical partner apps (my understanding is that it's case by case and only for gratis software) 30 [20:11] <stgraber> - For purchase apps in the Ubuntu Software Center. 31 [20:11] <stgraber> I'm only going to focus on what I know quite well which is the process for open source software. 32 [20:12] <stgraber> The usual recommendation is for developers to get their package into Debian and either maintaing them themselves there or finding someone who can maintain them. 33 [20:12] <stgraber> This is great because the maintainer is going to take care of most of the work and you can usually just focus on your "upstream" work. 34 [20:12] <stgraber> This only works if you plan enough time ahead as you need to get your software into Debian, then synced in Ubuntu (happens automatically early in the cycle) and that's only available until the Feature Freeze. 35 [20:13] <stgraber> If your package is specific to Ubuntu or you don't want to deal with Debian (or don't have the time to), you can get it directly in Ubuntu as long as it's uploaded before the Feature Freeze. 36 [20:14] <stgraber> More details can be found at: https://wiki.ubuntu.com/UbuntuDevelopment/NewPackages 37 [20:14] <stgraber> If you missed the Feature Freeze, you can still get your software in Debian so that it's available as soon as the next Ubuntu release opens. Or you can wait for the next Ubuntu release to open and get it uploaded directly to Ubuntu. 38 [20:14] <stgraber> Once the package is in the development release, you can ask for it to be backported. 39 [20:15] <stgraber> More details on backports are at: https://help.ubuntu.com/community/UbuntuBackports 40 [20:15] <stgraber> And finally, if you're just interested in quickly getting your app available post-release and want to be the one maintaining it, the ARB process is definitely for you. 41 [20:15] <stgraber> You'll need to submit your app for every version of Ubuntu you want to support and will have to do the same for any update you want to push to your users. 42 [20:15] <stgraber> It's also worth noting that we don't automatically upload your apps to a new version of Ubuntu, you need to re-apply for that. 43 [20:16] <stgraber> I guess that should give a pretty good overview of the possible ways of getting an app in Ubuntu. 44 [20:17] <ClassBot> shazzner75 asked: I remember before users had to add a certain repository to add in post-release apps, is that still the case? (I may be remembering this wrong) 45 [20:18] <stgraber> the extras.ubuntu.com repository is automatically added at installation time 46 [20:19] <stgraber> I seem to remember there's a specific installation path where you don't get it though, but in most cases you should have it enabled 47 [20:19] <stgraber> it's worth noting that there currently aren't any app in Natty's extras.ubuntu.com repository 48 [20:20] <ClassBot> shazzner75 asked: Can we submit libre apps to be reviewed if we are not the owner? ie. small abandoned software under GPL? 49 [20:21] <stgraber> I don't think we ever got that case yet. 50 [20:21] <stgraber> One of the difference from the other ways of getting your package in Ubuntu is that we won't maintain your software, you'll. 51 [20:22] <stgraber> and that's why we usually prefer to have the upstream do it as they're the one who're the most able to fix any bug or security issue in their software 52 [20:22] <stgraber> that being said, if the app's upstream is dead and you want to "adopt" it and take care of any issue that might appear, I don't think it'd be a problem 53 [20:23] <stgraber> in the case where we get a security issue or other critical bug in a software that's in extras.ubuntu.com 54 [20:23] <stgraber> a board member will quickly try to fix it on a best effort basis, then contact the upstream to get a fix ASAP 55 [20:24] <stgraber> and if the upstream isn't responsive and it's a critical bug (remote execution comes to mind), then the app will be removed from the repository and from our users' system (by pushing an empty package with a changelog entry indicating what the problem was) 56 [20:25] <stgraber> this is quite different from the other ways of getting a package in Ubuntu as you'd otherwise get the Ubuntu Security team or Ubuntu MOTU taking care of these issues 57 [20:25] <stgraber> any other question? 58 [20:27] <stgraber> ok, so let's continue. I only have for a few more minutes of content, so don't hesitate to ask questions in #ubuntu-classroom-chat 59 [20:27] <stgraber> Before I'm done talking, I just wanted to list some of the things the ARB is working on to make it easier for you to get your app in Ubuntu. 60 [20:28] <stgraber> We noticed that our current process is quite long, has quite a few annoying bottlenecks and requires quite a lot of energy from our members. 61 [20:28] <stgraber> Fortunately for us we haven't got too many submissions so it hasn't been much of a problem. 62 [20:29] <stgraber> Still we've been discussing of a few ways to get the whole process a lot more efficient so we can handle a lot more apps once we have a better infrastructure to attract app developers. 63 [20:29] <stgraber> As achuni mentioned in -chat earlier, I'm the upstream of a tool called Arkose that allow easy containing of apps. 64 [20:30] <stgraber> It can offer something quite similar to what you get on your Android phone with a list of actions that the app is allowed to perform. 65 [20:30] <stgraber> I'm currently investigating the use of that tool to make the reviews go a lot faster as we won't have to do a full code review. 66 [20:31] <stgraber> Our current review process includes a full code review of every app by a member of the ARB. This requirement means we're not able to review really complex apps or apps written in some languages. 67 [20:32] <stgraber> Having Arkose or Apparmor (ideally I'll have apparmor supported in arkose soon) profiles for these apps mean that the ARB can just review the safety of the profile and do targeted code audit, avoiding the very long full audit. 68 [20:32] <stgraber> Another tool I'm working on is a debhelper script that you can use to basically automatically package your app so that it's compliant with the ARB policy. 69 [20:33] <stgraber> It basically makes sure everything is in /opt, adapts any .desktop file you ship and uses a small helper to make your app think it's running in /usr 70 [20:33] <stgraber> My long term goal is to have everything done through MyApps, where you'd send a tarball of your code and a small build recipe. 71 [20:34] <stgraber> Then you'd be asked to set where your app stores its data, what DBUS APIs you need to access, physical devices, network, ... 72 [20:34] <stgraber> that'd be used to generate an Arkose or Apparmor profile (or both) 73 [20:34] <stgraber> Send copyright information, description, screenshot and click Send. 74 [20:35] <stgraber> Based on that a package can be entirely automatically generated, reviewed in a few minutes by an ARB member and then made available to everyone in the Software Center. 75 [20:35] <stgraber> Reducing the submission time from a few weeks (our current average ...) to a few hours. 76 [20:36] <stgraber> I believe this would work quite well for simple apps that don't need complicated packaging and would save the developer a lot of time that they could instead invest in improving their app. 77 [20:37] <stgraber> And I'm now officially done talking, so if you have any remaining question, please ask in #ubuntu-classroom-chat! 78 [20:50] <ClassBot> There are 10 minutes remaining in the current session. 79 [20:55] <ClassBot> There are 5 minutes remaining in the current session. 80 [21:00] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2011/09/06/%23ubuntu-classroom.html 81 [21:02] <stgraber> thanks everyone for attending today's sessions!