Sandstorm.io 是一个从根本上更简便的方式来运行 Web 应用程序的个人实例。它允许你拥有自己的个人服务器,并通过应用商店界面像在手机上安装应用一样轻松地向其安装应用。 在 Sandstorm, 我们经常谈论隐私、安全和控制你的云数据的必要性。让我告诉你一个秘密:这些并不是 Sandstorm,我们的个人云平台(目前正在 Indiegogo 上接受 Indiegogo 上的资助)的原因。它们只是令人愉快的副作用。
Sandstorm 的真正动机是,并且一直以来都是,使开源和独立开发者能够构建成功的 Web 应用程序。
在当今流行的软件即服务模式中,独立开发根本不可行。人们 仍然这样做,但他们的软件大众无法访问。为了使低预算软件能够成功,并且为了使开源有任何意义,用户必须能够运行他们自己的软件实例,而无需开发者付费。我们在桌面和移动设备上一直都拥有这种能力。当涉及到服务器端应用程序时,托管必须是去中心化的。
但是今天,个人托管仅对那些有时间、金钱和专业知识来维护服务器的人开放。即使大多数技术人员也不愿意这样做,因为它很麻烦。Sandstorm 的存在就是为了解决这个问题,使个人托管对每个人都变得容易访问。
“唯一的解决方案是确保每个人都拥有一个服务器,他们可以在其中安装任何他们想要的软件。”
开源在桌面和移动设备上已经奏效
在我的桌面上,我运行 Debian Linux。我的系统由数千个软件包组成。我有浏览器、文本编辑器、IDE、聊天客户端、办公套件、开发工具、照片编辑器和媒体播放器。值得注意的是,所有这些都是开源的。更值得注意的是,我已经不记得上次我感到需要使用非开源桌面应用程序是什么时候了。
我不是狂热分子。我不会将开源强加于自己,也不会强加于他人。我会使用专有软件,只要它能完成工作,而且我过去也曾花大量时间作为 Windows 用户和 Mac 用户,但如今我在 Linux 系统上最快乐。那是我的个人偏好,并不适合所有人,但考虑到十五年前的情况,我可以做出这个选择,并且可以无痛地运行全开源桌面,这真是太棒了。
即使是 Windows 和 Mac 用户,如今也使用大量的开源软件。据某些衡量标准,现在大多数人使用开源浏览器。VLC、BitTorrent 和其他“独立”开源桌面应用程序即使在非技术人员中也得到广泛使用。移动设备似乎更加充满了开源和低预算的独立应用程序,因为各种移动应用商店使小型开发者能够极其容易地接触到大量受众。
然而,不知何故,今天的网络几乎完全没有开源软件。我每天都使用 Gmail、Facebook、Twitter、Feedly 等应用程序。这些都不是开源的。诚然,这些应用程序通常运行在开源基础设施之上,但这有所不同。大多数专有桌面应用程序都使用开源组件和工具。但是网络应用程序,正如用户所见,几乎总是专有的。
为什么我的所有 Web 应用程序都是专有的?
开源 Web 应用程序是存在的。例如,像 SquirrelMail 和 RoundCube 这样的 Webmail 应用程序已经存在一段时间了。如果你仔细寻找,你可以找到开源的在线文档编辑器、RSS 阅读器,甚至还有一些社交网络。但即使在技术人员中,似乎也很少有人使用这些,可能是因为它们都需要运行自己的服务器,而很少有人有时间、耐心和专业知识来做到这一点。
也有一些成功案例。WordPress 是开源的,并且被广泛用于博客。但这似乎是例外而不是规则。而且这也很值得怀疑:大多数使用 WordPress 的人实际上无法编辑代码,因为他们是通过 WordPress 托管服务使用它,并且只能使用该主机提供的 WordPress 版本。自然,所有主机都可能只使用“官方”版本。因此在实践中,它几乎不是真正的“开源”,而是“可见源代码”——你可以看到代码并请求更改,但只有当你的更改被正式采纳时,你才能使用它们。
为什么没有人使用“独立” Web 应用程序?
即使在 Windows 上,人们也经常安装一些小的开源应用程序来完成工作。需要标记一些 mp3 文件?想要使用一个客户端连接到多个聊天网络?需要解压缩奇怪的存档格式?你可能会使用开源应用程序。有时很难围绕小众目的建立商业案例,但随机的人在业余时间编写的小应用程序却很丰富。但在网络上,情况似乎并非如此。任何具有服务器端组件的重要服务实际上只能由有资金支持的公司运行。
让我描述一个具体的例子:我认识一位名叫 Brad Fitzpatrick 的多产程序员。你可能知道他是 LiveJournal、Camlistore、memcached、OpenID 和其他项目的作者。但我想谈谈他一个你可能没听说过的项目。
scanningcabinet 是一个小型的 Web 应用程序,它可以帮助你整理纸质邮件。你将邮件放入扫描仪,应用程序会扫描它并将其上传到“云端”,在那里你可以稍后访问、标记和搜索它。Brad 在几年前的一个周末编写了这个程序,并将代码上传到了 GitHub。
这个应用程序可能对几乎任何人都有用。但可悲的是,没有人真正可以使用它。要设置它,你必须配置一个服务器(在本例中是 App Engine)并将代码部署到它上面。即使对于像我这样知道如何做到这一点的人来说,这也不是我真正想做的事情。
按照今天的模式,如果 Brad 想要使这个应用程序大众化,他就必须将其作为服务运行。他必须构建多用户支持,确保其安全,部署它并监控它。更糟糕的是,他必须为此付费,这意味着他必须将其货币化,这可能意味着他必须开始分析人们的邮件以建立广告档案,或者设置计费。Brad 显然不想做任何这些事情。
即使他这样做了,谁会使用它呢?你想将你的纸质邮件上传到由互联网上的某个人运行的服务器吗?我当然不会将我的个人数据信任给任何至少没有可识别的组织支持的服务,如果它搞砸了,这个组织会损失一些东西。
问题在于托管。
到目前为止,问题变得很清楚:为了使开源软件有意义,用户必须运行他们自己的实例。软件即服务和开源根本不合拍。如果你无法运行修改后的代码,那就不算是真正的开源,而高门槛则将业余项目或任何不愿被货币化的东西拒之门外。
唯一的解决方案是确保每个人都拥有一个服务器,他们可以在其中安装任何他们想要的软件。他们不一定需要管理该服务器——它可以由朋友或服务运行——但每个用户必须能够安装任意软件。并且该软件必须被安全地沙箱化,以防止有缺陷或恶意软件损害服务器的其余部分。
今天,这在任何实际形式中都不存在。服务器的设置需要时间和技术专长,而交钥匙托管服务只允许你运行固定的软件集。
没有地方可以运行开源 Web 应用程序。
我们正在使去中心化托管成为可能
Sandstorm 是一个 Web 应用程序托管平台,它使非技术终端用户能够安装和运行任意软件。应用程序可以从应用商店下载并一键安装,就像在手机上安装应用程序一样。每个应用程序服务器都在一个安全的沙箱中运行,未经许可,它无法干扰其他应用程序。
我们经常谈论隐私、安全和控制,但在我看来,这些一直是 Sandstorm 模式令人愉快的副作用。我启动这个项目的主要动机一直都是为了支持开源软件、业余项目、小众应用程序和独立开发者。即使与 Gmail 或 Facebook 相比,此类别中的每个单独的应用程序最终的影响都很小,但通过不为这些应用程序提供平台而损失的集体价值是巨大的。我们需要开源软件来填补大公司不感兴趣的利基市场,并推动他们认为风险太大的边界。我们需要可以未经许可进行调整的软件,以便在不从头开始的情况下尝试新事物。坦率地说,在我看来,今天我们在网络上没有真正做到这一点是荒谬的。
帮助我们实现目标
我们已经走了很长一段路。我们有一个演示,它已经实现了我们正在谈论的大部分内容。但我们正接近我们自筹资金能力的极限。我们可以将 Sandstorm 投入生产,但我们需要你的帮助。
请查看我们在 Indiegogo 上的众筹活动,并广而告之。
最初发布在 Sandstorm 新闻博客上。经许可转载。
5 条评论