I am contributing at an open source project, and we got a message (https://github.com/gin-gonic/gin/issues/252) about our grammar at source code and documentation (we are not native english speakers).

Part of the message:

The plural of "middleware" is not "middlewares" but simply "middleware" -- just like "software."

But then I found some uses of the word, with an s at the end. For example:

Which one is the correct way to say and write it?

Thank you in advance.

3 Answers 3


wares by itself is plural but when it is a compound (software, silverware, hardware, Tupperwaretm) it tends to be singular/non-count. In online forums it frequently appears in the plural (softwares) since non-native speakers often frequent such forums. You'll see the word "informations" used online as well, especially by speakers in whose native language it does appear in the plural. English-speakers tend to use the singular there. (You can Google informations site:stackoverflow.com to find examples.)


"Middleware" sounds better and seems more correct, especially if you're referring to a nonspecific class of items, each of which is an example of middleware. In the counterexample that you found, the page is referring to specific instances of middleware (in this case, those developed under the Rack project). I suspect the Ruby page you found that refers to "Rack middlewares" is emphasizing that it supports Rack's middleware products (and not others). Going further, "Rack middlewares" seems to imply support for only some Rack middleware products but not all of them. If the Ruby project supported all Rack middleware products, it would sound peculiar to say "Rack middlewares" instead of "Rack middleware."

(As a side note, I don't think I will ever use the word "middleware" so many times in one paragraph. That was fun.)


Middleware is plural already, but if you need to emphasize plurality when you use it, you can say something like "pieces of middleware" or "middleware modules." (This is similar to how you can say "pieces of software" instead of "softwares" and "lines of code" instead of "codes.")

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.