Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes Requested for AppCenter #8

Open
cassidyjames opened this issue Jun 15, 2018 · 5 comments
Open

Changes Requested for AppCenter #8

cassidyjames opened this issue Jun 15, 2018 · 5 comments
Labels

Comments

@cassidyjames
Copy link

cassidyjames commented Jun 15, 2018

Sorry for the incredibly long review @tkashkin! That's not typical at all, but your unique app put us in a bit of a bind. After using it for a few weeks and discussing it at length with our team of reviewers, we have decided to reject the current release. Typically we call this "requesting changes" and give a list of changes that would make it acceptable, but it's kind of a gray area right now. I'll try to run through the thought process, though.


1. App Stores

The first publishing requirement that was under scrutiny was the "App Stores" provision (emphasis mine):

Your app cannot be an "app store," as ultimately determined by app reviewers. This includes but is not limited to apps that look and function confusingly similarly to AppCenter, provide software from other sources, link to an online app store, and/or facilitate payments for apps in the system repositories.

We struggled with this since oftentimes games and apps are two separate categories of software. But, according to the requirements, GameHub does in fact provide software from other sources (with one-click installation), and link to what could be considered online app stores: GOG and Steam.

The reason for this requirement is to ensure users installing apps from AppCenter are not accidentally put into a position where they—through completely trusted and curated paths—are installing software that has not been reviewed or audited by elementary. If a game in GOG or Steam was malicious and stole private user information, for example, it would be a bad experience for the user to have installed that software with only a few clicks through otherwise safe and curated means on AppCenter. We had to make a similar hard decision with Snaptastic, where the developer was asked to not provide a list of installable snaps inside the app, nor to link to the online snap store.

This was the biggest discussion point and the strongest reason for not publishing GameHub as-is to AppCenter. I'm not sure if or how it could be addressed. I also want to reiterate that your app seems really good! It's nice to have basically a native Steam client instead of the weird non-native non-HiDPI supporting one that Valve puts out, and the GOG integration is really cool. But these requirements are also pretty strict.

2. Native App

Speaking of being a native app, this was the other requirement that we got hung up on. While GameHub is a seemingly excellent native GTK3 app, the games that are one-click-installable within it are not. From the technical requirements (emphasis mine):

Your app may be written in any language, but the front-end must be a native Gtk3 app. Web, Electron, Qt, Java, and other non-native app front-ends will be rejected during the review process. A game may be excepted from this requirement so long as it uses native window decorations and is generally usable on both loDPI and HiDPI displays.

The three games I tested from GameHub mostly worked, but were not native GTK3. They also had non-HiDPI-scaled GTK2 installation, configuration, or launching interfaces right out of the gate, which is not a great experience. Lastly, while this isn't directly covered in the requirements, a couple of the games seemed to reset my machine's resolution and disabled HiDPI scaling, leaving me with a difficult to use desktop after exiting.

We know these games are not under your control, and all of your app seemed to work really well. But it goes back to the first point, where users installing your app and then these games are going to have a poor experience, and that's not something we want to provide from AppCenter.


I really commend your work on GameHub, and hope you can discover a way to distribute it outside of AppCenter or to adapt it to follow the requirements for apps in AppCenter. I know it's difficult and strict, but it's what we have to do to ensure a safe environment for our users. If you have any questions or want to chat, you can always reach out to me or reply to this issue. I know we've been in contact in a couple of other places, and I apologize again for the lengthy review process. I hope this is understandable. I look forward to future apps of yours in AppCenter; you're clearly a talented developer and we'd be privileged to see your future work there!

@tkashkin
Copy link
Owner

That's unfortunate, I don't really know how could these issues be addressed. Game installation is the main feature of this app, and without it app would be completely pointless.

Technically, in case of Steam, app itself does not install any third-party software, but opens Steam instead and Steam handles downloading and installation.

But in case of GOG there's still no graphical client for GNU/Linux-based systems yet and I don't really want to remove GOG integration.

@cassidyjames, isn't there some workaround possible? Maybe something like "EULA" dialog on first run, which will tell user that this app is not affiliated with elementary and AppCenter in any way?

@cassidyjames
Copy link
Author

@tkashkin I'm discussing some sort of standardized/approved disclaimer with the team, and I might even prototype something up to make it easier to talk about and iterate on. I'll keep you updated!

@emorrp1
Copy link

emorrp1 commented Feb 9, 2021

While installation may be the main feature, I don't think it's pointless without it, but obviously a build-time config option to disable that would be a bit complicated.

I've personally just installed about 6 linux game managers I found and GameHub is unique. Through its use of https://www.igdb.com/ it is able to merge different sources into a single entry. It allows the management of custom tags for filters making it more of a library manager rather like calibre rather than just a package manager.

@tkashkin
Copy link
Owner

tkashkin commented Feb 9, 2021

@cassidyjames

Are there any implemented or planned changes of the guidelines that could allow for GameHub to be distributed through AppCenter?

Is your position on the problematic functionality being locked behind a (possibly hidden from UI) setting still the same as it was in the past?

If a game in GOG or Steam was malicious and stole private user information

Would a fully sandboxed flatpak help to address this point?
There was a plan to move AppCenter apps to flatpak, not sure if it's planned for elementary OS 6.

@cassidyjames
Copy link
Author

@tkashkin as of right now, nothing has changed regarding policy in AppCenter. We do still plan to use Flatpak for apps in elementary OS, but it's less clear what that timeline is right now—COVID-19 has significantly delayed our plans here as we had planned to have multiple in-person sprints to plan and implement the work. Right now we're focused on getting the public beta of OS 6 released, and then will focus in on the Flatpak plans.

I believe a fully sandboxed Flatpak would alleviate the concerns, so long as the third-party games were being installed inside the Flatpak container (and not to the host system). However, I have no idea how feasible that is technically.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants