|
|
Log in / Subscribe / Register

Square and "Open Source Culture"

Square and "Open Source Culture"

Posted Jan 28, 2025 21:50 UTC (Tue) by proski (guest, #104)
Parent article: FOSDEM keynote causes concerns

I helped my friend connect her iPhone to a Square Card Reader. The app would fail to find the reader. It would also give unhelpful instructions how to fix it. After some searching online, it was clear that a newer iOS was needed. However, that iPhone was too old to be upgraded. The instructions for the Reader said that that the "most recent" iOS was needed, as if Apple could break the Square app by releasing a new iOS version.

That's not the "Open Source Culture". Typical open source software is very specific about the requirements. If those requirements are not satisfied, the software complains about it. If an open source app lacks proper error messages, users will complain and propose fixes.

It's the proprietary software that has a stiff upper lip and shifts the blame onto the user. "Have you read the instructions? Is your iOS the most recent? No? You are doing it wrong, not me."


to post comments

Square and "Open Source Culture"

Posted Jan 29, 2025 10:38 UTC (Wed) by farnz (subscriber, #17727) [Link]

Part of the problem is that Apple really can break updates to existing apps by releasing new iOS versions. First, it's not permissible to have an explicit "legacy" app in the App Store that's no longer updated - your App Store apps have to be kept up-to-date. Second, if you use older APIs in a new App Store submission, it'll either be rejected outright (so you can't put up the app at all using the APIs that exist in an older iOS), or you'll be permitted into the App Store but with security flags set such that current iOS mocks out those APIs rather than returning real results. And third, which causes the problem, those newer APIs are unavailable on older iOS versions.

The three parts combine to create a situation where the existence of a newer iOS version breaks the app for older phones; you can't use the older APIs for access in your current App Store submission at all, but are required to use the current APIs. If you do use the older APIs, then you get cut off from hardware access on phones running current iOS. But if you use the current APIs, you get cut off from hardware access on phones running older iOS, and there will be phones running older iOS that can't update to a version with the current APIs in it.

Plus, to keep your app in the App Store, you can't tell users if this is, or is not, the case - you must not blame Apple for problems with your app, even if they are caused by Apple policies. As a result, it's impossible to have the app available on iOS for non-EU users (and for EU users who don't install an alternative to the App Store) while also having clear errors.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds