Hacker News new | ask | show | jobs
by 153791098c 2419 days ago
The apple store always distribute apps under a proprietary license. So even if the code is open-source, if you install it on your device through the apple store you are still installing proprietary software.

They say on their Github page that their app is licensed under GPLv3. Yet they can't publish it under GPLv3 license to the apple store. This means that if you contribute to the project under the GPLv3 license, they can't redistribute your through the apple store. So if you contribute your code it will always have to be licensed under a permissive license.

Still can't wait for the F-Droid release though.

5 comments

> The apple store always distribute apps under a proprietary license. So even if the code is open-source, if you install it on your device through the apple store you are still installing proprietary software.

There is something to the saying that FOSS advocates are never satisfied. The alternative here isn’t a FOSS-distributed iOS app, it’s no iOS app at all.

> The alternative here isn’t a FOSS-distributed iOS app, it’s no iOS app at all.

You should put the blame on Apple for this, not on FOSS advocates.

> The alternative here isn’t a FOSS-distributed iOS app, it’s no iOS app at all.

>> You should put the blame on Apple for this, not on FOSS advocates.

It seems like an odd interjection to make at this point if Apple is the target. It’s well known that Apple’s store is proprietary and closed source, adding this comment to one of Proton’s news releases can’t help but come across as an implied criticism of Proton.

> it’s no iOS app at all.

Or install onto a jailbroken device.

How is Blink Shell: Mosh & SSH Client[1] licensed as GPLv3 on the iOS App Store? To my knowledge that's not the only GPLv3 app on the iOS app store. Many of the projects give a special grant for it to be published on to the app store.[2]

[1]: https://apps.apple.com/us/app/blink-shell-mosh-ssh-client/id...

[2]: https://github.com/blinksh/blink/blob/raw/COPYING#L702

Edit: formatting, more context, and sources

I’m not even sure a grant is necessary. As the author, you can relicense your work whenever you want. That includes relicensing for a certain platform. So, release your GPLv3 source code, but release the “proprietary” version on the App Store.
If you're the sole author yes. If you took any contributions then no unless you got all the contributors to accept your proprietary license for their contribution.
Actually clicking on the "License Agreement" link pops up a copy of the GPLv3 License, so it looks like you can distribute GPLv3 software in the app store (and charge for it!)
Honestly, I’m not sure the exception is necessary anymore.
What is the license of apps on the App Store? I don’t really see the issue, as long as you make al the code available. You don’t need to provide the signing certificates.
GPLv3 has a Tivoization clause: the user must be able to replace the code with their own fork.
If you own the rights to all the code, you can relicense at whim. GPLv3 for the desktop version. GPLv2 (or even proprietary) for the iOS version.
What’s keeping them? They can get their own account or they can even use the free accounts.
IANAL but, if they write software and publish it under a license, it does not restrict their own ability to do anything with the software. But, if they accept a contribution under a specific license then that would be different.

Analogy: Movie studio publishes a movie under Creative Commons. They can still use it however they want.

It's probably more about knowing what you are installing on your device anyway.

People love to hate on Apple for "not allowing them to install apps on their devices freely, therefore they don't own the device" but in reality what Apple is doing is controlling the mass distribution channel and you can actually distribute your apps without Apple's approval with some inconveniences to the users.

More importantly, you can run your own code however you want so you don't have to trust 3.rd party apps.

I wish they had developer edition iPhones(I think they have but not easy to get one) where you can experiment more freely. This would win back quite a lot of goodwill since nerds don't care about licenses and such but want to tinker with things freely.

> People love to hate on Apple for "not allowing them to install apps on their devices freely, therefore they don't own the device" but in reality what Apple is doing is controlling the mass distribution channel and you can actually distribute your apps without Apple's approval with some inconveniences to the users.

No, in the reality I know, Apple doesn't allow you to install apps on your device freely.

Or what did I miss?

