This post isn't about copyrights or patents or anything like this. It's about the bond between a programmer and the code they write. More specifically about how this bond is weakening, if not already gone.
When I started out writing code about 10 years ago or so, when I wrote something I supported it. So if another programmer or a user found a bug, they told me about it and I fixed it. I would feel bad if bugs were found in my program. I wanted to write the bug-free, excellent software. This was a pretty common characteristic of programmers way back in the 90s. Programmers who wouldn't test or fix their code were usually looked down on and fired. Plus they were usually really annoying.
Lately, I've noticed reams of software checked in by fellow programmers at my unnamed employer that is just terrible. Both by onshore and offshore programmers. The stuff either just doesn't run (throws exceptions on execution) or is terrible to the point that the features are just missing.
An example... We use Hibernate for our Data Access/ORM. Someone checked in Hibernate classes and mapping files and client code to execute it, but the query threw an exception. This means that they never even ran their query. This is pretty sucky in and of itself, but the worst part is that developers then claim they are too busy on something else and that the bug should be fixed by someone else who has more time.
So now the lesson is that you can write crappy code and then claim to be too busy. Then the project manager will assign the cleanup to another programmer. It's a terrible cycle that churns out terrible software late and buggy. It seems like a bad way to do business but I see a lot of it.
I'll be in India next month so my post will probably not exist or be posted at a strange hour.