Hacker News new | ask | show | jobs
by pjmlp 2108 days ago
There are plenty of commercial compilers available.

Embedded platforms, Apple (100€£$/year), Windows, PGI/CUDA, IBM/xlc,game consoles,....

5 comments

Almost all of those you're forced to use because there's no/little competition that runs on the hardware, or it's an alternative compiler for a popular language (piggybacking on what OP described)
On top of that, you are only going to use those when you have to release on their platform using their tools and their publishing systems. You can just as easily run your own code, compiled by your own compiler. That said, some of those would be in a bit of a grey area considering that you would have to hack/jailbreak all of those consoles and handhelds etc.
Apple's Xcode is a free download, the Swift compiler is open source. However, to become an "official" developer on the Apple platforms and publish apps you do need a paid developer account.
And if you're doing ruby or nodejs or a handful of other languages, you can use the XCode CLI and most of your code (possibly all) will never see the App Store submission queue.
Hence commercial.
Signing binaries and distributing apps on the MacOS and iOS app store is commercial.

The compiler isn't commercial, unless you are saying that anything Apple makes is "commercial" because they are a for-profit business.

It makes sense for Apple though, because what the devs are really paying for is access to Apple's closed-source ecosystem, not the tooling itself. This company has no such market power; why would anyone want to pay for Zen, when it has no established ecosystem or audience?
I'm writing a Swift project right now on my Windows computer using WSL, not paying anything to Apple...
Xcode dev here, I have a certificate with a free account.

You only need to pay for it if you distribute your app on the app store.

They generally sell you an ecosystem though, and are often tied to specific hardware, not "just" a language.

The only examples that come to mind of a "pure" commercial compiler, not tied to a particular environment or piece of hardware are the Comeau C++ compiler (defunct for well over a decade) and arguably the original D compiler (although I don't know if it qualifies as proprietary, just not open source). Swift as well, although it was open sourced relatively quickly.

The D compiler is now completely open source. It was always source available, but Walter wrote the backend when he was at a different company and he was able to use it but because of copyright it couldn't be open sourced as per se.

Symantec signed off on it a few years ago, it's been Boost licensed ever since.

Apple's and Microsoft's compilers are downloadable for free (Apple's is actually Clang), they're not forcing you to pay if you want to use them; even the IDEs have been free for a while without any kind of payment or subscription.
That is not quite true in the case of Visual Studio. There is a community edition, but it is only free under a very constrained set of circumstances (mostly company revenue < 100.000$/year, IIRC). Most business need to buy Visual Studio Professional to legally use that IDE.
The compilers can be downloaded for free by anyone as part of the Build Tools for Visual Studio.

These restrictions only apply to the Visual Studio IDE.

From the horses mouth [1]:

> Any individual developer can use Visual Studio Community to create their own free or paid apps.

No revenue cap to be found. Also:

> In non-enterprise organizations, up to five users can use Visual Studio Community.

Again - no revenue cap. And finally:

> enterprise organizations (meaning those with >250 PCs or >$1 Million US Dollars in annual revenue)

Now call be a naive buffoon, but in my book, >$1M annual revenue and/or >250 IT workplaces means that licensing costs for software are not a problem at all. This restriction also only applies to commercial use - academic, OSS, and classroom environments are still allowed.

I really don't see how this is constricting in any way.

Edit: [1] https://visualstudio.microsoft.com/vs/community/ (under "Usage")

I got the revenue limit wrong, but it doesn't change the fact that the Community edition isn't free for everybody. It has strings attached. That was my point.
It doesn't have strings attached that concern users - that was my point. It's also not just "getting the revenue limit wrong" if said limit doesn't even apply to individuals and small companies.

As soon as a commercial organisation enters 250+ IT workplaces and >$1M annual revenue, license management becomes relevant in any case and isn't exactly "strings attached"-territory. Feel free to disagree, but I still think your argument is pretty weak.

If I could buy visual studio ultimate/pro/... for my Mac, I’d do so. I miss it sorely.
How is that enforced?
> Apple (100€£$/year)

The compiler is not commercial and does not require a developer account.

Can you get the compiled binary into the app store? Or to end users in some other way?
> Can you get the compiled binary into the app store?

Can you do something completely unrelated to the question at hand without fulfilling requirements entirely unrelated to the question at hand? No.

That doesn't make the compiler commercial.

> Or to end users in some other way?

You can put your mac application on your website more or less as you've always been able to.

Surely the usefulness of what the compiler outputs is at least related to whether it's commercial or not.

If I forked GCC and made a version where the produced binaries would only run on the machine where the compiler ran, and removing that was a subscription...I'd call it a commercial product.

(Ignoring the GPL issues)

> only run on the machine where the compiler ran

clang is always a cross-compiler, including the versions shipped by Apple.

You can host the binary on your web site / store; it's not as smooth an experience for the end user, certainly, but it is possible.

https://www.macworld.co.uk/how-to/mac-software/mac-app-unide...

Yes? Anyone can download a binary that runs on MacOS.
Not when notarization no longer can be worked around.
At which point the commercial part will continue to be notarization, as it is currently.
That's something of a technicality. If the output of the compiler isn't useful without paying for something else, it's effectively a commercial compiler.
Sometimes "whataboutism" is just a comparison to something more common that a broader audience can relate to.

Fwiw, I find the canned responses like "appeal to authority", "whataboutism", etc, kind of lazy. I'd prefer you tell me why I'm veering off in your own words.