But that's the rub right? What is the definition of maintenance activities? And for what software? If you are writing a new script to automate something or updating an existing script, is that not software development?
If that's considered maintenance activities then would maintaining a software codebase not be considered maintenance activities then?
In my simple mind, if software has been "released" it is no longer R&D, and "bug fixes" (which should include continuous improvements such as your example) are not research.
That seems too exploitable to pass muster in the court. If you release Beta 0.0.1 of your software after 2 months of development then spend the next 5 years getting it up to version 1.0 that's clearly a development effort not a maintenance effort.
No. That is why you have auditors who must sign off on your financial books and records. There are fairly strict rules about capitalization of software development. If it is a meaningful number for your firm, then the auditors will review in detail.
The IRS Guidance says this in 5.05(2), which is most relevant to software startups:
(2) Computer software developed for sale or licensing to others. In the case of
computer software that is developed for sale or licensing to others (or upgrades
and enhancements to such software), activities that occur after such software (or
upgrades and enhancements to such software) is ready for sale or licensing to
others, such as marketing and promotional activities, maintenance activities that
do not give rise to upgrades and enhancements, distribution activities (for
example, making the software available via remote access), and customer support
activities.
So they are maintenance as long as they "do not give rise to upgrades and enhancements", which would be the responsibility of the taxpayer to track. I'm sure there is more nuance to it in practice.
They have, but they’ve fired everyone. Literally. I have a relative who was fired while testifying in court, he ended up stranded in some flyover shithole.
The concept and determining factor is how it relates to revenue. Is it an activity that supports or contributed to current revenue generation, or is it something that is expected to only contribute to future revenue generation.
If that's considered maintenance activities then would maintaining a software codebase not be considered maintenance activities then?