![](/static/253f0d9b/assets/icons/icon-96x96.png)
![](https://lemmy.world/pictrs/image/5170ed37-415d-42be-a3e7-3edd79eda681.png)
Basically it means to not have a special designed hardware for task X but to do much of it in software which gives you more flexibility. And also let’s you configure and use X a bit more flexible.
E.g. software defined networking: If you run several virtual machines on a server, you may define the whole network between them virtually in software instead of doing it on the hardware side. Sure, you still need an ethernet card in your server to connect it to other servers and the internet, but all load balancing, switches, firewalls, VLANs, etc. between the virtual machines (or containers) on your server are virtualized in software - or maybe eben between servers.
Same goes for e.g. Software Defined Radio. In the early days you had dedicated hardware to control the mobile network and the antennas and such. Today you “just” have the antenna and a transceiver that is capable of producing and receiving a wide range of signals and modulations. All encoding, decoding and interpretation the signals is done in software. If your hardware is capable enough, the upgrade from e.g. 4G to 5G may only be a software update for all base stations.
These are all software defined social networking, aren’t they?