Tuesday, January 22, 2019

Coding & Ethics: Where Do Our Views Come From?

My husband was telling me about a problem in website coding. Rather than writing code from scratch, people use little packages of code that already exist. This obviously has benefits. Then someone will package up *those* packages, and other people will use that package-of-packages. You'll end up with some code you really need in there, and a lot that you don't.

Someone visits your site. Often, websites don't hold all that code themselves. When you see the website, a lot of what you're seeing is created by those packages of code, but they're being sent to you not from the website, but from the webpage (git-hub page) of the many people who created the original bits of code. Time passes. The creator of one bit of code loses interest in maintaining it, and it is no longer compatible and starts causing problems in the packages that include it. Someone tracks the problem and asks the creator to fix it, but they're busy. So then another person volunteers kindly to take over maintenance of that code. Very few people notice. The kind volunteer is not really all that kind. They fix the bug so it works, but they now have access to code that's being called up by thousands of websites. They incorporate malware into it.

I think this is an instance of something that happens commonly throughout society. The great thing about society - the reason we can live such great lives, unlike other animals - is that we specialise, and cooperate. There's a certain amount of trust involved. If we tried to do everything ourselves, we wouldn't get very far. Every so often it turns out that something we trusted was flawed, accidentally or maliciously. So it's a vulnerability, but one that's not going away.

The problem is that I think we are doing this more and more with ethics. Tribalism can cause it, but it can happen anyway, because few of us have the time or energy to really get to grips with all ethical questions. So we see that groups of people we like hold a view, and we think 'that must be the right view, I'll think that too'. We usually don't think that consciously, we just adopt views. And as with coding, this has benefits. But also vulnerabilities. Do you really know why you hold the views you have?