FLOSS Cloud Computing Platforms: Difference between revisions

From P2P Foundation
Jump to navigation Jump to search
(replaced MailPile (which actually runs on the desktop) with Mail-in-a-Box)
(typo)
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
== thoughts on the origin of the phrase "cloud computing" and what it refers to ==


== document and file storage, synchronization, transfer, and publication ==
A list of free code software ("FLOSS") for self-hosting or community-hosting "cloud" services can be found at:
Common proprietary examples: DropBox, GoogleDrive, OneDrive
[[Free Code Self-Hosting Packages]]
 
Free code packages:
* [http://www.kloudspeaker.com/ KloudSpeaker]
* [https://owncloud.org/ ownCloud]
* [https://reep.io/ Reep]: unlike most server apps in this categroy, Reep ("peer" backwards) uses WebRTC protocol to initiate a session between two peers, then leaves them to it. Can be used to download a permanent copy of a file, or if its an audio/ video file, it can be streamed.
* [https://www.seafile.com/ SeaFile]
* [http://sparkleshare.org/ SparkleShare]
* [https://www.syncany.org/ Syncany]
* [https://syncthing.net/ SyncThing]
* [https://tahoe-lafs.org/trac/tahoe-lafs Tahoe-LAFS]
 
== document editing ==
Common proprietary examples: GoogleDocs, Office365
 
Free code packages:
* [http://etherpad.org/ EtherPad] (Apache 2.0): collaborative document editing only
* [https://firepad.io/ FirePad]("[https://opensource.org/licenses/MIT MIT]")
* [https://www.collaboraoffice.com/press-releases/icewarp-and-collabora-are-working-on-libreoffice-online-document-editing-an-open-source-alternative-to-google-apps-office-365/ LibreOffice Online]: still in early stages of development, but based on the existing LibreOffice codebase gives them a headstart, and a solid development infrastructure.
* [http://www.onlyoffice.com/ 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 [http://www.onlyoffice.com/blog/2016/10/onlyoffice-desktop-editors-go-open-source/ released in 2016].
 
== calendars ==
Common proprietary examples: Google Calendar
 
Free code packages:
* [http://cozy.io/ Cozy]: also offers contacts synchronization and webmail
* [http://www.davical.org/ DAVical] (GPL)
* [http://radicale.org/ Radicale]: also offers contacts synchronization
 
== webmail ==
Common proprietary examples: GMail, Yahoo Mail
 
Free code packages:
* [https://mailinabox.email// Mail-in-a-Box]
* [https://roundcube.net/ RoundCube]
 
== social media ==
Common proprietary examples: Twitter, FaceBook, Google+, LinkedIn
 
Free code packages:
* [https://diasporafoundation.org/ Diaspora]
* [https://gnu.io/social/ GNU Social] (GNU AGPL)
* [https://ind.ie/heartbeat/ Ind.ie Heartbeat]: Client apps are only being developed for [https://ind.ie/blog/focus/ MacOSX and iOS at present], but The [https://ind.ie/ethical-design/ Ethical Design Manifesto] they developed to work under is impressive.
 
== project management ==
Common proprietary examples: Slack, Asana
 
Free code packages:
* [http://kunagi.org/ Kunagi] (GNU AGPL): aimed at software project management using Agile/ Scrum practices
* [http://www.mattermost.org/ MatterMost] ([https://github.com/mattermost/platform/blob/master/LICENSE.txt "MIT" for compiled versions, GNU AGPL or Apache 2.0 or commercial for derivatives])
* [https://www.openproject.org/ OpenProject]: popular fork or RedMine
* [http://www.redmine.org/ RedMine]
 
== platform ==
Combines a number of the packages and functions listed above into a unified package
 
Common proprietary examples: FaceBook, Google
 
Free code packages:
* [http://freedombone.uk.to/ FreedomBone]: developed for [http://beagleboard.org/black BeagleBone Black], can also sit on top of a server OS (eg Debian Jesse)
* [https://freedomboxfoundation.org/ FreedomBox]
* [http://hubzilla.org/ Hubzilla]
* [https://www.zimbra.com/ Zimbra]([https://blog.zimbra.com/2014/06/osi-licenses-zimbra-collaboration-open-source-edition/ GPLv2 backend, Common Public Attribution License v1 frontend])
 
== hardware ==
 
Hardware projects supportive of software freedom and often used as personal "cloud" servers:  
* [http://beagleboard.org/black BeagleBone Black]
* [https://www.kickstarter.com/projects/1598272670/chip-the-worlds-first-9-computer CHIP]
* [https://cloudfleet.io/ CloudFleet]: offers both a hardware device and a software platform offering a range of user services
* [https://www.raspberrypi.org/ Rasberry Pi]
 
== uncategorized ==
 
* Reasonably Smart, open web "cloud computing" platform [https://gigaom.com/2009/01/13/joyent-to-buy-reasonably-smart-creating-scalable-open-source-cloud/ acquired by Joyent] in 2009
* MongoDB (formerly [http://www.10gen.com 10gen])
 
== thoughts on the origin of the phrase "cloud computing" and what it refers to ==


The term "[http://www.gnu.org/philosophy/words-to-avoid.en.html#CloudComputing 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).
The term "[http://www.gnu.org/philosophy/words-to-avoid.en.html#CloudComputing 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 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 [https://en.wikipedia.org/wiki/Blade_server blade server]. Sitting on top of the hardware is the OS (Operating System), usually some [https://en.wikipedia.org/wiki/Unix-like UNIX-like] OS like [https://www.gnu.org/gnu/why-gnu-linux.html GNU/Linux] or BSD. Sitting on top of the OS are the application packages, such as webservers (eg Apache) or listservers (eg Mailman).
To understand how each of the packages listed is used in a "cloud computing" server, it's 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 [https://en.wikipedia.org/wiki/Blade_server blade server]. Sitting on top of the hardware is the OS (Operating System), usually some [https://en.wikipedia.org/wiki/Unix-like UNIX-like] OS like [https://www.gnu.org/gnu/why-gnu-linux.html 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 [http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf NIST definition of "cloud computing"] calls "Software-As-A-Service" and what Richard Stallman calls "[https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html Service-As-A-Software-Substitute]".
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 remote computer, would fit what [http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-145.pdf NIST definition of "cloud computing"] calls "Software-As-A-Service" and what Richard Stallman calls "[https://www.gnu.org/philosophy/who-does-that-server-really-serve.en.html 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.
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 solve 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. The is origin of "in the cloud:, as a marketing term for paying another company to keep your company's private data on their computers, instead of your own.


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".
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 had 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".
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".

Latest revision as of 18:49, 19 May 2019

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

A list of free code software ("FLOSS") for self-hosting or community-hosting "cloud" services can be found at: Free Code Self-Hosting Packages

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 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, it's 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 remote 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 solve 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. The is origin of "in the cloud:, as a marketing term for paying another company to keep your company's private data on their computers, instead of your own.

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 had 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