Shareaza
Encyclopedia
Shareaza is a peer-to-peer file sharing
Peer-to-peer file sharing
P2P or Peer-to-peer file sharing allows users to download files such as music, movies, and games using a P2P software client that searches for other connected computers. The "peers" are computer systems connected to each other through internet. Thus, the only requirements for a computer to join...

 client running under Microsoft Windows
Microsoft Windows
Microsoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...

 which supports the gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

, Gnutella2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

 (G2), eDonkey
EDonkey network
The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

, BitTorrent, FTP
File Transfer Protocol
File Transfer Protocol is a standard network protocol used to transfer files from one host to another host over a TCP-based network, such as the Internet. FTP is built on a client-server architecture and utilizes separate control and data connections between the client and server...

, HTTP and HTTPS network protocols and handles magnet links, ed2k link
Ed2k URI scheme
In computing, eD2k links are hyperlinks used to denote files stored on computers connected to the eDonkey filesharing P2P network.- General :...

s, and the now deprecated gnutella and Piolet links. It is available in 30 languages.

Shareaza was developed by Michael Stokes until June 1, 2004, and is now maintained by a group of volunteers. On June 1, 2004, Shareaza 2.0 was released, along with the source code, under the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (GPL), making it free software
Free software
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do...

. , Shareaza ranks 12th on the SourceForge all-time download statistics. The latest version, 2.5.5.0, was released on May 29, 2011.

Multi-network

Shareaza can connect to gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

, G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

, eDonkey
EDonkey network
The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

 and BitTorrent. Shareaza hashes
Hash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...

 its files for all networks, and then distributes those hash values on G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

. This allows Shareaza to download one file from several networks at once. When another Shareaza client connected to G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

 finds such a file, it is given the hash values for all networks and can search on the other networks with their respective hash values, which increases the number of sources and the download speed of the file. Shareaza also uses its G2 network to find more sources for torrents.

Security filter

The Shareaza client has some basic content filters including a forced child
Child pornography
Child pornography refers to images or films and, in some cases, writings depicting sexually explicit activities involving a child...

 and optional adult pornography
Pornography
Pornography or porn is the explicit portrayal of sexual subject matter for the purposes of sexual arousal and erotic satisfaction.Pornography may use any of a variety of media, ranging from books, magazines, postcards, photos, sculpture, drawing, painting, animation, sound recording, film, video,...

 filter, and some other optional filters such as a filter for files encumbered with Digital rights management
Digital rights management
Digital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...

 (DRM). Shareaza's security filters can also be extended with user-defined keywords and/or IP addresses. Latest versions of Shareaza allow for the use of regular expression
Regular expression
In computing, a regular expression provides a concise and flexible means for "matching" strings of text, such as particular characters, words, or patterns of characters. Abbreviations for "regular expression" include "regex" and "regexp"...

s and filtering by hash
Hash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...

.
These filters increase the chances of getting the files the user wants and decrease the chance of getting malicious or fake files. The file format used for the filters is an extendable XML schema
XML schema
An XML schema is a description of a type of XML document, typically expressed in terms of constraints on the structure and content of documents of that type, above and beyond the basic syntactical constraints imposed by XML itself...

. The filters are editable inside Shareaza, and can be exported from the application to be shared with others.

Plugins

Shareaza implements a framework for additional plugins. The Shareaza installer ships several plugins. Most of them are used to read and strip off built in metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

 from the files being hashed and convert it to an external XML based format, or to decode multimedia
Multimedia
Multimedia is media and content that uses a combination of different content forms. The term can be used as a noun or as an adjective describing a medium as having multiple content forms. The term is used in contrast to media which use only rudimentary computer display such as text-only, or...

 files for making a preview for other G2 clients. Some others serve the need of a media player inside Shareaza, and enhancements of that media player. Third party
Third-party software component
In computer programming, a third-party software component is a reusable software component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform...

 plugins can also be used, for example, Sharemonkey, which will add a link inside Shareaza when downloading or searching copyrighted material from where it can be legally downloaded.

Skins

The client can have almost all parts of the GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...

 skinned. This includes bars, icons, as well as backgrounds and buttons. In that way, Shareaza can be completely changed with colors, images, new buttons, etc. A basic list of skins is contained in the Shareaza installer package. Other skins can be downloaded in the community forums or found via a search for .sks (Shareaza skin files) in the G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

 network. The skins are zip archives
ZIP (file format)
Zip is a file format used for data compression and archiving. A zip file contains one or more files that have been compressed, to reduce file size, or stored as is...

, renamed with the extension
Filename extension
A filename extension is a suffix to the name of a computer file applied to indicate the encoding of its contents or usage....

 .sks, containing icons and images, as well as an XML
XML
Extensible Markup Language is a set of rules for encoding documents in machine-readable form. It is defined in the XML 1.0 Specification produced by the W3C, and several other related specifications, all gratis open standards....

 file which binds the images and colors with the GUI.

This feature is also used for localization
Internationalization and localization
In computing, internationalization and localization are means of adapting computer software to different languages, regional differences and technical requirements of a target market...

. The language files are XML files, like the normal skins, but not zipped. The XML file contains the translations for a certain part of the program. This enables languages to be easily changed, updated and tested without compiling an entire binary
Binary file
A binary file is a computer file which may contain any type of data, encoded in binary form for computer storage and processing purposes; for example, computer document files containing formatted text...

.

Modes

Shareaza contains 3 user modes. The first one is for normal users. This mode is the default mode and provides a clean, trimmed GUI. Users will not be able to heavily change the settings in this mode, but will be able to make use of the most essential functions, like searching and downloading. The second mode is for power user
Power user
A power user is a user of a personal computer who has the ability to use advanced features of programs which are beyond the abilities of "normal" users, but is not necessarily capable of programming and system administration...

s. It provides more access to network and advanced settings, but can also break your connection to the networks. The third mode is the windowed mode. In this mode, users can see different tabs (windows) simultaneously, providing a lot of control about the things happening. This mode also makes it possible to personalize the look of the client to perfectly fit the needs of the respective user.

IRC

Shareaza contains a built-in IRC (chat) client which allows users to communicate with each other. There are channels in several languages for support and help. These channels are located on the P2PChat servers and can also by joined by any normal IRC client or via a Java addon on the Shareaza homapage.

History

In mid-2002 Stokes released the first version of a gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

 client he had written and dubbed "Shareaza". It was from the beginning a client with the aim of having features other gnutella clients did not have. Over the next two years Stokes coded in support for the eDonkey 2000 network, BitTorrent and a rewritten gnutella-based protocol which he named Gnutella2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

.

On June 1, 2004 Stokes released the Shareaza source code under version 2 of the GNU General Public License
GNU General Public License
The GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....

 (which coincided with the release of Shareaza version 2.0). Shareaza joined LimeWire
LimeWire
LimeWire is a free peer-to-peer file sharing client program that runs on Windows, Mac OS X, Linux, and other operating systems supported by the Java software platform. LimeWire uses the gnutella network as well as the BitTorrent protocol. A free software version and a purchasable "enhanced"...

, Gnucleus, and others as an open source client on the gnutella network.

Since the beginning Shareaza was advertised as "completely free. No ads, no spyware, no guilting you to upgrade to a commercial version", stating that the developers "[couldn't] stand that kind of crap." It has remained as such in each subsequent release.

From the first version Shareaza has supported swarming, metadata
Metadata
The term metadata is an ambiguous term which is used for two fundamentally different concepts . Although the expression "data about data" is often used, it does not apply to both in the same way. Structural metadata, the design and specification of data structures, cannot be about data, because at...

, library management, and automatic file hashing
Hash function
A hash function is any algorithm or subroutine that maps large data sets to smaller data sets, called keys. For example, a single integer can serve as an index to an array...

.

Domain takeover

On 19 December 2007 the project's domain name
Domain name
A domain name is an identification string that defines a realm of administrative autonomy, authority, or control in the Internet. Domain names are formed by the rules and procedures of the Domain Name System ....

