# What Changes with XCode 4 Not Being Free Anymore?

by on March 10, 2011

Marcos talked about the Mac App Store and the advantages it brings to Mac users.  While I was (and am) excited about the App Store and the numerous applications I now have easy access to, my one big fear is coming true: previously-free applications now need to be paid for. With the App Store handling the marketing and payments, it becomes a lot more convenient for individual developers to stop offering their wares as open source projects; and we end up losing or paying for a lot of the applications that we used to just download.  Now, Apple itself has started this trend with the release of XCode 4 which is now available for $4.99 via the App Store (unless you have already paid$99/yr for the iOS/Mac Developer’s package in which case XCode 4 is free); it used to be previously available after a free registration. While $4.99 is a pittance and and a not-so-recent version might still come bundled with a new Mac, it continues the Apple’s recent tendency to nickel-and-dime its customers and follows in the wake of not shipping the Apple Remote ($19.99) and the DVI/VGA adapters ($29.99) with the Apple laptops. Don’t get me wrong,$4.99 is a very, very low price for what XCode offers; for comparison, BBEdit, a high-performance HTML and text editor—and an excellent one but one that come without XCode’s libraries, tools, and utilities—goes for $99.99! What gets me is Apple’s need to wheedle an extra$4.99 out of its customers who have already paid a large premium for the computers.

So what does this mean for most astronomers who use emacs, vi, or eclipse rather than XCode for writing/debugging their code? What Xcode brings is the suite of developer tools—including but not limited to gcc, java, jikes, and gdb—that you need to compile code from its source. Hence, if you have a *nix emulator like MacPorts or Fink installed on your Mac, they use the Developer Tools; and you are out of luck**! To be able to use open-source software, you will, ironically, need to pay Apple first. Fink can install packages as binaries, which are available only for a limited number of packages, while MacPorts exclusively builds packages from source.  If you program in C, C++, or Java—or, especially, if you use them only occasionally, XCode makes life much simpler for you.  Of course, there is always the option of installing all of the libraries manually, in which case it might be easier to get a *nix box anyways.

** [footnote added based on comments below] You are only out-of-luck if you would have liked to upgrade to XCode 4 or future versions of the OS don’t ship with XCode. Your current install of Macports/Fink/Homebrew will be unaffected; and, for now, Apple still has Xcode 3 available for free.

1 John O'Meara March 10, 2011 at 7:45 am

There is one potential upswing to XCode being in the app store, which is proper (automatic) updates. This changes none of the philosophical arguments, but it does add value where there was none before.

Also, I’m fairly certain MacPorts and Fink will simply point to the compilers as their first install step in the future and go from there. There’s just going to be a tad of catch up time.

2 adam March 10, 2011 at 10:42 am

I saw this announcement yesterday, and I keep thinking there’s no way Apple is going to do this for long. XCode is critical for development in general, but it’s also critical for bringing new mac & iphone developers into the fold. I myself only started getting serious about learning ObjC and AppKit only these past couple of weeks, and having XCode on my system has been great. $5 might not be much, but why should I continue to learn AppKit when the Android SDK and all the GNU tools both are built on will always be free? Why don’t I just switch up to writing my astro apps in Java instead of ObjC? Even Microsoft recognizes how important it is to get its development tools into the hands of students and universities for free with their dreamspark site. Reply 3 John March 10, 2011 at 11:59 am There’s a fair chance that the pricing is just due to the Sarbanes-Oxley Act and that Lion (OS X 10.7) will ship with a free version of XCode 4. Apple haven’t confirmed that, and I’m no lawyer, so that’s just idle speculation. Meanwhile, at least for now, XCode 3 is still available for free from Apple. Both versions ship with GCC 4.2.1 (with very nearly the same build id), so if you’re just looking for the compiler rather than an IDE, you’re not missing much by using the older version. And, of course, since the source for Apple’s version of GCC is available, it’d presumably be straightforward for MacPorts & the like to package up a compiled version and ship it as part of their installer. Reply 4 Mark Marley March 10, 2011 at 12:03 pm I was going to make exactly the same point, it is indeed because of Sarbanes-Oxley act. They can’t add value to something they have already sold you. 5 Saurav March 10, 2011 at 12:31 pm I know that was true when Apple charged$0.99 for FaceTime (a completely new feature) a couple weeks ago. Given that XCode has always been free (even the updates from XCode 2 to Xcode 3), why would the Sarbanes-Oxley Act take effect now?

But I guess it was bound to happen, like iLife. Again, I am not complaining about the $5, just about where it is heading. For instance, I just saw that CyberDuck costs$23.99 in the App Store but is *still* free on its website.

6 Jeffrey March 10, 2011 at 3:19 pm

From what I’ve read, the Sarbanes–Oxley act only applies to new hardware, not software upgrades. Otherwise, why doesn’t every single public company charge for every software update they release? Even Apple doesn’t charge for updates to things like iTunes, Safari, etc (which definitely add new features). I think quoting this act is just an excuse to charge something for it.

7 John March 11, 2011 at 5:59 am

All the talk of Sarbanes-Oxley is, as I said above, speculation. That has (apparently) been the motivation between previous charges for iOS upgrades — so it definitely applies to software, and is an active consideration at Apple — but, to an external observer, it’s not always applied consistently or transparently. Unless you happen to be Apple’s corporate lawyers, you don’t know enough about their internal procedures & accounting to know for sure what’s going on — and you can be sure Apple won’t give you a straight answer.

I think there’s a fair chance that XCode 4 will be free to users of Lion. If it isn’t, that’s no big loss: all the relevant compilers and open source tools are still free, and I’ve no doubt that some enterprising folks will package them up in a nice bundle for easy installation. Meanwhile, if IDEs are your thing, and you like XCode, $4.99 is a bargain (compare to$249 for a personal license for IntelliJ IDEA, for example).

8 Eric G. Barron March 11, 2011 at 10:45 am

First off, I think the only reason this change garnered so much attention is because XCode used to be free. If XCode had been $495 and Apple changed the price to$499.99, no one would have noticed. Your assumption that Apple should give you a new major version of XCode because 1) the last version was free and 2) you paid a “premium” (the myth of the Apple premium was debunked years ago, by the way) is silly. When you buy a computer, you pay for the machine and the software that comes with the machine at the time of purchase. Someone who bought their Mac last year paid for the machine, Snow Leopard, iLife ’10, XCode 3, and so on. That person has no expectation of free hardware upgrades, a free Lion upgrade, a free iLife ’11 upgrade…so why the expectation of a free XCode 4 upgrade?

As for MacPorts and Fink (and Homebrew)…they don’t require XCode *4*, do they? As previously mentioned, XCode 3 is still available as a free download for people who want to start using those package managers. People who currently use MacPorts and Fink should *already have* the Developer Tools installed. No one is out of luck…so what’s the issue again? Besides this post sounding more and more like FUD every time I read it, I mean. Sure, Apple will eventually pull XCode 3…but the impetus is on the MacPorts and Fink and Homebrew developers to change their software before that happens. Unless Apple promised those developers that Developer Tools would be free until eternity, those developers should not have thought themselves entitled to piggy-back on Developer Tools without the risk of future consequences.

One more thing…”To be able to use open-source software, you will, ironically, need to pay Apple first.” I must have missed the part where Apple is now preventing users from installing gcc from source. Oh, wait, you mean you want an easy gcc installation solution that engineers at Apple created for you? Well, now you have to pay (a *very* small amount) for that convenience. If you don’t want to pay Apple then you can get the gcc source from http://gcc.gnu.org/ and figure out how to install it yourself, for free…at least monetarily speaking. I’m guessing the time you will spend doing that is worth far more than $4.99. If you don’t like either of those options then get a BSD or Linux machine (as you said) or run BSD or Linux in a VM. I recommended VirtualBox. I’ve found it works really well and it’s free…at least for now! >:) tl;dr This post smells like FUD and entitlement. Reply 9 Charlie Sharpsteen March 12, 2011 at 11:56 pm > If you don’t want to pay Apple then you can get the gcc source from http://gcc.gnu.org/ and figure out how to install it yourself, for free…at least monetarily speaking. Actually, Apple uses a branch of GCC 4.2.x with custom patches that enable the compilation of universal binaries. The correct download site is http://opensource.apple.com and if you look closely, the XCode releases stop at 3.2.4. This is probably because no changes have occurred to the GNU licensed components–but it is still discomforting. I have absolutely no problem with Apple charging a price for the XCode GUI and associated instruments and tools but as a developer for the Homebrew project, I wish they would commit to making up-to-date versions of the core command-line tools freely available so that we could focus on making OS X a better place to get work done. As you said, there is no problem right now but the way the winds have started to shift is making some of us nervous. 10 Ben March 11, 2011 at 6:00 pm Calling irritating news FUD doesn’t make it FUD. Historically, Unix based systems have made development libraries available. But they haven’t always been installed by default. A fresh Ubuntu Linux install often includes libx11, but not libx11-dev, so you need to download the -dev packages to compile anything useful. Up to this point OS X has been pretty much the same but with a somewhat easier to install development package. Anybody who spends their career buying$1000-2000 laptops and programming them isn’t going to balk too much at spending $5 to get the development kit neatly packaged, it’s just an annoyance. A bigger annoyance is going to be if, say, I distribute a program that some random user will want to compile on their machine, but they can’t compile it against the libraries because they didn’t buy Xcode. Sure they could try to download all the compilers and source and reconstruct the libraries, but J. Random User doesn’t do that – that’s why they bought a Mac instead of running Gentoo linux. It may not be the end of the world, or even last very long, but it’s ticky-tacky. Reply 11 Eric G. Barron March 11, 2011 at 6:56 pm I called it FUD because it is FUD. From the original post: “Hence, if you have a *nix emulator like MacPorts or Fink installed on your Mac, they use the Developer Tools; and you are out of luck!” That is FUD. Charging for XCode 4 does not put anyone out of luck. XCode 3 is still available for download, for free. Right now, MacPorts, Fink, and Homebrew still work with the compiler from XCode 3, which incidentally, is the same version as the compiler from XCode 4–gcc 4.2.1. No one is out of luck. To say anyone who has MacPorts or Fink installed is now out of luck is FUD. Also: “Up to this point OS X has been pretty much the same but with a somewhat easier to install development package.” …and after this point it’s just as easy to install. I said it above, another commenter said it above…XCode 3 is still freely available for download. Finally: “A bigger annoyance is going to be if, say, I distribute a program that some random user will want to compile on their machine, but they can’t compile it against the libraries because they didn’t buy Xcode. Sure they could try to download all the compilers and source and reconstruct the libraries, but J. Random User doesn’t do that – that’s why they bought a Mac instead of running Gentoo linux.” If you are really that concerned about J. Random User then why are you distributing programs that require said user to compile them in the first place, instead of distributing the program as a pre-compiled binary…on the App Store, even. Notwithstanding that, however, I will say it one more time: XCode 3 is still freely available for download. If you somehow write your program such that it can only be compiled with the gcc from XCode 4 (hard to do given that it’s the same version of gcc in each), then that is your choice and you are the one responsible for the user having to buy XCode 4 in order to install your program. 12 DS March 11, 2011 at 8:51 pm Eric, you act as if there will never be another version of XCode or gcc released. So what if XCode 4 isn’t that different from XCode 3? You really think that’s going to be true for XCode 5 and 6 too? Ben’s point is a good one. Developers and people who make heavy use of XCode would find$5 no big deal at all. But J. Random User doesn’t want to pay $5 to install open-source software. Presumably there are reasons that the vast majority of open-source and *NIX software is distributed as source, rather than precompiled binaries (among other things, so that someone can write a piece of code and then users can run it on FreeBSD, Red Hat Linux, random Linux or BSD distro, and OS X without someone trying to be responsible for all the binaries – for every OS version, too). 13 Eric G. Barron March 12, 2011 at 12:03 am “Eric, you act as if there will never be another version of XCode or gcc released. So what if XCode 4 isn’t that different from XCode 3? You really think that’s going to be true for XCode 5 and 6 too?” You are assuming that XCode 4 won’t be free at some point in the future! Do you have inside information about what the final version of Lion will be? No, you don’t. Can you tell me with certainty that XCode 4 will *not* ship free with Lion? No, you can’t. It is possible that Apple will treat XCode like iLife or Facetime: you get the current version for free when you buy a computer and you pay for any future major version upgrades. If XCode 4 doesn’t ship on the Lion disk or SD card, then there *might* be an issue…though I doubt even that since it’s likely someone will just release a standalone gcc installer. What matters *now* is that there is no issue. Yet this post and some of the comments take a sky is falling stance based on incorrect information. The sky is not falling; MacPorts, Fink, and Homebrew still work for those who have them installed. Anyone who wants to start using them now can go download XCode 3 for free and use them, or any other software that needs compiling. No one is out of luck. There. Is. No. Issue. The post, however, pretends there is an issue…and that misinformation does a disservice to the readers. Read the post again. MacPorts and Fink users are out of luck? How is that accurate? Someone is going to come here, read the post, and think, “if I don’t go to the App Store and buy XCode 4 my MacPorts or Fink won’t work.” That is wrong. The post should discuss how XCode 3 is still available for free, how MacPorts and Fink users *are not* out of luck at this point in time, and how we should all just take a wait-and-see approach and watch what Apple does with XCode and Lion. Instead, the post talks about fears coming true and developers starting to charge for software that used to be free (how dare a developer decides what his or her own work is worth!), about Apple stealing money from users, and about users who depend on XCode suddenly being left out in the cold. Even the title of the post is wrong. What changes with XCode 4 not being free anymore? XCode 4 never was free! 14 Joe Mama March 13, 2011 at 8:44 am Eric, you just don’t get it. It’s nickle-and-diming, plain and simple. Your snarky apologist attitude about it doesn’t make it any less snarky a decision by Apple to needle a lousy$5 for something that FREE has garnered them LOTS of hobbyist developers and followers. This whole movement by Apple is a pathetic attempt to further “close” their system and INDEED put many out of luck unless they play AND PAY by Apple’s rules. Your excuse for their behavior does not make that behavior acceptable, since “free XCode 3 for now” is a pathetically limited solution with an expiration date. Yes, the author may have been over-stating by saying “out of luck” but if Lion does not include XCode 4 and/or your slightly older system can not run Lion, then what? The only reason Apple supports systems as long as they do is b/c of applicable consumer law (and honoring those warranties they sell), so don’t act like Apple is faultless in this…
Give ME a break. YOU don;t know the future any more than the author, but the writing that Apple is inching towards another screw job is on the wall. You can ignore it for now, the author may be overly concerned about it, but the two of you are different sides of the same coin, and somewhere in the middle is some sort of problem that Apple is needlessly causing.

15 Eric G. Barron March 13, 2011 at 11:19 pm

If Apple were only interested in nickel-and-diming and further closing the OS then why is Apple including Lion Server with Lion? Including, for *everyone* who buys Lion, something that used to cost $500 is nickel-and-diming? As for what happens *if* Lion doesn’t include XCode 4 or those with older systems can’t/don’t want to upgrade…I don’t know why this is so hard to understand. XCode 3 is free. XCode 3 has the same version of GCC as XCode 4, and GCC–as opposed to the other tools like the actual IDE–is really what is important for the package managers and astronomy source code out there now. XCode 5 might not even have GCC in it, and if XCode 5 does have GCC it will still be the same version as XCode 4 and 3. Apple doesn’t want to touch any version of GCC past 4.2.1 because of the poison pills in GPLv3. I wouldn’t be surprised if XCode 5 drops GCC completely, providing only LLVM/Clang, binaries for which are available (for free) on the LLVM site. Finally, regarding Apple and the law, I don’t know of anything that has proven or disproven the idea that charging for XCode 4 for Snow Leopard is a result of Sarbanes-Oxley. I believe that explanation is still viable. I guess it’s still just easier to blame Apple without having all of the facts, right? 16 saurav March 14, 2011 at 12:49 am Hi Eric et al., I agree with you on most of the things, including my initial post being a little too alarming in calling people “were out of luck” although I meant that for people who would have liked to upgrade (I have noted this in a footnote in my post). I disagree that this post is FUD. It seems each of us is nervous to a different degree about where Apple is heading (or what it wants to do) by charging pocket-change for Xcode, which would be cheap even at$100 for developers. And, yes, it is the concept more so than the price that bothers most of us, unless it is for the Sarbanes-Oxley Act. Some of us are not alarmed at all. In fact, as much we would have liked to get a nice binary for all the developer tools, we have no right to expect Apple to keep providing a nice set of tools. Whether Apple wants to do so to keep a vibrant, hobbyist-developer community is their concern. My current read on this? As Joe said Apple wants to reinforce that we play by their rules, which we are already doing by buying MacBooks, iPads, iPhones or any other fancy toy Apple comes out with. Or, as in my case, blogging about whatever new thing Apple releases. However, I guess we will have to agree to disagree upon whether we like this change or not.

