A server will usually need to support recursive queries from stub resolvers, which are the most common types of DNS client software. Some of the other platforms discussed here may also be viable, but bear in mind that an operating system designed for robust servers is likely to prove a more stable platform for a name server than an operating system designed for the desktop. It is quite common for a server to perform both inward transfers and outward transfers for the same zone. The unique server which performs only outward transfers and no inward transfers for a specific zone, is known as the master server for that zone. The master server for a zone is where changes to the DNS records need to be made.
Most name servers are master for some zones and slave for other zones.
A server is authoritative for the zones that it is either a master or a slave for. A typical name server can be authoritative for hundreds of zones, and large servers are authoritative for hundreds of thousands of zones. Some servers are configured to forward most queries on to another name server, much like a stub resolver does. Name servers inside a firewall typically forward queries to a name server on the firewall. Since these are my personal views on the topic, some information is likely to be missing or flawed.