, shareaza.com, was redirected to a site claiming to be "The Official Home of Shareaza", promoting the download of a client known as Shareaza V4 (which had become V6 as of October 2009, V7 , and is V8 as of November 2011) unrelated to releases by the Shareaza development team, an iMesh
IMesh
iMesh is a media and file sharing client that's available in 9 languages. It uses a proprietary, centralized, P2P network operating on ports 80, 443 and 1863. iMesh is owned by an American company iMesh, Inc. and maintains a development center in Israel...

 clone with only small graphical modifications, and using Shareaza v1 logo (see the picture above). This client is a network interface for a centralised music shop by Discordia Ltd., and does not connect to any open P2P network such as gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

, G2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

, eDonkey
EDonkey network
The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

 or BitTorrent. Content is limited to the DRM
Digital rights management
Digital rights management is a class of access control technologies that are used by hardware manufacturers, publishers, copyright holders and individuals with the intent to limit the use of digital content and devices after sale. DRM is any technology that inhibits uses of digital content that...

-protected music that can be bought in Discordia's online music store; Discordia is a company based in Cyprus
Cyprus
Cyprus , officially the Republic of Cyprus , is a Eurasian island country, member of the European Union, in the Eastern Mediterranean, east of Greece, south of Turkey, west of Syria and north of Egypt. It is the third largest island in the Mediterranean Sea.The earliest known human activity on the...

, closely related to the RIAA and unrelated to the Shareaza development team. In response the Shareaza development team moved their website to SourceForge.net
SourceForge.net
SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...

.

Versions prior to 2.3.1.0 of the original Shareaza connected to www.shareaza.com to check for software updates. From 1 January 2008 the new owner of the domain shareaza.com, Discordia Ltd. used this update check mechanism to suggest to users that ShareazaV4 (and later ShareazaV5, V6, and V7) was an update to the original Shareaza client. Since version 2.3.1.0, released on 3 January 2008, the original Shareaza has linked to the Shareaza pages at sourceforge.net.

Yahoo, which uses SiteAdvisor to filter their search results, no longer lists domain shareaza.com due to it being listed by SiteAdvisor as a security risk. Other website reputation rating services
Website Reputation Ratings
A Website Reputation Rating Program warns the user what website is good, may be good or bad, or green, yellow, red. These programs are usually installed as an Add-on and is used and displayed while using a search engine...

 , such as Web of trust
Web of trust
In cryptography, a web of trust is a concept used in PGP, GnuPG, and other OpenPGP-compatible systems to establish the authenticity of the binding between a public key and its owner. Its decentralized trust model is an alternative to the centralized trust model of a public key infrastructure ,...

, also rate Shareaza.com as dangerous.

Attempted trademark registration

On January 10, 2008, the new owners of Shareaza.com, Discordia Ltd (iMesh
IMesh
iMesh is a media and file sharing client that's available in 9 languages. It uses a proprietary, centralized, P2P network operating on ports 80, 443 and 1863. iMesh is owned by an American company iMesh, Inc. and maintains a development center in Israel...

 Inc.), filed for trademark registration of the Shareaza name in an attempt to stop the original developers from using the name, claiming that the first-ever use was on December 17, 2007. The Shareaza Development Team have obtained legal representation to challenge the registration and a legal defense fund has been set up.

Version history

v2.3.1.0

Version 2.3.1.0 is the last stable version of Shareaza that supports Windows 9x. It followed 2 days after the new owners of the project domain (see the shareaza.com domain takeover) exploited the updating mechanism to emit a false update message to trick users into installing their fake ShareazaV4 client. v2.3.1.0 is most notable for containing a fix for this security problem.

v2.4.0.0

Version 2.4.0.0 of Shareaza was released on October 1, 2008, with many bug fixes and major changes to provide better stability of the client. It is also the first stable release to include IRC support. Furthermore, major changes to the torrent handling mechanism have been made and Windows 98
Windows 98
Windows 98 is a graphical operating system by Microsoft. It is the second major release in the Windows 9x line of operating systems. It was released to manufacturing on 15 May 1998 and to retail on 25 June 1998. Windows 98 is the successor to Windows 95. Like its predecessor, it is a hybrid...