Meanwhile, as a Mac end-user, seeing developers like adam and Charlie concerned about this change is disconcerting lest the spurt of open-source software for Macs start to dry up.

17 Ben March 14, 2011 at 1:37 am

I’m not interested in this as operating system advocacy nor am I interested in the adversarial tones usually associated with OS advocacy battles. This is a website about (I think) astronomical scientific computing, and I’m particularly interested in encouraging the public release of scientific software. There are already too many roadblocks to this (gratuitous white paper advertisement: http://arxiv.org/abs/0903.3971 ) and this is another one, and so it concerns me.

It may be that Xcode 4 will be free with Lion, and certainly before this post I hadn’t even thought about upgrading it. I don’t use the IDE, I’m such a curmudgeon that my idea of a debugger is printing “got to line 401.” However, some of the workarounds proposed are just really not good for scientific computing. First, I want scientists to distribute source that can be compiled. Binaries are convenient, but for science, you need source, because you ought to want to know what the software does and you may need to tweak it. Being dependent on a binary that you can’t recompile is really miserable. Second, deliberately compiling against an old set of libraries is a bad thing. It just puts off a compatibility problem till later when it will really suck. One of my least favorite problems on Linux systems is finding a binary that won’t run because it was compiled against libsomething.so.6 and your system has libsomething.so.7. I do not want to deliberately inflict that while distributing software.

18 fxt March 15, 2011 at 3:43 am

i’ll match ben manifesto for manifesto with an open source, thoroughly modern stellar evolution offering ( http://iopscience.iop.org/0067-0049/192/1/3/ ) for which one will need xcode N to generate an executable (see appendix a).

fxt

19 Eric G. Barron March 15, 2011 at 11:30 am

I will retract my accusation that this post is FUD. I still stand by my belief that even if XCode 3 is the last free XCode there will not be an issue, even more strongly now that I had a chance to look at the state of LLVM and play with Clang. I also still think that XCode 4 will come free with Lion and that this situation isn’t about Apple forcing anyone to play by their rules. If Apple really wanted to force people to play by their rules, they wouldn’t be moving to compilers that are under a permissive license and instead would have cooked up their own proprietary compiler.

20 Ben Finkelstein March 20, 2011 at 9:53 am

Source code for the open source components of Xcode 4 is here:
http://opensource.apple.com/release/developer-tools-40/

21 Mike Bethany March 20, 2011 at 2:53 pm

The problem is if you give something away for free then start charging for it, regardless of how little it costs vs. how much it is worth, people have a psychological barrier to purchasing it. For instance when compared to the $549 for Visual Studio$4.99 seems a pitance and hardly worth complaining over.

Yet look at the open hostility expressed here by some towards the $4.99. Again it’s that psychological barrier. People can genuinely feel cheated by being charged for something they once got for free. Saying, “Being offended by a measly$4.99 is the height of self-entitled arrogance when there are so many real atrocities you should be offended by.” is a logical fallacy but that doesn’t stop me from thinking it.

The argument that providing source code that can freely be compiled is a valid one; I just don’t know if the conclusions follow. If you use Mac specific libraries in your code then you need a Mac to compile it and since not everyone has a Mac I would argue that is a much higher barrier to entry than $4.99. If you are genuinely concerned about this barrier I would argue you should be using open source, cross-platform compilers and libraries. Granted you’re probably using Xcode specifically because of those OS X libraries so we’re back to square one. The real barrier is writing your software for a Mac, not the$4.99 it costs for Xcode 4.

And finally I wonder if a compiler sans UI will be made available. I’m guessing it will but that’s all it is, a guess.

22 Rob White March 20, 2011 at 6:07 pm

Do you remember when Quicktime used to be free, there wasn’t any Pro version. I remember people saying the same thing, that the pro version would fail. But, it’s still here, Apple’s pulling every possible cent out, now they’re doing it with prospective developers too. I’m thinking about writing code for an embeded chip (makingthings.com, and xcode needs to be installed first, but after seeing the $5 charge, which isn’t much, granted, I’m going to just code it up on the windows or linux version with eclipse. Reply 23 SGB March 20, 2011 at 8:04 pm I do not expect xcode 4.0 or future versions to be free. Here is why: Until now, Apple simply used the open source compiler gcc with a minor addition to enable Objective C. They did not invest much resources – time/money/effort etc, in the compiler toolset. A lot of folks were complaining about how the compiler toolset was ancient and needs to be better. Apple responded by investing a lot of time and money in developing the new llvm/clang toolset so that the developer community can enjoy development on the Mac for the Mac / iOS platform. All of this requires continued investment in the xocde toolset. Instead of charging a premium like say$99, they are only charding $4.99. While this will not give Apple much by way of profit, it will make sure that xCode development is not a huge loss leader for Apple, and so they will make continued investment to make it better and better over time. I support this. Note that anyone who has the Mac / iOS developer account already has paid$99/ year membership and so xCode 4.x is free for them.

No Mac Developers should have any trouble making this purchase. If they cannot even afford, $4.99, they should sell their Mac and get linux installed on machine and use free tools. All other devs should support any act from Apple to bring the Mac Developer suite to the modern age…. so that they can enjoy the benefits.. peace SGB Reply 24 Information Central March 21, 2011 at 3:34 pm Apple should be falling over itself to cater to developers, who already have to learn what is essentially a proprietary language simply to support a minority platform. The code they write for this platform is essentially useless elsewhere, so developers are already paying a heavy price simply to make Apple’s platform more viable. And Apple thanks them by CHARGING them? And Xcode 4 was NOT the time to start charging, as it’s a bug-riddled pile of shit. Spend one day simply trying to recompile your previously working projects on this thing, and then search the Web for the same problems you experience. They are RAMPANT. 25 Frank April 6, 2011 at 8:01 am The reason I tried Xcode (3) was because it was free. That was just last year. I was just curious, so I saw it as no harm and no cost to give it a whirl. Looking back, if Xcode had a pricetag when I was considering downloading it, I might have passed it up for something else to do or try. I imagine that I am not the only person or developer who fits this situation. In the end, I really don’t care whether Apple charges for their tools or software. But the aspect of it being *free* made me take a look and try it. With Xcode having a pricetag, no matter the price, there may be fewer developers who act on their curiosity to try it. Reply 26 Mike Bethany April 6, 2011 at 6:45 pm After using XCode 4.0 for a few weeks I can say it isn’t worth the$5. It’s REALLY buggy and the Interface Designer portion will peg your CPU constantly even when doing simple things like dragging a control on a form. I’m not uninstalling it but I am reinstalling Xcode 3.2.6 so I can get some work done.

To those that want to use Objective-C but don’t want to pay:
You can always use GNUStep (http://www.gnustep.org/; an open source X11 development environment. You should be warned it looks like a NeXTSTEP environment so you’ll be taking a trip back to the early 90’s for your interface design. Oh, and calling the install process for GNUStep complicated bordering on incomprehensible would be a kindness but it is free.

27 PrinsEdje80 April 20, 2011 at 1:44 am

You’re forgetting one important site… If you only need a compiler (GCC, GC++, GFortran), you can get that one for free from http://hpc.sourceforge.net/. It’s very useful to have. I agree that it’s very annoying that you have to pay for XCode…