The source code is not published for commercial or proprietary apps submitted to My Apps. You choose an application to be commercial by specifying a price, and proprietary by choosing a non-open-source license.
Regarding the Python question, my guess is that you're asking because Python app packages generally install the source files. You could distribute a bundle with the bytecode instead of the source files, but with the caveat that it can be decompiled. You could also try obfuscating the code, but while it seems that obfuscating Python code is not hard to do, also the efectiveness might be limited. You can learn more here, for example.
In any case, only users who have purchased your app will be able to access whatever it installs, but you should decide which type of license to use before submitting the app. You could even make it a commercial open source app!
Publishing app via ppa and submitting app to ubuntu software center are different.
Personal Package Archives (PPA) allow you to upload Ubuntu source
packages to be built and published as an apt repository by Launchpad.
You can find out more about PPAs and how to use them in launchpad help page.
You can publish any open source app via ppa , there is no security verification or quality check, ppa's are people who want up to date packages. So ppa's are not directly published to ubuntu software center user can additin their own risk
If you want add your app to software center You have 2 choices
- Via debian repository
- Directly to ubuntu via myapps portal
Each have it's own merits and demerits .for more details see this answer. If you want to add your software in current releases and you want to maintain it ,you should go use myapps portal
In the case of paid and non-open source software, Canonical will package and publish your app submitted as a .tar or .deb file submitted to MyApps.
In the case of Open source software at zero cost
All submissions should be through a Personal Package Archive (PPA),
which you can indicate in the comment field for the reviewer when
submitting your app.
It is for convenience of Application review board , They will review your app and If they found it is fit to ubuntu software center, They will push it to software center via extra.ubuntu.com repository
Keep in mind that beta versions of open source software are not allowed in ubuntu center by the ARB , You can keep bleeding edge packages in another ppa or in git itself, ie You must submit stable version to software center, and Each update in your software require review from Application review board
Some useful links
Sorry If answer confused you, please feel free to comment below
Best Answer
You don't upload a .deb package, you upload a source package, which can be built in to a .deb package.
This is then put in a PPA to build the .deb packages that users will install.
Therefore there is a PPA behind the scenes.
You can then submit updates to your application by uploading an updated source package at a later date. This will then be reviewed and go through QA before being made available to users.
I look forward to seeing your application in the Software Center.