A running program (a process) on a networked computer that accepts requests from programs running on other computers to perform a service and responds to appropriately.
That definition doesn't really fit the typical usage of the word by a sysadmin. By that definition almost every and any computing devices is a server. All your windows computers are servers, your mobile phones are servers, home routers are server and so on.
I don't think there is or can be a single definition that perfectly defines what fits on sererfault. Like obscenity, this kind fits in the I know it when I see it.
If I was to try and describe a server here are some of the criteria that I think may apply.
- A server is not a piece of software running meant to serve a single person at the console.
- Most of the time a server is not running on a desktop operating system e.g. Windows Vista, 7, any Linux with Gnome/KDE/GUI installed.
- A server is not a computer using for desktop applications. Unless it is serving many users at the same time (ie remote desktop services).
- A server may be a computer providing a service for many users like file, print, email, and database.
What are "many" networked PCs? Right now, I have 4 PCs on my network. I know for a fact that 4 PCs is not many. But is 5 many? 10? 100?
I think the quantity is not that important, and the question subject is more important.
For example I think a question about how to manually install MS office on 25 computer really doesn't belong here. But a question about how to deal with key management does. A question about how to automatically deploy office with GPOs, or something else belongs here.
A question about how to use MDT, ghost, partimage to deploy an OS image does belong here even if you have only a couple computers.
But where you you draw the line at scripting to programming?
I think questions about the programming language, (ie how do you define a function, how do you use a control structure) do not belong here.
The scripting questions that do belong in my opinion are more about looking for a code snippet to perform a specific task to many computers.