FLOSS Cloud Computing Platforms

From P2P Foundation
Jump to: navigation, search

document and file storage, synchronization, transfer, and publication

Common proprietary examples: DropBox, GoogleDrive, OneDrive

Free code packages:

document editing

Common proprietary examples: GoogleDocs, Office365

Free code packages:

  • EtherPad (Apache 2.0): collaborative document editing only
  • FirePad("MIT")
  • LibreOffice Online: still in early stages of development, but based on the existing LibreOffice codebase gives them a headstart, and a solid development infrastructure.
  • OnlyOffice: pitched as a full web-based office suite, server-side source code was released under the GNU AGPLv3 license in 2014 (according to Wikipedia article), and client-side desktop editors released in 2016.

calendars

Common proprietary examples: Google Calendar

Free code packages:

  • Cozy: also offers contacts synchronization and webmail
  • DAVical (GPL)
  • Radicale: also offers contacts synchronization

webmail

Common proprietary examples: GMail, Yahoo Mail

Free code packages:

social media

Common proprietary examples: Twitter, FaceBook, Google+, LinkedIn

Free code packages:

project management

Common proprietary examples: Slack, Asana

Free code packages:

platform

Combines a number of the packages and functions listed above into a unified package

Common proprietary examples: FaceBook, Google

Free code packages:

hardware

Hardware projects supportive of software freedom and often used as personal "cloud" servers:

uncategorized

thoughts on the origin of the phrase "cloud computing" and what it refers to

The term "cloud computing" fudges together a number of different things, including the use of virtualization to reduce the dependence of an online service (eg webserver) on a single server computer. The most common way usage describes ways for users to access servers on the internet to supplement the computing they do on their own computer. This most commonly involves online storage of user data, across a range of functions (eg documents, calendar, contacts), and synchronization of that data between a number of computers the user works on (eg work computer and home computer; or office desktop, work laptop, and mobile device).

To understand how each of the packages listed is used in a "cloud computing" server, its important to understand the concept of the "stack". At the base of the traditional server stack is the computer, the physical hardware all the server software runs on, which can be anything from a home PC to a high-end blade server. Sitting on top of the hardware is the OS (Operating System), usually some UNIX-like OS like GNU/Linux or BSD. Sitting on top of the OS are the application packages, such as webservers (eg Apache) or listservers (eg Mailman).

This can be a little confusing, as when people say "a webserver" they may be referring to a webserver application package, or to a server computer dedicated to running a webserver package. In theory, a server computer can run a number of server applications at once, so the same computer could be a webserver, a mailserver, a listserver, and an IRC chat server, for example, although how well this work in practice depends on the number of people trying to use each of these services at once. A server package that manages file storage, calendar, messaging, or webmail,running on top of a traditional server stack on a home computer, would fit what NIST definition of "cloud computing" calls "Software-As-A-Service" and what Richard Stallman calls "Service-As-A-Software-Substitute".

In the early days of the internet, organisations would run a server for the use of their own members, and one server computer, sitting in a broom closet in the office, would be adequate to offer a range of services as described above. As internet access became commercialized, and especially as more users had access to broadband, it became harder for one server computer to meet the resource demands of its webserver, and still provide reliable support for the users of its other services. The phrase "SlashDotted" was coined to describe a webserver being overwhelmed by a spike in requests for web pages, after being featured on popular geek news site SlashDot.org. The increase in spam email created similar problems for server computers running mailservers. Buying more powerful hardware or using one server computer for each service could solves these problems, at least temporarily, but this made it costly and troublesome for organisations to run their own servers, which along with the stress hosting more powerful servers put on their internet connection, led to the rise of server hosting in datacentres as a commercial business.

Datacentres began as places for organisations to co-locate servers they owned in a secure, temperature-controlled building owned by a hosting company, with an internet connection that with large upload bandwidth. It made sense for smaller organisations to lease the surplus capacity of another organisation's server ("shared server"), and run their server applications on that, rather than owning their own server computer. Offering shared servers on their own server computers then became another revenue source for the hosting company that ran the datacentre. This is what the NIST definition calls "Platform-as-a-Service".

As websites began to evolve from collections of static HTML pages to more complex "web applications" like search engines and particularly webmail and chat (eg web-based IRC clients), it became harder for even the most powerful server computer to keep up with users demands on popular websites. The solution to this problem was "virtualization" or "virtual machines"; simulating a complete server computer in software, then running that "virtual server" in such as a way that multiple server computers could contribute their resources to serving its users when needed, but no server computer's resources are tied up by the virtual server when it has no users. Leasing the use of virtual servers to organisations that wanted to be in control of their own server right down to the OS, but with the performance and cost advantages of virtualization, then became another revenue source for hosting companies. This is what the NIST definition calls "Infrastructure-as-a-Service".

--Strypey (talk) 10:46, 21 March 2016 (UTC)

See also: Free Code Self-Hosting Packages