We're building a SaaS platform at work and have a choice of JS framework to make.
In my last two roles leading dev teams we had similar choices to make and shortlisted React, Angular and Vue. In both teams, we decided (democratically) to select React as our framework of choice and merrily cracked on with that.
I won't bore you with the reasons why, there are a million posts about which framework to choose, and we referred to some of these, set our own criteria of importance and then reviewed and rated each of the contenders before voting.
But, crucially, this was before Cambridge Analytica, the undermining of democracy and live streaming of murder.
Re: Angular, Google also has issues regarding some of its practices, (maybe this is just a defining characteristic of tech unicorns?), for example regarding content on Youtube, if you can monitor and take down copyright infringing content surely you can monitor content designed to spread hate and fear?
But, is it fair to level criticisms of the creators of these tools and frameworks at the tools and frameworks themselves? To put it another way, can you separate the creator from the creation?
What if we take an analogy from art? Whether or not you consider software development an art form (which is an interesting but wholly different topic, let's leave that for another day, or perhaps a dev discuss?) it doesn't matter for the purposes of this comparison; can you separate Michael Jackson's music from Michael Jackson?
It can be easily argued (especially given the recent documentary) that you can't, and there is a very clear case for boycotting his work, at least not providing further remuneration to his estate for this anyway. (Can you listen to a 2nd hand copy of one of his CDs though?)
Can the same be said for use of a software tool or framework? Even if that tool is open source by using it are you lending support to that software, and so by extension to its creator?
Can, or more importantly, should the behaviour and/or practices of the creator of a piece of technology be a criterion for selection of this technology?
And if we do, what weight do ethics have on selection, is this on an even footing with say community support, potential talent pool, extensibility, learning curve, or any other criteria you may choose?
From a purely pragmatic point of view, my head says weigh up the needs of the team, company and users and make the best practical selection, but it doesn't feel right, technology doesn't exist in a vacuum, it is increasingly interwoven in our lives and if we are concerned with improving user's lives through better technology, shouldn't we who are in a position of choice make an ethical one?
What are your thoughts on the ethics of software selection, am I just indulging myself, does this chime with anyone, would love to hear what the community thinks.
Thanks for reading,