We hear a lot of terms for software, but what do they all mean?
What is a program vs an application?
What is a service vs a platform?
What is a package vs a library?
What is a tool vs a utility?
What is a plugin vs a module?
What is an enhancement vs an extension?
What is a system vs a framework?
What is a protocol vs a standard?
The difference is in the micro or macro usage. On the left, things are generally smaller and have a more specific use case. On the right are things that have broader purpose and capabilities.
However, it's like the different between a ship and a boat. There is no clear line and things are always changing. These are constructs for describing patterns of machine logic that we interact with. A tool becomes a utility when it has many features. A package becomes a library when everyone uses it.