/Me
Windows Me
Windows Millennium Edition, or Windows Me , is a graphical operating system released on September 14, 2000 by Microsoft, and was the last operating system released in the Windows 9x series. Support for Windows Me ended on July 11, 2006....

 support has been discontinued (the last version working on Windows 9x is 2.3.1.0).

When v2.4 was released the roadmap for the next version (2.4.1.0, a v2.5 release candidate) was set for release around October 1, 2009, to be followed by 2.5.0.0 a month later.

v2.5.x.0

Version 2.5.0.0 of Shareaza was released on October 31, 2009. It is significantly more stable and less resource-consuming than earlier versions. Also, it brings further improvements on the BitTorrent support, such as selective downloading of files contained in batch torrents and download prioritization. There have also been updates to the gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

 and eD2k
EDonkey network
The eDonkey network is a decentralized, mostly server-based, peer-to-peer file sharing network best suited to share big files among users, and to provide long term availability of files...

 implementation, such as extended support for GGEP, large files and chat. The IRC implementation of v2.4.0.0 has been worked over and is now free of the bugs that made it partially unusable in the previous version. Also, download manager capabilities have been extended, Internet Explorer
Internet Explorer
Windows Internet Explorer is a series of graphical web browsers developed by Microsoft and included as part of the Microsoft Windows line of operating systems, starting in 1995. It was first released as part of the add-on package Plus! for Windows 95 that year...

 integration has been added and BugTrap has been included to speed up and simplify reporting crashes.

Version 2.5.1.0 of Shareaza was released on December 1, 2009. It was significantly more stable than its predecessor and more functional due to fixed bugs reported on 2.5.0.0. Improved usability and compatibility of BitTorrent according to most popular service suggestions. It made use of and required the SSE
SSE
-Computing:*Server-sent events, a technology to push content to web clients*Simple Sharing Extensions, a specification that extends RSS from unidirectional to bidirectional information flows*SPARQL Syntax Expressions*Microsoft SQL Server Express Edition...

 instruction set, and thus required at least an Pentium-III or an Athlon-XP processor.

Version 2.5.2.0 of Shareaza was released on February 6, 2010. It brought further improvements on stability. This and later versions were available optionally either as an SSE or non-SSE build to allow the use of older processors, unlike the SSE-only version 2.5.1.0. For this and later releases the SSE-optimized build uses SSE2
SSE2
SSE2, Streaming SIMD Extensions 2, is one of the Intel SIMD processor supplementary instruction sets first introduced by Intel with the initial version of the Pentium 4 in 2001. It extends the earlier SSE instruction set, and is intended to fully supplant MMX. Intel extended SSE2 to create SSE3...

 and requires a Pentium 4
Pentium 4
Pentium 4 was a line of single-core desktop and laptop central processing units , introduced by Intel on November 20, 2000 and shipped through August 8, 2008. They had a 7th-generation x86 microarchitecture, called NetBurst, which was the company's first all-new design since the introduction of the...

 or later, or AMD Athlon 64 or later.

Shareaza v2.5.3.0, released on June 13, 2010, adds internal changes and optimizations; the only significant new feature is a new scheduler
Scheduling (computing)
In computer science, a scheduling is the method by which threads, processes or data flows are given access to system resources . This is usually done to load balance a system effectively or achieve a target quality of service...

 that allows full control over what the application does at a given time while running unattended.

Shareaza v2.5.4.0, released on February 12, 2011, improves the UPnP support and adds limited DC++
DC++
DC++ is a free and open-source, peer-to-peer file-sharing client that can be used to connect to the Direct Connect network or to the ADC protocol...

 support. Also, it features μTorrent compatible peer exchange
Peer exchange
Peer exchange or PEX is a communications protocol that augments the BitTorrent file sharing protocol. It allows a group of users that are collaborating to share a given file to do so more swiftly and efficiently....

, as well as tracker exchange for BitTorrent. Also, it fixes remaining IRC chat bugs as well as a lot of rare crashes.

Shareaza v2.5.5.0, released on May 29, 2011, features further improvements to the UPnP support, as well as DC++
DC++
DC++ is a free and open-source, peer-to-peer file-sharing client that can be used to connect to the Direct Connect network or to the ADC protocol...

 and gnutella
Gnutella
Gnutella is a large peer-to-peer network which, at the time of its creation, was the first decentralized peer-to-peer network of its kind, leading to other, later networks adopting the model...

 updates, enhanced anti-spam protection during searches and multi-file download merging.

Shareaza and Linux

Shareaza can be run under Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 using the Wine
Wine (software)
Wine is a free software application that aims to allow computer programs written for Microsoft Windows to run on Unix-like operating systems. Wine also provides a software library, known as Winelib, against which developers can compile Windows applications to help port them to Unix-like...

 compatibility layer. Although the media player does not work, uploading and downloading work flawlessly.

Currently, there are two software projects that focus on porting Shareaza's functionality to operating systems other than Windows. Sharelin
Sharelin
Sharelin is a terminal peer-to-peer file sharing client for Unix-derived operating systems. It operates on the Gnutella2 network. The project is based at SourceForge.net and was established in 2008. It is since under active development. Features of the Gnutella2 network similar to those of...

is a Gnutalla2 client for Linux under development . It's not based on Shareaza and is not going to have support for P2P networks other than Gnutella2
Gnutella2
Gnutella2, often referred to as G2, is a peer-to-peer protocol developed mainly by Michael Stokes and released in 2002. While inspired by the gnutella protocol, G2 shares little of its design with the exception of its connection handshake and download mechanics. It adopts an extensible binary...

, however it is linked to the Shareaza project as it is being developed as a SourceForge project by one of Shareaza's code contributors. The other project, named Quazaa, focuses on developing a cross-platform multi-network client similar to Shareaza. It is based on the Qt framework and will enable connectivity to the Gnutella2, Ares
Ares Galaxy
Ares Galaxy is an open source peer-to-peer file sharing application that uses its own decentralized supernode/leaf network. It was spun off from the gnutella network in 2002, and is currently hosted on SourceForge.net. Ares Galaxy has a simple, quick access interface with a built in audio/video...

 and eDonkey2000 networks, as well as be able to download from HTTP, FTP, and BitTorrent sources. It was in "the early stages of development" .

Awards and reviews

  • In November 2008, Shareaza was featured on SourceForge
    SourceForge
    SourceForge Enterprise Edition is a collaborative revision control and software development management system. It provides a front-end to a range of software development lifecycle services and integrates with a number of free software / open source software applications .While originally itself...

     as Project of the Month.

  • In December 2009 Shareaza was ranked number 5 in SourceForge.Net's "What's Hot for Windows?" file sharing software ranking with 78% "recommended" (while number 1 was 81% "recommended"). it was in the same position. The ranking is based on user recommendations and opinions and downloads of software from project site.
  • Windows 7 Software Compatibility Testing - Shareaza. Reviews by Lucas Artigas

See also

  • Sharelin
    Sharelin
    Sharelin is a terminal peer-to-peer file sharing client for Unix-derived operating systems. It operates on the Gnutella2 network. The project is based at SourceForge.net and was established in 2008. It is since under active development. Features of the Gnutella2 network similar to those of...

  • Comparison of file sharing applications
    Comparison of file sharing applications
    File sharing is a method of distributing electronically stored information such as computer programs and digital media. Below is a list of file sharing applications....

  • Comparison of download managers
    Comparison of download managers
    List of notable download managers. A download manager is a computer program dedicated to the task of downloading possibly unrelated stand-alone files from the Internet for storage.- General information :...


External links

  • Project homepage on SourceForge.net
    SourceForge.net
    SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...

  • Project forums on SourceForge.net
    SourceForge.net
    SourceForge is a web-based source code repository. It acts as a centralized location for software developers to control and manage open source software development. The website runs a version of SourceForge Enterprise Edition, forked from the last open-source version available...

  • Shareaza Links to Shareaza project and related or interesting pages in Shareaza wiki
  • ShareazaSource, Shareaza-related security and scam awareness information
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK