# Friend (operating system)

The Friend OS or the Friend Unifying Platform is a network based Meta Operating System – a technology that can be used implementing a graphical user interface delivered through a browser, with a back-end that behaves like an operating system. This operating system connects resources and end-user software together in a seamless user experience that can be accessed anywhere. Additionally, it can be customized and prepped for any security requirements and is the first open source cloud operating system that aims to unify web applications and deliver an ecosystem for them to be used across all devices.
Friend OS offers users a device agnostic computing environment accessible via the Friend Workspace, an HTML5 and JavaScript based user interface where file management and applications can be run.
The project was started in 2014 by Friend Software Labs and they delivered their first open source version on GitHub in June 2017.
They announced a partnership with the Golem project in November 2017. Friend will integrate their operating system environment into Golem's distributed computing platform.

## Overview

Friend OS is a multi-user meta operating system. Based on the Friend Core kernel, it is designed to be a complete operating system which will evolve and adapt with information and communication technologies.
It employs a Blockchain based database structure for security, and is developed with decentralised flows of information in mind.
Friend OS is designed to fit the Liquid Computing workflow concept by using a desktop environment and applications that can be accessed via a web browser without the need for any additional plugins, meaning it can run on any device, from a smartphone, to a high end workstation.
It also fits the Web 4.0 outline of being a middleware where the Internet functions like an operating system. Where Friend OS enables more intuitive forms of resource management, or can be used between devices more easily. The term Web 4.0 itself is used to indicate another phase of the internet and World Wide Web — where humans and machines have a more symbiotic relationship. Friend OS fits within its framework, as well as future iterations of the Web, because it supports efficient and intelligent information flows.

## Components
### Friend Core

Friend Core is Friend's kernel. It behaves like a web server and operates as an operating system kernel for Friend applications. It also handles user sessions and resources that are available on the remote server. Friend Core is primarily written in C for speed, which allows it to handle requests on high bandwidth networks with 2ms response times.

#### Features

Friend Core is a small and fast web server with an OS inside of it. Written mainly in C, it provides low-level system calls to its native applications. Friend Core also integrates with various file systems, provides clustering with other core instances via Friend Network and ensures secure user data storage.

### Friend Workspace

The Friend Workspace is the desktop and mobile environment of the Friend OS. It adapts to your device – whether it is a desktop computer, a tablet or a smart phone. It is highly collaborative – with a built-in chat, and an audio and video conferencing solution that's just a click away.
The Friend Workspace allows you to share files and collaboratively edit office documents. And if you're away from the office – it will kindly send you push notifications when you have an important message

### Libraries

Some of Friend Core's functionality is implemented as runtime linked libraries. This allows for the exchanging of pluggable libraries while Friend Core is running. This provides advantages when sand-boxing and handling decentralised data flows.

### Modules (Node.js/PHP/Python)

Friend Core is modular. The modules extend the system with any functionality required by applications on the server side. The modules can be written using many programming languages like Node/JavaScript, PHP, Python, Perl or Java. The modules are user and group permission sensitive, allowing for various degrees of access control. Using a highly optimised core, time to first byte (TTFB) round trips are kept to a minimum.

### File System Drivers

Friend Core provides a file system driver API that allows developers to build support for any file system or standards-based web resource using several programming languages. A DOS driver implements basic functions for reading and writing to various remote and cloud service disks such as Dropbox, Google Drive, SAMBA, and others.

### Friend Network

Friend Core servers form a network between them for increased scalability, access to computing power, additional services and resources.
Friend Network can also provide an open client-side/server-side decentralised and distributed supercomputing network which allows users to share resources and form workgroups. This one is owned, run and governed by token holders, and can act as auxiliary infrastructure for businesses and organisations.

### Frnd Token

A global network needs an immutable bookkeeping system. The FRND Token uses Blockchain technology to trace all transactions in the Friend Network. And it adds a logic layer that can be utilised to form contractual relationships between users and vendors. It allows for decentralisation of the Friend Sky Computing network.
Friend runs a variety of applications both natively and via remote sessions.

## Applications
### Web Suite

Friend provides you with a Workspace and full office suite and connectivity to MS-office, GSuite and other comparable cloud services. It gives you complete freedom to choose where your data is processed and where it is stored. Easily drag and drop between all applications – it's never been simpler to multitask online.
Our Document, Presentation and Spreadsheet apps run on any device while letting you choose where you want to store your documents.
Friend comes with a flexible suite of file systems that lets you store data both on-premise and using your preferred storage provider. Easy user and storage administration make your everyday life easier while keeping your documents safely under your control.

### Web Applications

Friend OS is compatible with web applications. As the OS is built using web technologies, applications hosted on the web can easily be executed inside the Friend Workspace.

### Friend Applications

The Friend Workspace has its own set of APIs and protocols. Native Friend applications are fully integrated into the operating system and allow features such as pull down menus, managed windows and a range of GUI controls. They are localized therefore they operate much quicker than web hosted or Windows apps.
Friend comes bundled with several applications including a native video, audio and text conferencing suite called Friend Chat.

### Windows Applications

By routing through the Liberator application stack, a user can run Windows applications directly in the Friend Workspace, alongside Web and Friend applications. By integrating through the RDP protocol, the Windows applications act like they are native web applications. Users can perform functions such as transferring files from Friend disk drives directly into their your Windows applications as well as and copy and paste text from within the Friend Workspace.

## Release history

V.1.0.0 - First public open source release.
V.1.1.0 - Second public open source release.
V.1.2.0 - Third public open source release.
V.1.2.4 - Release of Friend Hydrogen