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