does lack of type declarations make Python unsafe?

Alex Martelli aleax at aleax.it
Tue Jun 17 12:00:58 EDT 2003


Moshe Zadka wrote:

> On Tue, 17 Jun 2003, Alex Martelli <aleax at aleax.it> wrote:
> 
>> Good thing your job isn't accounting
> 
> Right
> 
>> -- if you tried putting, on a
>> company's balance sheet, the source code it owns under "liabilities",
>> rather than under "assets", you'd be in for malpractice lawsuits to
>> dwarf Enron's (tax authorities might be particularly likely to take
>> a dim view in the matter).
> 
> And *that's* the reason it's a good thing my job isn't accounting?
> [What do you think those "salaries for people who maintain the source" and
> "various developing environments" expenses *are*, if not the translation

<sigh> the salaries for gardeners and the expenses for fertilizer do
*not* mean that a garden owned by a corporation is a liability of that
corporation -- it's still an asset.  It's quite normal that there may
be expenses connected to maintenance of an asset (and different fiscal
regimes define ordinary and extraordinary maintenance in slightly
different ways, as well as, in some cases, 'required' versus 'optional'
maintenance), but those, of course, do not change its asset-nature.

> to accounting-lingo? How come we weren't sued for malpractice when my
> bosses authorized me to delete heaping gobs of code? Just because

If you didn't keep an archival trace of the previous versions (e.g.
with CVS, subversion, or the like), then I guess you're lucky you have
friendly and accomodating stockholders and/or auditors.  Disposal of
some assets is a normal procedure, of course, but you don't just take 
them to the middle of the sea in the night and dump them there -- you
need an audit trail for that (partly depending on your local
jurisdiction's inventory regulations, of course).  Consider for
example a restaurant which at the start of a given business day
has in its inventory 3 Kg of truffles: these are assets ("stock in
trade" is the common term).  At the end of the day, it's possible
that, say, 1 Kg of the truffles has been used in preparing various
delicious dishes for the restaurant's customers.  On closing for the
night, the restaurant's stocks are subject to routine inspection and
it turns out that 0.5 Kg of the remaining truffles have spoiled and
should be disposed of.  No problem: quite an ordinary operation.  But
still, an entry must be made in the books recording the disposal of
such and such an amount of goods due to spoilage.

And if you think that the possibility of spoilage (and thus of needing
disposal), or the need for maintenance (e.g. cleaning superficial
warts that may develop on the truffles' surface, to avoid some more
of them spoiling and needing disposal) means the truffles owned by
the restaurant are "a liability", rather than an asset of the firm,
then we're not dealing with a lack of understanding of "accounting
lingo": we're dealing with something way deeper!  Stock-in-trade has
cost money and/or effort to acquire; unless it spoils and needs to
be disposed of, it may be used (possibly with further expenditure of
work &c) to generate income for the firm (e.g. to prepare goods or
services for sale to customers); thus, it's an asset of the firm.
The possible need for maintenance and risk of spoilage do not change
this situation one bit!

> translating from sane-speak to accountant-lingo is non-trivial does
> not mean source code is not a liability]

It's not an issue of "lingo" vs alleged "sane-speak".  It's a matter
of common sense, ordinary microeconomics, and somebody trying to be
funny without, it appears, the slightest grasp of the subject.

A liability of a firm is a financial obligation, responsibility, or 
debt.  If the firm owns an asset on which it is legally mandated to
provide ordinary maintenance, then that legal mandate (an obligation
which imposes costs) is a liability (it can generally be shown as
such in your balance sheet, depending on the exact accounting rules
that may apply in your jurisdiction), but that does not change the
nature of the asset as such (it may offset its _value_, but that's
another issue).  When the maintenance is not mandatory by law, then
it's quite iffy to consider it a liability -- "ordinary operating
expense" is the only classification that makes _sense_, although it
may be possible to play (perhaps-legal) tricks to doctor the balance
sheet anyway (e.g., hive off the asset into a legally separate firm
and undertake to provide the maintenance by entering a binding
contract with that firm -- that _might_ let you hide some or all of
the asset's value and perhaps even show a net notional liability,
depending on how you may be required to consolidate balance sheets
and how fast-and-loose you're willing to play with the spirit vs the
letter of accounting principles and rules).  But, tricks apart, an
asset which requires maintenance is NOT a liability!


Alex





More information about the Python-list mailing list