ViennaRSS / vienna-rss

Vienna is a free and open-source RSS/Atom newsreader for macOS.
https://www.vienna-rss.com
Apache License 2.0
1.85k stars 227 forks source link

Mac App Store distribution question #262

Open rivera-ernesto opened 10 years ago

rivera-ernesto commented 10 years ago

Probably a silly question. But what prevents an open source app like Vienna from being distributed on the Mac App Store?

Also an AppleID seems to be preferred for #49.

mstroeck commented 10 years ago

Yeah, we should probably do that. I'll look into this, as I need to work with the App Store in any case in the near future.

Am 11.04.2014 um 03:33 schrieb Ernesto Rivera notifications@github.com:

Probably a silly question. But what prevents an open source app like Vienna from being distributed on the Mac App Store?

Apache license should be fine. An AppleID account. Probably the main problem is who's ID would it be? The license would allow anyone to do it but is there a image/policy problem? Also an AppleID seems to be preferred for #49.

— Reply to this email directly or view it on GitHub.

dak180 commented 10 years ago

Code signing as it is currently done should work out of the box with the mac app store. This still leaves the question of how well Vienna plays with the app sandbox.

barijaona commented 10 years ago

An App Store version would be the best answer to those numerous Vienna clones « publishers » who are blatantly profiting of our open source philosophy. But I’d like to keep a non App Store version : it speeds development (open betas, faster publication). So, we would have to maintain two targets.

Some parts of Vienna would need to be removed in the App Store version : I think mainly of the Sparkle autoupdate mechanism.

barijaona commented 8 years ago

Related : legal actions suggested in #375

josh64x2 commented 7 years ago

App Sandboxing is a good idea for security and will help prevent issues such as #736 in the future. It is very simple to do, we just need to implement the migration as per Apple's guide.

I have tested it without the migration and simple Vienna functionality seems to be fine. Not sure about Apple scripting or the plugins though.

Eitot commented 7 years ago

Sparkle seems to be almost ready to support sandboxing too. They have a ui-separation-and-xpc branch (“2.0”) that awaits merging.

JanX2 commented 7 years ago

Thanks for mentioning the state of Sparkle Eitot. Great to know!

Eitot commented 7 years ago

(@josh64x2) Just for reference: Migrating an app to a sandbox.

Eitot commented 4 years ago

I believe scripting and plug-ins should still work even with a sandboxed environment. It is possible to define symlinks that point to directories outside of the sandbox and then regulate the access using entitlements, in particular the com.apple.security.temporary-exception.files.home-relative-path.read-write entitlement.

For reference: File Access Temporary Exceptions

One caveat is that I do not know whether Apple (still) accepts these entitlements for App Store apps.

Eitot commented 4 years ago

Sparkle’s XPC branch is still not the stable branch. I am not sure who maintains Sparkle now. Apparently, even their 2.x branch is based on deprecated APIs, so who knows if is worth waiting for this. There might be an alternative in the future.

Eitot commented 3 years ago

Now that Sparkle 2.0 is installed, it should now be possible to enable sandboxing. I did some of the legwork already by pushing #1468. I also have some reusable code in other private projects that I can repurpose.

What still needs to be done:

Things that probably will no longer work:

References:

I think the next major version of Vienna should use sandboxing, since it is a recommended security feature and should not stop Vienna from working normally.

Eitot commented 1 year ago

Given that Vienna uses private Apple APIs to make the browser work properly, I think Mac App Store distribution can be ruled out (s. 2.5.1 of the App Store Review Guidelines).

TAKeanice commented 1 year ago

I think we could still try and if Apple rejects it we could try replacing the calls with an alert saying "this feature is not available in the AppStore version of Vienna"

github-actions[bot] commented 9 months ago

This issue hasn't been updated in a while so we're going to mark it as stale. stale issues will automatically be closed after 60 days of inactivity. If this issue is still affecting you, please update us on how it affects you, and we'll keep it open. We are sorry that we haven't been able to prioritize it yet. Thank you for your contributions.