4 ms·
Apple gives away Xcode and allows people to sign apps for their own iOS devices for free (although they must resign those apps every week). This is intended to
by snazz 6y ago
Apple gives away Xcode and allows people to sign apps for their own iOS devices for free (although they must resign those apps every week). This is intended to allow students and other non-professional developers to learn to code and experiment with Apple developer tools without paying any money.
Of course, Apple spends huge amounts of money on developer infrastructure (Xcode, LLVM, and Swift, for example). Since each additional copy of a piece of software does not incur additional costs for the developer, Apple can subsidize the development of developer tools using the $99 fee taken from (generally) professional developers who wish to publish their apps on the App Store or take advantage of notarization on macOS.
Many major open-source projects are largely developed by employees of large technology companies and foundations with significant budgets. The Linux kernel's largest committers oftentimes work at companies like Red Hat and Intel. Just because you get a given piece of open-source software for free does not mean that its development was done by volunteers in their free time.
- AnthonyMouse 6y ago> Of course, Apple spends huge amounts of money on developer infrastructure (Xcode, LLVM, and Swift, for example). So then why do I have to pay them if I'm using emacs and gcc and C++? > Just because you get a given piece of open-source software for free does not mean that its development was done by volunteers in their free time. Yet, in many cases, that's exactly what happened. And even when it isn't, if it's distributed under a free software license then it keeps them from screwing you over because any adverse changes can be reverted.
- jmull 6y ago> So then why do I have to pay them if I'm using emacs and gcc and C++? You may still be using developer resources like documentation. But yeah, a flat fee for a wide variety of services risks edge cases where someone using only minimal resources gets a poor deal. Of course, an alternative is a nickel-and-diming pay-as-you-go micro-transaction scheme, which your main users will hate. Also, strictly speaking, you don't have to pay them. Vote with your dollars and platform support as a developer. If enough people do, Apple may reevaluate.
- AnthonyMouse 6y ago> You may still be using developer resources like documentation. That's not any different. If I write a POSIX-compliant program then it should run on macOS without having used any of Apple's documentation. And if they charged for documentation (which is dumb) it would create a market for third party macOS documentation that I could use instead. > But yeah, a flat fee for a wide variety of services risks edge cases where someone using only minimal resources gets a poor deal. Of course, an alternative is a nickel-and-diming pay-as-you-go micro-transaction scheme, which your main users will hate. Offering a flat fee for everything is not inconsistent with offering individual things a la carte. They could offer both. But the bigger point is that it should be possible to produce and distribute software without having any business relationship with Apple whatsoever. I don't want to use anything they make, I just want to have access to my customers who use macOS. > Also, strictly speaking, you don't have to pay them. Vote with your dollars and platform support as a developer. If enough people do, Apple may reevaluate That doesn't work at this level of power imbalance. Your software would have to be important enough to get your customers to switch to a different platform, and not have any viable competitors who remain on macOS even if it means higher profits due to the reduced competition. In other words, you would have to be a monopoly yourself in order to have any leverage.
- jmull 6y ago> I don't want to use anything they make, I just want to have access to my customers who use macOS. These are conflicting statements. You will have a very difficult time supporting your Apple-using customers without using any Apple stuff yourself.
- AnthonyMouse 6y agoIf I write an application in Java, it should run on macOS the same as it does anywhere else, and if it doesn't then I submit a bug report to the maintainers of the JRE. What do I need from Apple?
- comex 6y agoIf you write a program strictly to POSIX, your program doesn't have a GUI and is run from the terminal, which already bypasses Gatekeeper by default.
- namanaggarwal 6y ago> Apple gives away Xcode and allows people to sign apps for their own iOS devices for free Yes they do, to entice developers to build apps for their phones which they sell for a premium. Remember Ballmer (different company, similar context) .. Developers, developers, developers...