Difference between docker swarm, kubernetes and openshift

In this post, i will describe the difference between docker swarm, kubernetes and openshift:

Docker SwarmKubernetesOpenshift
Easy and fast setupOpen source and modularManages kubernetes
Works with other existing docker toolsRuns on any Linux OSHelps abstract kubernetes limitation such as network features
Lightweight installationEasy service organisation with podsRed hat OS (except for dev) is mandatory
Open sourceBacked by years of expert experienceSecurity feature are better managed than in kubernetes
Limited functionalities with the Docker APILaborious install and configurationSmaller community than Kubernetes one
Updates for swarm must be schedulesUpdates for kubernetes are monitored and controlled progressivelyOpenshift lets kubernetes handel the updates
Limited fault toleranceIncompatible with docker cli and docker compose