-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathindex-previous.html
224 lines (168 loc) · 22.2 KB
/
index-previous.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Unhosted: personal data freedom</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="title" content="Unhosted: personal data freedom">
<meta name="description" content="On the unhosted web, data is stored per-user, under the user's control on their remoteStorage. That's where it belongs.">
<!--[if lt IE 9]><script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script><![endif]-->
<link href="css/bootstrap.min.css" rel="stylesheet">
<link href="css/custom.css" rel="stylesheet">
<link href="css/prettify.css" rel="stylesheet">
<link rel="shortcut icon" href="img/favicon.png">
<link rel="apple-touch-icon-precomposed" href="img/favicon-touch.png">
</head>
<body>
<div class="navbar navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a class="brand" href="#"><img src="img/island-website.png" alt="Unhosted" /></a>
<p class="firstapps">
try the first apps!<br />
<!--<a href="http://libredocs.org" class="btn btn-large" target="_blank"><img src="img/libredocs.svg" alt="" />Libre Docs</a>-->
<!--<a href="http://todomvc.unhosted.5apps.com" class="btn btn-large" target="_blank">Todos</a><br/>-->
<a href="http://shared-stuff.github.com" class="btn btn-large" target="_blank">Shared Stuff</a><br/>
<a href="http://jancborchardt.net/taskboard-lite" class="btn btn-large" target="_blank">Taskboard</a><br/>
<a href="http://docrastinate.com" class="btn btn-large" target="_blank">Docrastinate</a><br/>
</p>
<ul class="nav">
<li class="active"><a id="nav-introduction" href="#"><i class="icon-home icon-white"></i> Introduction</a></li>
<li><a id="nav-manifesto" href="#"><i class="icon-bookmark icon-white"></i> Manifesto</a></li>
<li><a id="nav-remotestorage" href="#"><img src="img/remoteStorage-icon.png" alt="" /> remoteStorage</a></li>
<!--<li><a id="nav-community" href="#"><i class="icon-flag icon-white"></i> Community</a></li>-->
<li><a id="nav-thanks" href="#"><i class="icon-heart icon-white"></i> Thanks</a></li>
<li class="dropdown follow">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-eye-open icon-white"></i> Follow<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a target="_blank" href="http://twitter.com/unhosted"><img src="img/icon-twitter.png" alt="" /> Twitter</a></li>
<li><a target="_blank" href="http://identi.ca/unhosted"><img src="img/icon-identica.png" alt="" /> Identi.ca</a></li>
<li><a target="_blank" href="http://joindiaspora.com/u/unhosted"><img src="img/icon-diaspora.png" alt="" /> Diaspora</a></li>
</ul>
</li>
<li class="dropdown participate">
<a href="#" class="dropdown-toggle" data-toggle="dropdown"><i class="icon-user icon-white"></i> Participate<b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a target="_blank" href="https://github.com/unhosted"><img src="img/icon-github.png" alt="" /> Code</a></li>
<li><a target="_blank" href="https://github.com/unhosted/website/wiki/State-of-the-movement"><i class="icon-align-left"></i> Wiki</a></li>
<li><a target="_blank" href="https://groups.google.com/forum/#!forum/unhosted"><i class="icon-envelope"></i> Mailing list</a></li>
<li><a target="_blank" href="http://webchat.freenode.net/?channels=unhosted"><i class="icon-comment"></i> Chat room</a></li>
</ul>
</li>
</ul>
<div id="description">
<h2>Personal data freedom</h2>
<p>A movement to separate web apps from user data</p>
</div>
</div>
</div>
</div>
<p id="ipv6"><a href="http://worldipv6launch.org"><img src="img/ipv6.png" /><br />We use IPv6!</a></p>
<article class="container introduction active">
<iframe width="760" height="416" src="https://www.youtube-nocookie.com/embed/dIFtFJgIQuk?rel=0&wmode=opaque"></iframe>
<h1>Freedom from the web's monopolies</h1>
<p><strong>The web is not as open as it used to be: monopoly platforms formed new proprietary layers on top of it. But we create a better architecture for the web. We break the package deal »you get our app, we get your data« with <a href="http://www.w3.org/community/unhosted/wiki/RemoteStorage" target="_blank">remoteStorage</a>, a cross-origin storage protocol separating application servers from people's documents.</strong></p>
<p>This enables everyone to use various web services but keep their data in one place they choose and trust – their remote storage, their »home folder« for the web. The applications will <em>not</em> run on servers you can't control, but be pure Javascript which runs client-side, in your browser. And app developers don't need to bother about providing storage or managing user accounts.</p>
<p>Technically speaking, we define a protocol stack called <a href="http://www.w3.org/community/unhosted/wiki/RemoteStorage" target="_blank">remoteStorage</a>. A combination of WebFinger for discovery, OAuth for authorization, CORS (Cross-Origin Resource Sharing) for cross-domain AJAX calls and GET, PUT, DELETE for synchronization. We also work on its adoption through developing apps like <a href="http://libredocs.org" target="_blank">Libre Docs</a> and <a href="http://opentabs.net" target="_blank">Opentabs</a> as well as making existing apps and <a href="https://github.com/unhosted/website/wiki/remoteStorage-providers" target="_blank">storage providers</a> compatible. If you speak French, there is also some info on <a href="http://www.framablog.org/index.php/post/2011/08/06/unhosted">Framablog en Français</a>.
<p><strong>Unhosted is a movement by the people, for the people. Everyone can participate, including you!</strong></p>
</article><!-- /introduction -->
<article class="container manifesto" style="display:none;">
<h1>Unhosted: freedom from the web's monopolies</h1>
<p><strong>Unhosted is a movement for strengthening free software against hosted software</strong>. With our protocol, a website is only source code. Dynamic data is decentralised to per-user storage nodes and once user data is unhosted, it can be encrypted to prevent Spying-for-free. This lowers hosting costs, and benefits <strong>scalability</strong>, <strong>robustness</strong>, and <strong>online privacy</strong>.</p>
<h2>Freedom on the web</h2>
<p>Free/libre and Open Source Software (FLOSS) frees us from having to install proprietary software on our terminals. But installable software is losing ground to hosted software (websites). The server software is often open source (e.g. LAMP), but the website itself as a software product is almost always proprietary. There is an obvious reason for this: Even if an Affero license allows us to download the website's source code, only a commercial company can finance the thousands of servers needed to host a successful website. To make things worse, hosted software has more power over its users than installable software, because it forces you to put your user data on servers owned by the same company that publishes the software. If you want to use Google Docs, you have to reveal your work to a Google-owned server (what Richard Stallman calls »careless computing«).</p>
<h2>FLOSS-as-a-Service on top of a commodity infrastructure</h2>
<p>A hosted website provides two things: processing and storage. An unhosted website only hosts its source code (or even just a bootloader for it). Processing is done in the browser, with ajax against cross-origin cloud storage. These unhosted storage nodes can be provided by whoever provides your email hosting: your employer, ISP, university, mobile operator, public library, a hobbyist friend who runs a server at home, a hosting company, etc. They become just like mailservers, BGP switches, fibre links and other commodity infrastructure: independent of which application you run on top of them. To maximize the control of the user over their data, migration from one storage node to another is an integral part of the protocol stack design. Our remoteStorage protocol can be seen as a cross-platform cloud-sync solution; comparable to iCloud on Apple's platform, but for the web.</p>
<h2>Apps & data shouldn't be a package deal</h2>
<p>Most web applications today require users to sign up for an account which also stores their files. Data is held hostage on the application servers and can not be used by other similar applications which might offer other features. Even independent app developers often reluctantly build apps that host user data inside the application. Users might be able to sign in with their Twitter or Facebook account but the data will still be stored on the application server. But applications become more and more client-side through using mostly Javascript, HTML and CSS. To make an app more scalable and able to handle more users, using the power of every browser that connects to it rather than central servers is more scalable. Data storage should then be independent from application development.</p>
<h2>How it works</h2>
<p>We have been working on this for about a year now, and have defined the <a href="http://www.w3.org/community/unhosted/wiki/RemoteStorage" target="_blank">remoteStorage</a> protocol stack as our central value proposition. It works quite simply by combining HTTP, CORS, OAuth2 and Webfinger. On top of this, we have started building <a href="http://libredocs.org" target="_blank">Libre Docs</a> (an office suite) and <a href="http://opentabs.net" target="_blank">Opentabs.net</a> (an online anti-banking tool). The Netherlands are the first country to provide remoteStorage accounts to all their students and academic staff. You can also sign up for a free remoteStorage account at <a href="http://5apps.com" target="_blank">5apps</a> (aimed at developers) or <a href="http://owncube.com" target="_blank">OwnCube</a> (aimed at end-users). We need more developers to start accepting remoteStorage account on their websites. That way, users will be able to use these websites for their software needs, yet still own their own data just like they do with desktop software: the best of both worlds.</p>
</article><!-- /manifesto -->
<article class="container remotestorage" style="display:none;">
<h2>Get your own remoteStorage</h2>
<p>Choose one of the existing remoteStorage providers:</p>
<ul>
<li><a href="https://pagekite.net" target="_blank"><img src="img/provider-pagekite.png" alt="" />
Pagekite</a> offer a fast, reliable way to make localhost part of the Web. They offer a <a href="https://github.com/pagekite/plugins-pyUnhosted" target="__blank">remoteStorage server</a> that you can run on your own computer. This solution is not hard to use, and provides by far the easiest way to 'own' your data, and see what is happening to it, but it does require use of the command line (terminal).</li>
<li><a href="https://owncube.com" target="_blank"><img src="img/provider-owncube.png" alt="" />
OwnCube</a> are a startup who offer <a href="http://owncloud.org" target="_blank">ownCloud</a> hosting. In their ownCloud install they have activated the remoteStorage app, so if you get an account with them (their smallest plan is free), you will also be able to use it as remoteStorage. At the same time, you'll get all the other functionality that is baked into ownCloud.</li>
<li><a href="http://5apps.com" target="_blank"><img src="img/provider-5apps.png" alt="" />
5apps</a> are a startup who are developing an easy way to deploy HTML5 web apps. They are buddies of ours from the Berlin Javascript scene. If you get an account with them, they also offer some remoteStorage, so you can test your own apps with your own account.</li>
</ul>
<p style="clear:left">If you need help, come to our <a href="http://webchat.freenode.net/?channels=unhosted" target="_blank">chat room</a> and let us know. Once you have your remoteStorage account, you can try <a href="http://libredocs.org" target="_blank">Libre Docs</a>, the world’s first application to accept remoteStorage accounts. It's just like a normal web application, but does not host your data – Your documents are stored on your remoteStorage account, under your control.</p>
<h2>Accept remoteStorage accounts in your web app</h2>
<p>We provide a Javascript library for this, called <a href="http://remotestoragejs.com" target="_blank">remoteStorage.js</a>. See how to use it with the <a href="http://tutorial.unhosted.5apps.com" target="_blank">tutorial</a> that 5apps made for it.</p>
<h2>Run your own remoteStorage</h2>
<p>Of course, if you have your server or VPS, then you may also want to run your own remoteStorage instance on there. The easiest way to do this is running <a href="http://owncloud.org" target="_blank">ownCloud</a>. For that, you need just Apache installed with PHP5, and then follow the <a href="http://owncloud.org/support/setup-and-installation/webspace/" target="_blank">ownCloud installation instructions</a>.</p>
<p>Unless you're deploying the latest master, you will need to overwrite <a href="downloads/owncloud/user_webfinger.tar.gz">apps/user_webfinger</a> and <a href="downloads/owncloud/remotestorage.tar.gz">apps/remotestorage</a> subdirectories of your ownCloud install with these latest versions.</p>
<p>Note that you'll need to run your ownCloud installation in the root of your domain (not a subdirectory), the www-data user should have write access on /var/www when you activate both the <em>Webfinger</em> and the <em>remoteStorage</em> apps, you need to enable mod_rewrite in Apache, and you need to set <em>AllowOverride All</em> for /var/www in the Apache config.</p>
<p>Another option is to run <a href="http://github.com/5apps/express-storage" target="_blank">express-storage</a>, a remoteStorage server based on nodejs and redis. It's still under development, and mainly meant for testing purposes.</p>
<p>If you have a Ruby-on-Rails site, you should consider integrating <a href="http://github.com/5apps/liquor-cabinet" target="_blank">liquor-cabinet</a>. It's based on Ruby and Riak, and it's what 5apps use themselves to implement remoteStorage for their users.</p>
</article><!-- /remotestorage -->
<!--<article class="container community" style="display:none;">
</article>--><!-- /community -->
<article class="container thanks" style="display:none;">
<h1>You make Unhosted!</h1>
<p>We are a non-profit movement from and for the community. Everybody, including you, is considered an equal member based on merit and contribution. Our current full-time volunteers are: <a href="http://twitter.com/michielbdejong" target="_blank">Michiel de Jong</a> (Code Communist), <a href="http://jancborchardt.net" target="_blank">Jan-Christoph Borchardt</a> (Design Dictator), <a href="http://melvincarvalho.com" target="_blank">Melvin Carvalho</a> (Transaction Technocrat) and <a href="http://github.com/azul" target="_blank">Azul</a> (Real-time Revolutionary). Unhosted <abbr title="eingetragener Verein">e. V.</abbr> is a registered association in Germany (Amtsgericht Charlottenburg, VR 30665 B).</p>
<form id="paypal" class="donation" action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_s-xclick" />
<input type="hidden" name="hosted_button_id" value="5JX4Z9AZLJMJY" />
<input type="image" name="submit" alt=" " src="img/paypal.gif"
style="height:45px; width:75px; background:url('img/paypal.gif') no-repeat; margin:-2em 0 2em 0;" />
<img alt="" src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif" width="1" height="1" />
</form>
<a id="flattr" class="FlattrButton donation" style="display:none;" href="http://unhosted.org/"></a>
<noscript>
<a href="http://flattr.com/thing/181201/Unhosted" target="_blank"><img src="http://api.flattr.com/button/flattr-badge-large.png" alt="Flattr this" title="Flattr this" /></a>
</noscript>
<h2>Thanks to all the awesome donors & supporters!</h2>
<a class="donation" target="_blank" href="http://nlnet.nl/press/20110909-unhosted.html"><img alt="NLnet" src="img/donor-nlnet.svg"/></a>
<a class="donation" target="_blank" href="http://www.gabrielweinberg.com/blog/2012/03/duckduckgo-foss-donations-2011.html"><img alt="Duck Duck Go" src="img/donor-duckduckgo.svg"/></a>
<p>
<!--A--><a target="_blank" href="http://twitter.com/aschepis">Adam Schepis</a>, <a target="_blank" href="http://twitter.com/aamonnz">Alexandre Monnin</a>, Alex Benik, <a target="_blank" href="http://twitter.com/alexeiras">Alex Eiras</a>, Alex Salvador, Alvaro Rodriguez Dominguez, Andrew Miller, Andy Isaacson, Ayesha Garrett, athinkingmeat,
<!--B--><a target="_blank" href="http://twitter.com/sphax3d">Benjamin Danon</a>, <a target="_blank" href="http://twitter.com/orfaz">Benjamin Fourio</a>, <a target="_blank" href="http://bencharp.com">Benoît Charpentier</a>, <a target="_blank" href="http://bitcartel.com/">BitCartel</a>, <a target="_blank" href="http://romeda.org">Blaine Cook</a>,
<!--C--><a target="_blank" href="http://yagraph.org">Camille Bissuel</a>, <a target="_blank" href="http://twitter.com/cesarob">@cesarob</a>, <a target="_blank" href="http://identi.ca/charlesschulz">Charles-H. Schulz</a>, Christian Weiske, Christophe Drevet, <a target="_blank" href="http://identi.ca/clacke">@clacke</a>, <a target="_blank" href="http://twitter.com/coeibu">@coeibu</a>, <a target="_blank" href="http://crisp.se/">crisp.se</a>, <a target="_blank" href="http://viedma.es/">Cristóbal Viedma</a>,
<!--D--><a target="_blank" href="http://flyingmana.de">Daniel Fahlke</a> (<a target="_blank" href="http://twitter.com/flyingmana">@Flyingmana</a>), Daniel Mota, <a target="_blank" href="http://twitter.com/leidan">Daniel Ripollés</a>, <a target="_blank" href="http://identi.ca/dietrich">Dietrich Ayala</a>,
<!--E--><a target="_blank" href="http://edokoa.com">edokoa</a> (<a target="_blank" href="http://twitter.com/edokoa">@edokoa</a>), <a target="_blank" href="http://twitter.com/edwincheese">@edwincheese</a>, <a target="_blank" href="http://twitter.com/epilepticrabbit">@epilepticrabbit</a>,
<!--F-->Frederic Caufriez, Friedemann Altrock,
<!--G--><a target="_blank" href="http://gabrielweinberg.com">Gabriel Weinberg</a> (<a target="_blank" href="http://duckduckgo.com">Duck Duck Go</a>), <a target="_blank" href="http://garretalfert.com">Garret Alfert</a>, Greg Roodt,
<!--H--><a target="_blank" href="http://hdez.nl/blog">Hans de Zwart</a>, <a target="_blank" href="http://twitter.com/hanshuebner">@HansHuebner</a>, <a target="_blank" href="http://twitter.com/hariseldon78">@hariseldon78</a>, <a target="_blank" href="http://twitter.com/hex29a">@hex29a</a>, <a target="_blank" href="http://hugoroy.eu">Hugo Roy</a>,
<!--I--><a target="_blank" href="http://identi.ca/idoric">@idoric</a>,
<!--J--><a target="_blank" href="http://jancborchardt.net">Jan-Christoph Borchardt</a> (<a target="_blank" href="http://twitter.com/jancborchardt">@jancborchardt</a>), <a target="_blank" href="http://twitter.com/thejtoken">Javier Juarez</a>, <a target="_blank" href="http://jgraph.com">JGraph</a>,
<!--L--><a target="_blank" href="http://lockify.com">Lockify</a>, <a target="_blank" href="http://twitter.com/louisebolotin">@louisebolotin</a>, <a target="_blank" href="http://twitter.com/eyefox42">Lucas</a>,
<!--M-->Marc Laporte, Mark P Sullivan, Markus Schiegl, Martin Holzhauer, Martin Stadler, Mattias Wahlberg, Michał »Vesper« Dziewoński, <a target="_blank" href="http://twitter.com/michielbdejong">Michiel de Jong</a>,
<!--N-->Nils R Grotnes, <a target="_blank" href="http://nlnet.nl/press/20110909-unhosted.html">NLnet</a>,
<!--O-->olav_2, Oluf »Finkregh« Lorenzen,
<!--P-->Pablo Joubert, Pablo López Torres, <a target="_blank" href="http://parkerhiggins.net">Parker Higgins</a>, <a target="_blank" href="http://paulbooker.co.uk">Paul Booker</a>, Peter Rukavina, <a target="_blank" href="http://twitter.com/psvensson">Peter Svensson</a> (<a target="_blank" href="http://greenergrasswebdesign.com">Greener Grass</a>), <a target="_blank" href="http://catwell.info">Pierre Chapuis</a>, <a target="_blank" href="http://identi.ca/ppapadeas">Pierros Papadeas</a>,
<!--R-->Robert Rees, <a target="_blank" href="http://twitter.com/molfie">Rolf Timmermans</a>, Romain Courteaud, <a target="_blank" href="http://twitter.com/RomainPouzol">Romain Pouzol</a>,
<!--S-->Saul Albert, <a target="_blank" href="http://mob.is.it">Silvio Porcellana</a>, <a target="_blank" href="http://identi.ca/sindikat">@sindikat</a>, <a target="_blank" href="http://twitter.com/stgpetrovic">@stgpetrovic</a>,
<!--T--><a target="_blank" href="http://freebase.com/view/en/thad_guidry">Thad Guidry Sr.</a>, Thomas Kahle, Timon Reinhard, <a target="_blank" href="http://twitter.com/tbaldauf">Tobias Baldauf</a> (<a target="_blank" href="http://twitter.com/cgnwebperf">@cgnwebperf</a>),
<!--W-->ww,
and many more …
</p>
<p>
Freely licensed <a title="AGPL" href="http://www.gnu.org/licenses/agpl.html" target="_blank">code</a> & <a title="Creative Commons Attribution" href="http://creativecommons.org/licenses/by/3.0/" target="_blank">everything else</a>.
Hosted on <a href="http://nodejitsu.com" target="_blank">nodejitsu</a>.
Icons by <a href="http://thenounproject.com" target="_blank">The Noun Project</a>.
Logo by <a href="http://edokoa.com" target="_blank">edokoa</a>.
Website built with <a href="http://twitter.github.com/bootstrap/" target="_blank">Bootstrap</a> by <a href="http://jancborchardt.net" target="_blank">Jan-Christoph Borchardt</a>. Feel free to <a href="http://github.com/unhosted/website" target="_blank">contribute</a>.
</p>
<script type="text/javascript">
/* <![CDATA[ */
(function() {
var s = document.createElement('script'), t = document.getElementsByTagName('script')[0];
s.type = 'text/javascript';
s.async = true;
s.src = 'http://api.flattr.com/js/0.6/load.js?mode=auto';
t.parentNode.insertBefore(s, t);
})();
/* ]]> */
</script>
</article><!-- /thanks -->
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/custom.js"></script>
<script src="js/prettify.js"></script>
<!-- »There's something deeper than making money off stuff. Being a part of creating stuff for the universe is awesome.« – Ilya Zhitomirskiy, 1989–2011 -->
</body>
</html>