Sandstorm使运行个人web应用的彻底变简单。它允许你有自己的个人服务器,通过一个app store一样的接口来安装应用,就像往自己的手机上装APP一样简单。Sandstorm—我们的个人云平台(目前在Indiegogo上筹资),我们经常讨论关于云数据隐私、安全和控制的必要性,这些不是Sandstorm存在的原因,只是一些不错的副产品。
Sandstorm一直以来的目标是,使开源开发者和独立开发者开发成功的web应用成为可能。
在今天软件即服务模型来说,独立开发者基本上是无法生存的。他们非常努力,但他们的软件不会被大多数用户所接触到。为了使低预算的软件能够成功,为了使开源得到发展,用户们必须能够在没有开发者的帮助下自己运行软件。这已经在桌面端和手机端实现了,但对于服务器端的应用,每人都有自己的主机才行。
如今,只有拥有时间,金钱以及专业需要的人才能拥有个人主机。甚至很多技术人员都不想因此而烦恼,因为这是一件痛苦的事。Sandstorm的存在就是为了解决这个问题,使每一个人可以简单地拥有个人主机。
“唯一的解决办法就是确保每个人都有个人主机,想装什么就装什么。”
开源在桌面端和手机端
我的电脑运行的系统是Debian Linux,它由几千个包组成。我的应用有浏览器、文本编辑器、IDE集成开发工具、聊天客户端、office组件、开发工具、照片编辑器和媒体播放器,很明显,每一个应用都是开源的。甚至,我想不起来上一次需要用一个不开源的桌面应用是什么时候。
我不是一个狂热之徒,我不会强制自己使用开源,更不会强制别人去这么做。当专用软件能够完成工作时,我就会用专有软件。过去很长一段时间,我是Windows和Mac的用户,但是现在我只对使用Linux系统感到快乐。这只是我的个人喜好,并不适用每个人。相较于十五年前样子来说,现在我可以很好的使用一个开源的桌面是多么了不起。
很多Windows和Mac用户现在也用许多开源的软件。据统计,目前大部分人都使用开源的浏览器,甚至在非技术的人群中,像VLC、BitTorrent和其他独立的开源桌面应用也都被广泛应用。由于多种多样的手机应用商店使得小型的开发团队相当容易接触大量的用户,所以手机端有更丰富的开源应用和低预算的独立应用。
然而,不知为何,目前web上缺很缺乏开源软件。我每天用的应用,像Gmail、Facebook、twitter、feedly等,这些都不是开源的。当然,这些应用运行在开源的框架上,但这和开源还是不一样的。大多数专有桌面应用利用了开源的的组件和工具,但是web应用,即用户看到的那些,几乎总是专有的。
开源的web应用也存在,例如,webmail应用,像SquirrelMail和RoundCube已经出现了一段时间了。如果努力寻找,可以找到开源的在线文本编辑器、RSS阅读器,少数的社交网络,即使在技术人员中,基本上找不到人用这些,因为很可能得需要在自己的服务器上运行,没有人有时间、耐心和专业知识去用。
有些成功的例子。WordPress是一个开源软件,广泛应用在博客里,这个应用外起来是个例外。问题在于,多数用WordPress的人并不能去编辑代码,因为大家是通过一个Wordpress主机服务来使用的,只能用该服务上的版本。自然,所有主机可能只用“官方”版本。所以,实际上那基本上不是真正的开源,只能算是可见—你能看见代码并请求修改,但只有当请求被官方接受以后才能进行修改。
为什么没人用独立web应用?
即使在Windows上,人们通常很少安装开源的应用。需要标记一些MP3?想要把多聊天网络连到一个客户端?需要解压一个奇怪的压缩格式?这都可能需要一个开源软件。有时,很难因为一些的小需求就去开发一个商业应用,而一些人在业余时间写的小应用有很多。但在web上确不是这样的,任何需要服务器的有重要应用都只能被有资金支持的公司来运行。
举一个这样的例子。我认识一个叫Brad Fitzpatrick的多产程序员,你可能知道他是 LiveJournal, Camlistore,memcached, OpenID的作者,而我要讨论的这个项目你可能没听过。
scanningcabinet 是一个帮助人们整理纸质邮件的小web应用,当你把纸质邮件放进扫描仪,用这个应用进行扫描,并把结果传到云上,以后就可以在云上阅读、标记、查找。Brad在几年前的一个周末写的这个应用,并把代码放到了github上。
这个应用可以说对任何人都是有用的,不幸的是,没有人会真正地使用它。想要安装这个应用,得配置服务器(这里是APP Engine),还得部署代码,即使像我这样知道如何做的人也不想去做这件事。
在今天的模式下,如果Brad想要大量人去用这个应用,他需要把这个应用作为一个服务来运行,他得支持多用户访问,得保证安全性,得进行部署和监控,更糟的是,他得为此花钱。这就意味着他必须用这个应用挣钱,可能是分析人们的邮件内容来投放广告,或者是设立账单,很明显Brad不想这么做。
即使他这么做了,谁会用呢?你会上传你的纸质邮件到被别人运行的服务器上?我不相信我的个人数据在这些无名服务器上会是安全的,如果搞砸了,数据就会丢失。
问题在于主机
问题变得清晰了,对于开源软件,想要用得好,用户必须运行自己的那个。软件即服务和开源在一起时没意义的,如果不能修改代码,那就不是真正的开源,这个高门槛阻碍了兴趣项目和不想获利项目。
唯一的解决方法就是确保每人都有一个服务器,可以装任何想用的软件。用户不需要管理服务器,可以由朋友或组织来管理,每一个用户都可以安装任意软件。这个软件必须在安全沙盒中,阻止有bug的软件的和恶意的软件影响服务器的其他部分。
现在,没有实际可用的东西存在。安装服务器需要时间和技术经验,一站式托管服务只允许运行一组固定的软件。
开源软件没有地方运行。
我们正在实现分布式主机。
Sandstorm是一个web应用主机平台,使没技术的终端用户安装任意的软件。应用可以是从应用商店下载的,点击一下就能安装,就像在智能手机上安装一样。每一个应用服务在一个安全的沙盘内,没有允许的情况下,不能影响其他的应用。
我们围绕隐私、安全和控制讨论了许多,但对我而言,这些都是Sandstorm的模式下的好的影响。开始这个项目的主要目的一直是使开源软件、业余项目、小应用和独立开发者得到发展。尽管每个个人应用和Gmail或Facebook这样的应用相比影响终究是小的,但是不给这些应用一个平台,全体应用加起来的损失是巨大的。
我们要用开源软件来满足大公司们不感兴趣和有风险的小需求。我们需要可以不经允许就能被修改的软件来开始新东西,而不是从乱写开始。现在web上没有这些软件,这对我来说很荒谬。
帮助我们前进
我们已经努力了很久了。我们有一个demo,能实现我们讨论的大部分内容。我们已经到达自筹资金的上限了,我们能把Sandstorm做成产品,但我们需要帮助。
请看看我们在indiegogo上的活动,并进行宣传。