What is Skype?
The Skype communications system is notable for its broad range of features, including free voice and video conferencing, and its ability to use peer to peer (decentralized) technology to overcome common firewall and NAT problems. The use of end-user bandwidth in the form of supernodes, and the closed source nature of its software which routinely encrypts all network traffic generated by the program, have led to slight concerns by some parties. Independent analyses of the software addresses the latter to some degree.
Each Skype user must have the Skype software running on his/her computer. This software is currently available free of charge and can be downloaded from the company website, but the software is proprietary.
The main difference between Skype and other VoIP clients is that Skype operates on a peer-to-peer model, rather than the more traditional server-client model. The Skype user directory is entirely decentralised and distributed among the nodes in the network, which means the network can scale very easily to large sizes (currently just over 100 million users) without a complex and costly centralised infrastructure.
Skype also routes calls through other Skype peers on the network, which allows it to traverse Symmetric NATs and firewalls, unlike most other VoIP programs (The two most common VoIP protocols, SIP and H323 are usually UDP and point-to-point, making NAT traversal problematic.) This, however, puts an extra burden on those who connect to the Internet without NAT, as their computers and network bandwidth may be used to route the calls of other users. The selection of intermediary computers is fully automatic, with individual users having no option to disable such use of their resources. This fact is not clearly communicated, however, and seems to contradict the license agreement which would limit Skype's utilisation of the user's "processor and bandwidth [to the] purpose of facilitating the communication between [the user] and other Skype Software users".
The Skype code is closed source, and the protocol is proprietary; this has raised suspicion and drawn some criticism from software developers and the VoIP user communities.
The Skype client's application programming interface (API) exposes the network to software developers. The Skype API allows other programs to use the Skype network to get "white pages" information and manage calls.
The Windows user interface was developed in Pascal using Delphi, the Linux version is written in C++ with Qt, and the Mac OS X version is written in Objective-C with Cocoa.
Skype accesses the hard disk several times per minute. This can be verified by observing the HDD's activity LED, or by using a file access monitor. Although those accesses are small, extremely fast, and safe in the short term, they can be harmful in the long term. In particular, the continuous access pattern does not allow the disk to enter "sleep" or "idle" modes while Skype is active, even when offline. This will cause the computer to consume more energy than otherwise, even when idle, but will not affect the lifespan of the HD (a hard disk will actually last longer if left spun up compared to being constantly spun up and down. Spinning down a hard disk is strictly a power-saving feature). Stronger HDD caching does not seem to improve this behavior.
Also, as mentioned above, certain users are selected by software to act as "supernodes". Under certain conditions, Skype is reportedly willing to accept thousands of connections, but is stated to limit itself to 40Kb/s upload and download.