For folks that don't know the background on this, here's a layperson summary:
- A business is usually taxed on its profits: you deduct your revenue from the cost of producing that revenue, and the delta is what you are taxed on.
- In software businesses, this usually means if you spend $1M in software development to develop a web app, and it makes $1.1M in that year, you'd get taxed on the $100K profits.
- However, a few years ago, the IRS stopped allowing the $1M to be deducted in the year it was incurred. Instead, the $1M was to be amortized over 5 years, so now the business can only count $200K as the deductible expense for that year. So now it's going to be taxed on "profits" of $900K. Assuming the tax rate is 20%, that means the business owes $180K in taxes, even though it has a total of $100K in the bank after the actual expenses were paid. So it would have to either borrow to pay taxes or raise venture capital, meaning that VC-funded companies would be advantaged over bootstrapped ones!
- The letter's goal is to bring things back to how they were (and how they are for all other businesses): let businesses deduct their actual expenses from their actual revenue, and tax that actual profit.
I am neither a lawyer nor an accountant, this is just my understanding of this issue.
Edit: Switched the tax rate to 20%. The logic is still the same.
While this does convey the idea, the premise is also biased.
> even though it has a total of $100K in the bank after the actual expenses were paid.
People running a business can perfectly understand the concept of liquidity. And yes, just because you transform money to something else, then it doesn't mean that you should not be taxed on it.
The extreme example is a company that buys gold on the last trading day of the year - now there is no profit! On the first day they sell the gold again and does tax eviction.
The core question is to what extend software constitutes an asset or consumption.
(Personally, I do not believe that software constitutes an asset in any meaningful way, but a practical tradeoff could be that software is a 10% asset)
I think you are conflating "software engineers" with "software". A business that pays a software engineer doesn't automatically receive working software in return, especially not in the first year. It doesn't seem fair to assume that paying a dev $200k means that the business received an asset (some code) worth $200k in return, and thus can be taxed on it as if it were an asset producing $200k in profits a year.
I am not conflating, but the law is. Obviously it would be better to have an appraisal of the software - I reckon law makers see the cost of producing ad an ok proxy.
Btw,this is how it is done in many construction projects also. Like bridges, budings, etc.
I don't know how you're supposed to value software. I just reread your original post - picking 10% out of thin air doesn't make much sense either.
Software is more like a blueprint for a building, it's not the building itself. How much is a blueprint worth? If 100 architects spent a year on it, does that mean the blueprint is worth 100 x salaries? It might actually be worth nothing, if the blueprint asks the construction team to do something impossible.
Software is even worse though, because at least with construction, there are known physical models and real-world constraints (like physics) that decide whether a design can or cannot be implemented. A piece of software written today might be entirely unimplementable and worth nothing, but a breakthrough elsewhere in 5 years might make it extremely valuable at that time
Um, so you have it so that if I hire (let’s say) bridge engineer for 100$ but he doesn’t get any materials and produces only paper model which I sell for 1$ does it mean I’m going to be taxed based on 101$ ?
> The core question is to what extend software constitutes an asset or consumption.
Isn't part of the problem with our industry that, even it is an asset, its value can be hard to determine even for a long time after you've written it, and it may be pretty weakly related to how much you paid to build it?
- you might have spent a lot on developers last year but next year you find out that you're the new Quibi and no one wants to use your product
- you might have had a small, tight team and what you built turns out to be hugely valuable (like instagram or whatsapp)
- ... and to the degree that the software is part of a valuable business, how do you really assign value to the software as versus the go-to-market plan, the partnership/distribution agreements, etc that helped make the business succeed?
These risks would appear to be the same as a shoe producer wanting to bring shoes to market - regardless they are still taxed on the value of their inventory.
Some of the risks are similar, but your "regardless" is bypassing the point.
We can value a real shoe pretty well. But what if we could duplicate all the shoes we built for less than a penny per pair? What would be the value of our inventory?
> The extreme example is a company that buys gold on the last trading day of the year - now there is no profit! On the first day they sell the gold again and does tax eviction.
In this example, it seems like you're assuming that the revenue from the sale of the gold would not be taxable, but I don't see why that should or would be the case.
ETA: also, gold is far, far more fungible than any particular software
AFAICT, that $450K is refundable and transferable. IOW, if you make $0 in year two and have expenses of $0 in year two, you'd get a tax refund of $100K because $200K of your expenses from year one would be applied to year 2.
And it's transferable -- if your company fails, there are companies out there that will buy the rump of your company to realize the unrealized tax refunds.
Which is why it's usually fairly straightforward to get a factor loan to pay those $450K in taxes -- it's backed by an asset.
Factor loans are usually expensive with a high interest rate. Because you can get a factor loan, the taxes are not going to immediately bankrupt the company in the short term, but the high interest rates are going to hurt in the long term.
Not a lawyer nor an accountant. Not even an American.
NOLs are generally not transferrable in the US (they used to be, but now the benefit can only be used if the acquirer of the 'rump' continues the existing operating business).
One of the reasons small businesses have been hit so hard with this is because for then (when incorporated as LLCs), their tax rate is 37% + state + local. I live in NYC and my LLC has a combined tax rate of 50%.
An LLC can either file as a c corp and get corporate tax rates, or (sometimes) file as passthrough like as in a sole proprietorship. Or as a partnership. It gets complicated
That's a great explanation, thanks a lot for sharing it.
Some big tech companies affected have laid off teams around the world, perhaps in order to mitigate the numbers looking bad to investors; so in a way, this adversely affected tech employees globally.
Every country should have such a rule for software businesses, which is an industry where all the cost has to be upfronted, so that bootstrapping is facilitated. There are plenty of smaller markets where the VC model is not
the most appropriate funding instrument.
Reducing taxes on businesses by 30%+ and high earners and the middle class by a smaller percentage. It’s a direct effect of the 2017 Republican tax reforms.
If you want to pass something using only 50% of our representatives you have to pay for it with something else to balance the change. 60% of the vote and you don’t care what the Congressional budget office says. The primary software development hubs are not Republican leaning. The same reason SALT was changed. Voting matters.
The other responses have the right idea, but in more detail:
All congressional bills receive an estimate of their budget impact over the next ten years. Whatever happens after ten years doesn't count.
The politics are that a bill should have no budget impact within that ten-year window. As an uncharitable stylized example, you'd propose to start paying random subsidies to constituents immediately in the amount of $200M / year, forever. 8 years out, you also plan to raise taxes on somebody else, someone who would never vote for you in a million years, in the amount of $1B / year, which may or may not fade out after two years. This is a bill with no budget impact.
It doesn't matter, to you, whether that spike in collections for years 9-10 actually happens or not. If you failed at targeting it exclusively to people you hate, you might prefer that it doesn't.
ok, got it. So... this helped it pass because it allowed the headline to be "budget neutral" even though all signs point to this piece getting removed quickly and ultimately expanding the deficit. Sounds dishonest but logical if the objective is to reduce taxes without genuine consideration of the deficit. Thanks (to you and siblings) for the explanation.
The worse it was the better it worked as a budget fudge and it could be included in projections and allow a budget neutral bill to be passed. And by being so bad it would be easier to reverse as fewer people would defend it. There was an attempt to eat their cake and have it too.
The Republican Party is actively antagonistic to any legislation from the Democratic Party basically.
You need a 60% vote or you need to take away someone else’s pie. Medicaid/medicare/social security are current contenders based on Republican planning.
The bigger issue is Republican voting districts gain less from putting it back in place. Most software devs are on the coasts and Denver.
Don’t need 60% for budget bills in reconciliation (the process of merging bills from the House of Representatives and the Senate). One of the times filibusters (which create 60% requirement) do not apply.
The "or you need to take away someone else’s pie" is the relevant part here
The 174 changes (and SALT changes, and some other stuff) were how TCJA got balanced and passed without a 60% majority. 50%+1 is enough to undo previously passed legislation that was also passed with 50%+1 in this case (handwaving - not exactly right, because the balancing point is a different time range, so the math might not work out exactly the same).
The Democratic party absolutely could have passed some legislation in 2021-2023 to undo a lot of TCJA with just a 50%+1 vote, if they cut other stuff to balance. They didn't do that though. In part because they had literally 50%+1 majority and couldn't lose a single vote in the Senate, and couldn't come to an internal agreement.
This wasn't really on anyone's radar until more recently. I don't think even a simple majority of tech workers even realized this had happened until after the job market had tightened up.
Because it wasn't bad enough. Look at the fervor it's causing now - now imagine if it was worse.
In politics it may seem like a good idea to create these time bombs because they can't imagine them going off but sometimes they do and here we are. The pied-piper strategy with the basket of deplorables was supposed to make it easier for Hillary to win 2016 but she didn't so we got the bomb going off instead.
Republicans really want to cut taxes for rich people but they don’t want to just straight-up acknowledge a huge debt increase for that goal, so they come up with different ways to say that something is budget neutral. That’s why a lot of the 2017 bill cuts were time-limited so regular people got the tax cut immediately and would hopefully remember it, but the time limit meant that CBO wouldn’t count it as a long-term debt increase and it’d be someone else’s problem when those expired and most people notice their taxes go up.
There's a risk they'll try to break the Senate rules outright [0], by pretending that certain promised-to-be-temporary tax cuts now cost $0 to extend.
To put it in domestic terms:
* [January 1st] "Honey, I want to rent a Ferrari, I did the math and it fits if it's just one month! Pleeeeeease?"
* [February 1st] "Oh, that? It's the Ferrari rental-fee for the next month, don't worry, it's an existing expense, it's already part of our regular budget, so clearly we've proven we can afford it. We'll just have to cut back on insulin for the kids."
Both parties do this to make spending bills appear smaller. This is why clean energy tax credits generally passed during Democrat administrations have to be periodically renewed.
In California, the maximum personal income tax rate is effectively closer to 50%, which is where my mind went, but you're right, it's different for companies.
In my example, the tax rate isn't the point though, it was used just to illustrate the math.
The main point is that it makes no sense to require amortization of software development expenses. The idea that this letter is an attempt to restore rationality in the tax code.
I’ve been helping Omar on this and one of the hardest aspects of building this product has been finding users that can give actual feedback. Any ideas there would be super helpful
And, zooming out a little more, free market healthcare is just part of the problem.
We have a system where we’re only treating people once they have a disease, and not working to prevent the disease, so it would be helpful to look at the effects of for-profit companies on making healthy people sicker. Fast food, snacks, alcohol, there are so many industries that are incentivized to succeed by making people sick.
This is the system “working” according to the current rule set.
It’s time to look for a better algorithm than a purely profit maximizing one.
Is there a way to use Pop solo across multiple machines, so I can drive Xcode on my Mac from my PC, or drive Visual Studio on my PC from my Mac, and also sometimes have others join in?
Does that still work in a remote-style scenario (where the other machine isn't necessarily next to you and you want to remote join your own session without needing to manually click a button on the other machine)?
While it's likely not the answer you're looking for, I've had a colleague walk their in-law through starting Pop on their home machine while traveling, so they could remote in!
The app is doing an http(s?) request, which includes more round trips than a simple ping. Also, the web server may be more loaded than the ping response would indicate.
Usually not. I got a similar "ping" page on my website but haven't found a browser that closes the TLS connection between secondly requests. Also built a websocket version but that turned out to only be useful as canary because it doesn't survive connection changes.
My PhD thesis focused on voice interface design for people with limited literacy skills. One of the most surprising discoveries for me was that menus and even lists of items aren’t natural concepts that exist outside of a context of literacy. Even for voice interfaces, a touch tone menu (“for X press 1, for Y press 2...”) was a lot harder to navigate than an equivalent voice-based menu (“would you like X, Y, or Z?”). As a side project during my final year of my thesis research, I wrote an iPhone app that unexpectedly propelled me into the world of entrepreneurship, so I ended up pursuing the startup life after I graduated. But this space is still fascinating to me.
About 15 years ago when my grandfather was in the later years of his life we bought him a DVD player. He was an educated man, but he was never interested in computers or technology. Despite it being the mid-2000s he'd managed to completely ignore almost everything about computers until then.
When I was trying to teach him to use it, I was amazed to find that even the simple (in my mind) concept that pressing the "up" button the remote would move the menu selection up on the screen, and that to play the DVD you needed to select the "Play movie" option and choose "enter" was completely foreign to him.
I think as "digital natives" with both long term exposure and a real interest in technology, it's very easy to forget how many layers of implicit knowledge our systems are built on.
>I think as "digital natives" with both long term exposure and a real interest in technology, it's very easy to forget how many layers of implicit knowledge our systems are built on.
Agreed, see replies to my comment on the linked post when trying to explain hardware usage from the perspective of older folks who aren't used to it, lots of replies along the lines of "they can this through Settings->General->blah"
Maybe that explains why Alexa is popular? I never really understood it since of it's limited capacity. I guess I don't see the appeal because I'm a programmer and used to high capacity, low user friendly tools like terminal UI/UXs.
Yes, and I think what’s interesting is to consider is that the ability to use a terminal is a very recent (and from a certain perspective, strange) skill, considered from the perspective of the kind of hardware we have for information access, storage and transmission.
What’s far more “normal” is storytelling (with heroes and villains), rhythm & rhyme, and lots of repetition. But even simple conversational interfaces are way more normal (and fit our mental hardware well) than terminal-y interactions.
As a software engineer that spent a great deal of his life embedded in UI philosophy, I'm still so lazy when it comes to learning other systems. My cell phone for instance - the iPhone, there are still things that my girlfriend shows me how to do on it that I had no idea about. I just can't be bothered to learn most technology beyond what I need to use it. I've got too much else to spend time on. I'm sure I don't know half of what my TV does, I use Alexa to turn the lights on and off, timers and alarms and that's about it.
Most of my devices are used almost exclusively for Teams meetings, communications or actual software development. When I'm raking through other software, I'm often exposed to UI concepts that make zero sense to me, yet they seem intuitive to many others that are beyond my comprehension. I wonder if this is because I'm getting old or if it's because people being forced to learn bizarre UI concepts and just accept it and go along with it.
It's weird to me that people just seem to accept complicated systems and I'm still stuck on the "This is too complicated to be useful to anyone. We're supposed to have computers working for us by now, not us working for our computers!" model.
I switch between Windows 10, Windows 11, MacOS Monterey and Pop!_OS interchangeably, easy. My main OS is Linux and mostly in the terminal. I can't comprehend that you cannot "figure out" different UI's.
I have from 25-50 or maybe more things I need to get done in my normal everyday life - most of which either improve my life in some significant way, or improves someone else's in a way that pays my bills. I run out of spoons about 15 before I need to learn a new something that will add minor improvement to my life in some way. This includes things like holding down a key longer gives you the alternative characters for it, or a new operating system or device, or all the little features on my TV or the many thousands of ways Alexa can be harnessed to do some really cool things.
On a day where I have nothing to do and I feel particularly inclined, I might learn one of those things - but chances are I'll spend it doing something else that brings me joy. Cooking, spending time with loved ones, going for a ride on my bike or a swim. These are the choices and trade offs I make. Admittedly, that hampers my ability to use certain devices because I don't understand them completely, but it gives me time to enjoy my life in other ways.
I didn't know about the spoon theory, my comment was a bit snarky I guess? (My apologies)
I can't work with two screens, there have it.
I didn't touch MacOS for a long time, but I'm able (and I think you can too) to get manual, guide, documentation in seconds and adapt to it. I'm sure you can do the same thing as me.
I must say that I'm all about efficiency and administration outside computers. (Do you have ever thought about gaming? To use the right skill slot, to gain maximum velocity at that given level?) I apply "gaming skills" to my life.
Yes, that’s it! An easier and shorter read may be the final paper I published in that domain, which talks more about the difference between literate and low/non-literate users:
- A business is usually taxed on its profits: you deduct your revenue from the cost of producing that revenue, and the delta is what you are taxed on.
- In software businesses, this usually means if you spend $1M in software development to develop a web app, and it makes $1.1M in that year, you'd get taxed on the $100K profits.
- However, a few years ago, the IRS stopped allowing the $1M to be deducted in the year it was incurred. Instead, the $1M was to be amortized over 5 years, so now the business can only count $200K as the deductible expense for that year. So now it's going to be taxed on "profits" of $900K. Assuming the tax rate is 20%, that means the business owes $180K in taxes, even though it has a total of $100K in the bank after the actual expenses were paid. So it would have to either borrow to pay taxes or raise venture capital, meaning that VC-funded companies would be advantaged over bootstrapped ones!
- The letter's goal is to bring things back to how they were (and how they are for all other businesses): let businesses deduct their actual expenses from their actual revenue, and tax that actual profit.
I am neither a lawyer nor an accountant, this is just my understanding of this issue.
Edit: Switched the tax rate to 20%. The logic is still the same.