middleware vs middlewares

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.")