Yes, and no, in reality. It’s complicated, but you can set up your own enterprise certificate (for a cost) or just resign the app using your own developer license every 7 days. Cydia Impactor even allows you to do the latter on non-macOS devices.

So while it’s definitely not as “open” as, say, a PC or Android, it’s not as simple as, “no they don’t.”

You can also automate the resign-every-week process with iTunes Wi-Fi Sync and have it just work so long as you are on your home network at least once a week.
I haven’t been able to run iTunes on Linux.
Run Windows or macOS in a VM? Bare-metal Hackintosh? I agree that it’s somewhat restrictive (and it would be great if iTunes ran on Linux, not that it’s surprising that it doesn’t), but it’s not horribly difficult to run your own self-signed iOS apps. If you can’t handle Windows or macOS, then you’ll have to plug your iOS device in to your Linux machine to use Cydia Impactor.
3 apps per device only.
Isn’t it per Apple ID? Not limited to 3 per device.
No, if you are listening to angry hate boys, yes if you actually look into it.

The binary needs to be signed off but Apple does not require a review to sign your binary, only to distribute it through App Store.

So to run your code you create an account, the free version has a shorter validity time frame I believe which means you will have to re-install the app once it ends, set up your signing profile on your developer tools and you are good to install and run any code you want.

You can have a torrent client or app that messes around with private API or whatever. Your code is signed locally, Apple wouldn't know what you are up to.

Apple needs to pay off the influencers to spread the word I guess :) At least, I think they need to take some effort to break the "greedy Apple corporation vs the generaous Google charity" narrative.

Speaking as someone much much closer to a fan boy than a hate boy (I make my living on Apple's platform), this is...possible, but with a lot of caveats. It's nowhere near the level of control you have on a desktop machine.

- The signing expires every 7 days, meaning re-install once a week. The app just crashes on launch when it expires.

- There's a (low) limit on the total number of apps you can have installed at one time via this method. I believe it's 5.

- The Apple ID you're using to codesign the app has to be signed in on the device to which you're installing. (I may misunderstand this one -- been a while since I've done it and it may have changed somehow -- but I'm pretty sure about it.) The implication here is that to share the app to anyone else, you also have to share your Apple ID.

- You're still beholden to Apple. They can revoke your Apple ID and thus your signing privilege pretty much any time for any reason.

They've restricted this avenue enough that I think it's fair to say it's not functional as more than a teaser, for people just checking out iOS development.

Yep, the free accounts are quite restricted. Having a paid developer account makes things much better(I have some app builds installed god knows when that I was too lazy to remove and they are running just fine) but yes, there are restrictions.

I would guess that what Apple wants to prevent is being undercut by another app distribution platform by making unauthorized app installation a pain. It is a choice that brings some advantages and disadvantages.

It is true that Apple might cancel the access to your device but I am find with that as long as Apple is not in a monopoly position. If A day comes and for some reason(like an US embargo?) Apple no longer can serve me, I would just move to the platform that serves me.

There's really nor reason to be paranoid over Apple's grip on the system. I am much more worried about Google cancelling my Gmail account and cutting me off from my digital presence.

I don’t think the Apple ID has to match what you’re signed in to on device. At least when using Impactor. Is the sign in account referring to App Store id or iCloud? I assume App Store.
The iCloud one, I thought. Guess I must be misremembering, or it's changed. Thanks.
PSA: One can still distribute and allow installation of full open source HTML5 apps that can work offline and use a smattering of device APIs, without having anything to do with Apple’s app store, developer accounts, or signing.

Sure, it’s not a ‘native binary’, but for all kinds of utilities, both offline and online, that’s not really a problem.

Some big companies even use a web technology approach on purpose for a variety of reasons despite distributing through the app store. Slightly less ‘buttery’ feeling but generally not terrible.

"nerds don't care about licenses and such"

false.

Do you care to explain why you think that nerds care about licenses?

Well, obviously the more politically involved nerds would care and take fights about licenses on the internet but when was the last time a nerd check the license before satisfying his/her curiosity?