Paid for code doesn't last long...

Ranguard on 2006-05-01T11:26:11

Once a year or so I go and have a look at the old websites I used to work on, interested in how they are doing and what's changed. Unfortunatly I've found that the quality of them more often than not seems to have dropped.

Most seem to have switched away from being Perl and are now asp or php, design seems to be a mimumal and it's very easy to see they are just there to make as much money as possible, rather than to give as good a service as possible (I like to think if you do the latter then you get the former).

One site which did Theatre reviews and Tickets, may still have the quality of review content (I can't really tell), but everything else has been farmed out, the tickets are through a branded version of another site, there is merchandise available through another site, and worse yet they're offering 'dating' links through to another site. To top is all off there is no consistency in the navigation as you are sent off to these other sites, and they've got little flashing 'new' tags next to the ticket section - which has ALWAYS been there.

We (London.pm IRC) then started talking about code, and how much of the code we've written is probably not used any more.

Nicholas then made an interesting point:

- I suspect that almost all the code I wrote between 1999 and 2003 has gone that way (not being used/deleted)

- sorry, almost all the *paid-for* code

And that's the same for me - although for me it's between 1996 and 2001 - the only code still around and in action is that code which I did in my personal time or which the company I was at allowed me to open source. I guess the main difference is that paid for code tends to be very domain (e.g. company/project) specific where as code which gets open sourced is more generic.

I think it's just interesting that paid for code doesn't last as long as open source code. I do wonder what would have happened if I was a PHP programmer, or an ASP programmer - would it have made any difference ?


My code lasts

jdavidb on 2006-05-01T13:45:32

Well, some of it, anyway. I'm aware of a few items I wrote pre-1999 or so that I think are still in use. And I'm about to have to evacuate all programs I've written between 2004 and the present from one machine to another, and it turns out there's a lot of other stuff on that machine I didn't know about -- and one item is several daemons I wrote between 1999 and 2001. I've changed jobs twice since then, including once being laid off! (But still managing to get other positions at the same company.)

I remember I took forever to deliver that daemon code because I wanted to get it right and its predecessors had a lot of problems. Apparently I made it rock solid, because I haven't heard about it in four years.

It depends...

Alias on 2006-05-01T23:18:46

There are ways to make the situation better or worse...

Perl has a tendency to be write-only, so that could encourage lack of long-term use.

It could be hard to install and maintain, so that would too...

The thing I LIKE about CPAN is that it imposes maintenance level structure.

That you use POD, that you have dist structures, etc etc.

In my latest couple of projects, I'm doing something similar. Experimenting doing things in a dist-like fashion with a dozen distributions instead of a monolithic structure.

With POD, and stuff...

My hope is that will make the _overhead_ of maintenance low enough that it encourages them to keep using it.

That the approachability of the code is high enough that it's easier for them to get someone inhouse to fix a bug, or spend a trivial amount to somewhere else, rather than junk it.

And of course, using more CPAN and less custom code helps a lot too.

causes of code attrition

nicholas on 2006-05-04T12:53:22

About half of the paid-for code I've written is now dead because the firms I worked for went bust. (e.g. Income £80M, expenditure £143M, result misery! and strangely zero prosecutions for trading while insolvent). The other half I infer is a project that got cancelled. Whereas the non-paid for code I've worked on is installed worldwide on more machines than the Linux kernel.