Discourage installing .deb files from outside the repos

Registered by Sergey "Shnatsel" Davidoff

Don't support installing .deb files from outside the repos in AppCenter, support only removing them.

Of course dpkg -i is still there and GDebi is available for installation, if you REALLY want to do it, but there should be no easy GUI way out-of-the-box.

Decision: We like it, but we will hold off on a final decision until we discuss how AppCenter will work exactly.

Council notes: http://elementaryos.org/journal/council-notes-october-1-2011

Blueprint information

Status:
Complete
Approver:
None
Priority:
Low
Drafter:
None
Direction:
Approved
Assignee:
None
Definition:
Discussion
Series goal:
Accepted for 0.4-loki
Implementation:
Implemented
Milestone target:
milestone icon loki
Started by
Sergey "Shnatsel" Davidoff
Completed by
Danielle Foré

Related branches

Sprints

Whiteboard

Related blueprints:
https://blueprints.launchpad.net/elementaryos/+spec/deb-packages-automatically-installed-in-sandbox
https://blueprints.launchpad.net/elementaryos/+spec/midori-install-ppa-extension

Why would you want to do this?

software that could not be installed from a ppa or the repo: humble indie bundle, government softwares, searching for software that ISN'T in the repo and doesn't have a ppa, a software that only has a deb for ubuntu, etc. -- TheLolrus
----

The phrase is ambiguous, does this mean that foreign .debs won't be installed *within* the AppCenter or that .debs from outside the default repositories won't be installable at all? The title and the description of this blueprint do not match.

In other words: Not supporting .debs from outside the repos is one thing, not supporting installing them within the AppCenter is another. The first disallows installing Opera while the latter allows it - just not through the software center. If GDebi will still be downloadable, I'm assuming it means the latter, correct? The blueprint should be changed to remove the ambiguity.
---ottorobba

fixed
--shnatsel

I'd say this discussion probably isn't relevant until we actually have an AppCenter to talk about :p -- DanRabbit

Nonsense! *waves arms zoidberg-style* ;)
Jokes aside, I'd say this kind of premise is valid seeing as, even if not native GTK3, pretty'n'all, there will be an application center, correct? I mean, there is always the default USC to fallback to. Or maybe use the Mint Software Center. Either way, it kinda speaks to how eOS would work, thus being valid. Just my two cents.
--ottorobba

Why? We can advise someone not to do so (and maybe search an ppa instead? But adding ppas comfortably involves terminal), but why should we forbid it? --grzesiek1e5

The only third-party deb I can think of is Google Chrome. Midori is good, and keeps getting better, but I can see a user installing Firefox (me, though I always give Midori a try before I install) or Chrome in its place. Will the user who wants to do so be able? Maybe he is such a power user that dpkg -i works for him. Maybe he knows about Chromium and that it is installable from Ubuntu/elementary repos. Maybe he doesn't.
Perhaps there could simply be a dialog saying that third-party debs are not necessarily a good idea, security-wise, and offer to download/install GDebi/whatever if the user still wants (rather like Rosetta on Snow Leopard). —zpletan

I agree with zpletan, there should be a dialog that tells you about the possibility to install your .deb file or at least lead you to a help document or something. The thing is, that there might be more apps in simple .debs out there, then you might know. In the comments of the journal someone talked about apps from the Brazilian government.. Did you know they exist? Do you really want to make it that hard for everyone trying to install open source software? There is a trend out there in providing cross platform apps. And I can find more and more linux versions amongst them. But most of the time, they come as *.deb. So in fact, you would harm this development towards more opensource/cross platform applications, although the security model is, in theory, good.
I don't think this is a good idea, not without giving less experienced users a simple choice or way how to activate it. But that would be in conflict with the security model... So I'm questioning the whole idea, while understanding and appreciating it. But it just doesn't work so good for many people. --sgo

I really think that a "Warning Screen" should appear for the user. On of those with a big yellow /!\ and a message like "Not a good idea..." really big. Then the screen would tell the user:

"Installing an app this way is dangerous for and may contain "malware" or any kind of unwanted software. Install this if he really trust the source and if it isn't in AppCenter."

Then give the options:
? - Learn more about the subject (like malwares, installing debs, why AppCenter is better, etc.)
Install - Install the .deb (a red-coloured button, or with a /!\ next to it. After selecting this show a "Are you shure? screen"
Search in AppCenter - Search for the software in AppCenter and closes the dialog screen.
Cancel - Close the dialog screen without doing nothing.
---brk00

Warnings are proven to NOT work, so we are NOT going to use them.
Also, please don't waste your time discussing this blueprint because it's not going to be implemented soon and by the time we get to it everything will change. ~shnatsel

I think it's stupid to get rid of an easy way to install apps. There's barely any malicious software for Linux, and a warning should suffice. You could, however, do a Microsoft, and have it just display, 'THIS SOFTWARE CAN HARM YOUR COMPUTER' with only a 'cancel' button, and then only when you click 'more information' do you see a secret 'install anyway' button. If you do this, please don't screw it up by not allowing obvious packages such as Chrome an easy install. -- Jacob

Good idea for the "average" user, but make sure the experience works fine out of the box, with all the latest apps available. A simple "10 things to do once you install elementary os" article could be welcome for the slightly more advanced user, but still oblivious to how linux works. --Carlin

Moving to Loki Alpha1 and marking as completed. AppCenter is default and doesn't support installing .debs --DanRabbit

(?)

Work Items

Dependency tree

* Blueprints in grey have been implemented.

This blueprint contains Public information 
Everyone can see this information.