The old guard of Mac indy apps has thrived for more than 25 years
I’ve maintained my Mac project for 20 years for free (despite paying $99&#x2F;year these days) and I can say quite a bit about the experience.<p>It is a tremendous amount of work, far more than most people would imagine, just to <i>keep up</i> (i.e. zero features, just keeping the code base in sync with the platform).  I ported the entire code base from System-6-style to Mac OS 8, complete with fancy Appearance support and a lot of different callback mechanisms and other OS features of the day.  I ported networking code away from deprecated layers.  I ported from 68K to PowerPC, to Intel 32-bit, and now 64-bit is required.   I ported file management code multiple times to entirely different APIs.  I added tons of Objective-C.  I migrated compilers from MPW, to CodeWarrior, to GCC, to LLVM.  I replaced, painstakingly, <i>thousands</i> of lines of Carbon-style code with entirely different Cocoa idioms.  I redesigned interfaces that were once described by Rez input files, to use Interface Builder (multiple times, as IB kept changing).  I added code-signing.  I split a single-application architecture into sub-processes with OS services.  And these are just things I can pick off the top of my head; I am sure there are many more.  Again, this is just to <i>keep the damn code working as a nice modern app</i>, before you even <i>add</i> work to make it do whatever it’s supposed to do.<p>Also, in every single case, it is noteworthy that the OS features I worked so hard to adopt were <i>eventually thrown out by Apple anyway</i>.  This means I fully expect 10 years from now that even today’s code isn’t going to “last”.  Some of the changes were particularly insulting, I would add, since Apple at the time made bold statements about those APIs being “the future”, and such; for instance, after completely redesigning an application to use the Mac HIToolbox “properly” in every possible way, it <i>really hurt</i> when Apple just decided they didn’t give a damn about Carbon to the point where it <i>wouldn’t even compile anymore</i> a few releases back.<p>I am fine with this because this is the kind of thing I like to work on.  I do wish though that more people would realize how much effort software maintenance really is.  Unfortunately, a heck of a lot is hidden behind simple-looking UIs and most programs will be a lot more effort to build than they appear to be.