-5

Below are a few thoughts that I've had relating to a few points in the FAQ that need to be cleaned up by the site administration to prevent confusion when people move between Stack Exchange sites (especially between StackOverflow, ServerFault, and SuperUser). I'm posting similar concerns on the StackOverflow and SuperUser meta sites as well - I want to try to bring to light the problems that I have in navigating the primary trilogy of exchanges.


Today at work, a system administrator came up to all of the developers and told us there was a problem with the servers. But at the time, we were all using them just fine. Apparently, to a sysadmin and a computer scientist or software engineer, "server" means something very different. What he was trying to say, very simply, was that the cooling system had to have work done and they were going to shut down the nonessential servers (the dev servers) for a bit to fix it. Then I thought of my problems yesterday where I was arguing that MySQL Server is the server and not the hardware that it is installed upon.

The standard definition for server from my computer science and software engineering textbooks is:

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.

This is the definition that I'm used to. However, to him, a server is the physical box that holds the hardware, the hardware inside it (motherboard, RAM, fans, HDDs), the enclosure, rack, and cooling system. On top of this, the software (database server, web server, application server) is also included. Saying "server" to him would imply that there's a problem with anything in that list (and some things that I'm probably missing, too).

When I was looking for a place to ask my question about MySQL Server, I saw "server" in the FAQ and was like "hey, I've got a server installation/configuration problem" and found my site to ask it. Even though I'm a competent, well educated, and experienced software engineer, I have very little experience running networks and hardware (although I have helped out sysadmins in the past when they were short handed and needed to get some stuff going). With people coming from StackOverflow and SuperUser through ServerFault and seeing certain words that to them mean something very different, they can get confused like I was and post things on the wrong site. That only leads to headaches, confusion, and (most importantly) no answers.


I'm not a fan of the term "professional capacity". What exactly does that mean? If you are going to keep that phrase, it has to be defined.

Does that mean you have to get paid for it? I look at StackOverflow and it's for people who are enthusiasts as well as professionals. I could have a fully loaded 42U server rack in my basement where I'm running my own telephony server, file servers, web servers, database servers, print servers, and so on. But I'm not paid to do this, and such a powerful setup really isn't appropriate for SuperUser (especially if I'm using commercial-grade hardware). When I think of a SuperUser setup, I think of a handful of computers networked together in a home or small business using the kind of equipment you can walk into Best Buy or Staples, purchase, and walk out with.

I think that "professional capacity" should be reworded to use some kind of phrasing to describe the type of system(s) that you are running. I'm not sure exactly what terms are best, but "commercial-grade", "enterprise", and "corporate" come to mind as possibilities that I've heard used. The exact term is going to have to be decided by people who know more about how to define a system than I do.


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 suppose this ties into "professional capacity". Where do you draw the line between a SuperUser home/small-business network and a...whatever you want to call a larger network?


The FAQ says that scripting is allowed for discussion here. But where you you draw the line at scripting to programming? I know for a fact that questions about bash scripts and Windows batch scripts have been posted and accepted at StackOverflow. My personal feeling is that it would depend on the task you are performing and the question could potentially belong on either SO, SU, or SF depending on what your end goal is. This needs to be more defined.


As new Stack Exchange sites open, I feel that it is important to potentially develop partnerships with them to offset some loads. A particular Stack Exchange that covers a subset of system administration/network administration/IT topics should be linked to in the official FAQ to ensure that people can get to the best possible venue to answer their questions. The topicality of each SE that is linked to should be described clearly (without ambiguity), but concisely.


StackOverflow Meta Post

SuperUser Meta Post

2 Answers 2

4

"Server" is nebulous to us sysadminly types as well. In the large majority of cases what we're talking about is a particular hardware/OS combination, with some forays into dedicated application servers ("The Oracle server"). It comes out of the fact that there is no widely accepted way to lexically discriminate between Server (subtype:Hardware) and Server (subtype:database, subtype:Oracle). You can have servers on servers, so it all gets lumped into 'Server'. Software Engineers build servers out of software, Sysadmins build Servers out of Hardware in order to run Software servers, and sysadmins may end up running those servers as well.

'Server' is highly imprecise when you get down to drawing lines between things like Apache and CentOS.

Where things get really fuzzy is where System Administrator and Application Administrator cross over. In small shops, one person may be doing everything from installing Office 2010 to making sure the PHP/MySQL environment is up to snuff for the one developer in the company. In larger shops that role may be covered by five different people (desktop tech, hardware/OS person, network person, DBA, Web Technology person), three of whom have different concepts of where Server ends and Application begins.

Which is a long way of saying that for StackOverflow, where there is a preponderance of people with formalized Computer Science education, the ServerFault definition of Server can be described in rather precise terms (to a point). On SuperUser, where formal CS training is a very small minority, a more common-sense based definition of Server can be used. Zoredache's verbage is a good one for SuperUser.

Constructing one for StackOverflow will take some doing.


Professional vs. casual:

This is the tone question. Is ServerFault for people with a certain minimum competence in their chosen technology, or is it welcoming to people who are just starting out in all of this? We already have a spate of homework questions getting posted. And there is always that case of the genius Windows administrator dipping their toe into Solaris for the first time and getting stuck. We're still arguing this one.


Scripting vs Programing

I myself have noticed that Powershell questions get better answers here than on StackOverflow. The same is probably true for bash scripts. This is one of those gray areas where complexity can be the differentiator. If you're getting parallel execution working, that's probably a StackOverflow question. If you're wondering how to extract a certain kind of data, that's probably a ServerFault question.

It's all a gray area though. People will go to where the experts lurk, regardless of what the FAQ says.

3

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.

Yeah. That's why it's real important that the SF FAQ defines "server" as it means to system administrators (to account for people like me who come here from StackOverflow asking about things that us CS/SE people consider to be servers) and then get SO and SU to change their use of "server" in their FAQs so people don't get confused and wander here when they should be someplace else.

Personally, I think it would be a bad idea to get to nit picky and legalistic about what is on-topic in the FAQ. I think the community moderation and migration works a lot of the time.

If we get overly precise in our definitions we will most likely discourage questions that are on topic, but don't exactly fit the description. Or people will just ignore the description because it is too verbose.

If a new person wants to know they could take 5-15 minutes and review the top ~20-100 questions sorted by votes to get an idea about what is going on. It tends to be far easier to just look at past questions and see what the community allows then it is to try and work out the topic from a short description. But even looking at past questions isn't entirely perfect since some questions where allowed in the startup of the site that would probably be closed/migrated today.

4
  • The definition of server that I provided is THE accepted definition in computer science and software engineering and is pretty consistent across three books that I own, so I really can't argue with it. As for your other comments, I really like the differentiation and emphasis on the task at hand - I think you might have hit the nail on the head, but it's just a matter of making sure that if someone has a question, they know what tasks are best addressed by each community and I think that all three FAQs aren't doing so great at getting that point across. Jul 27, 2010 at 0:44
  • I see your edit. And that's the point I'm making. When I see in the StackOverflow and SuperUser FAQs that I can ask about servers here on ServerFault, my mind goes to the definition of server that I use as a software engineer. But as you can tell from my story in my original posting, it doesn't mean the same thing here on ServerFault. The SF FAQ should reflect the working definition of server as it applies to this site and the SO and SU FAQs should reflect the definition chosen by the SF community. Jul 27, 2010 at 1:04
  • I wasn't disagreeing that it is CS definition, I was am trying to say that the definition is pretty far away from how a system administrators would define what they mean in their day-to-day usage of the work 'server'.
    – Zoredache
    Jul 27, 2010 at 1:04
  • Yeah. That's why it's real important that the SF FAQ defines "server" as it means to system administrators (to account for people like me who come here from StackOverflow asking about things that us CS/SE people consider to be servers) and then get SO and SU to change their use of "server" in their FAQs so people don't get confused and wander here when they should be someplace else. Jul 27, 2010 at 1:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .