Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> Code is not an asset it's a liability, and code that no one has reviewed is even more of a liability.

Code that solves problems and makes you money is by definition an asset. Whether or not the code in question does those things remains to be seen, but code is not strictly a liability or else no one would write it.





"Code is a liability. What the code does for you is an asset." as quoted from https://wiki.c2.com/?SoftwareAsLiability with Last edit December 17, 2013.

This discussion and distinction used to be well known, but I'm happy to help some people become "one of today's lucky 10,000" as quoted from https://xkcd.com/1053/ because it is indeed much more interesting than the alternative approach.


Code requires maintenance, which grows with codebase size, minus some decay over time. (LLMs do not change this, and might actually be more sensitive to this), So increasing code size, esp with new code, implies future costs, which meets the definition of a liability on a LOC kinda-sorta-basis.

It's not right but it's not wrong either. It at least was a useful way to think about code, and we'll see if that applies in LLM era.


It’s well known and also wrong.

Delta’s airplanes also require a great deal of maintenance, and I’m sure they strive to have no more than are necessary for their objectives. But if you talk to one of Delta’s accountants, they will be happy to disabuse you of the notion that the planes are entered in the books as a liability.


Whoa whoa whoa let's not bring the accountants in!

Code isn't a liability b/c it costs money (though it does). Code is a liability like an unsafe / unproven bridge is a liability. It works fine until it doesn't - and at that point you're in trouble. Just b/c you can build lots of bridges now, doesn't mean each new bridge isn't also a risk. But if you gotta get somewhere now, conjuring bridges might be the way to go. Doesn't make each bridge not a liability (risky thing to rely on) or an asset (thing you can sell, use to build value)


Even proven code is a liability. The point of it being a liability is that it costs time and effort to maintain and update.

The same with the bridge. Even the best built and most useful bridge requires maintenance. Assuming changing traffic patterns, it might equally require upgrades and changes.

The problem with this whole “code is a liability” thing is that it’s vacuous. Your house is a liability. The bridge that gets you to work as a liability. Everything that requires any sort of maintenance or effort or upkeep or other future cost is ina sense a liability. This isn’t some deep insight though. This is like saying your bones could break so they are liability. OK, but their value drastically outweighs any liability they impose.


If Delta was going bankrupt it would likely be able to sell individual planes for the depreciated book value or close to it.

If a software company is going bankrupt, it’s very unlikely they will be able to sell code for individual apps and services they may have written for much at all, even if they might be able to sell the whole company for something.


The other half of the quote about liability is that the capabilities of the code are an asset. I don’t know if your bankrupt company would be able to sell their code, but they sure as hell couldn’t sell their capabilities without the code.

If we're bringing in other industries, you'd be wise to consider banking. Savings accounts are something most people would consider an asset, because it's money the bank has on hand and can use for loan purposes.

But it's the opposite, deposits are liabilities because they need interest paid out and can be withdrawn at any time.

Just because the company has a thing that could be assigned value doesn't make it automatically an asset.


You're hinting at the underlying problem with the quote. "Asset" in the quote reads, at least to me, in the financial or accounting meaning of the term. "Liability" reads, again to me, in the sense of potential risk rather than the financial meaning. Its apples and oranges.

Liability is also an economic term. As in, "The bank's assets (debt) are my liability, and my assets (house) are the bank's liability."

I don't think it's a wrong quote. Code's behavior is the asset, and code's source is the liability. You want to achieve maximum functionality for minimal source code investment.


Sorry, my point wasn't that liability doesn't have a meaning in finance. My read of the quote is that it uses liability in the sense of risk not debt on a balance sheet.

I could always be wrong though, that was just my interpretation of it. I don't get how code could be a liability in the financial sense, but I do get how every line of code risks bugs and other issues.


Sure, but all code is a potential future debt.

You wrote a music player that only allows one artist from list of all artists? Tech debt.

You wrote optimized assembly for x86_64? It's the year 2060, and we only support NGPU_ARM_N_LEG.

The moment your expectations change (which is all the time), your code needs to be changed, and effort isn't free.


It's possible for something to be both an asset and a potential liability, it isn't strictly one or the other.

Delta leases a big portion of its fleet, which makes your example pretty bad.

Not a terrible example. The planes delta owns are delta’s assets; the planes the leasing company owns are the leasing company’s assets. The point is, the code and the planes are assets despite the maintenance required to keep them in revenue-generating state.

Not a very valuable one. Never had been. That's the funny part. So many people want software but then don't know what to do once they have it.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: