所有权与迁移:网站属于您
所有权与迁移
网站属于您。是否继续与 Provelopment 合作,是一个服务选择,而不是技术上的束缚。但这句话必须经得起核实。本页说明:什么属于您,什么由平台使用者共有,交接实际如何进行,以及与另一个服务商合作时会改变什么。
- 什么属于您、什么属于平台、什么登记在服务商账户名下
- 在 Foundation 上运营网站的三种方式,以及交接时实际发生的事
- 软件自由本身为什么不会让网站的运维变得毫不费力
拥有网站意味着什么
网站的所有权不是一个物件,而是一组容易被混为一谈的东西:让网站运行起来的软件、发布其上的文字与图像、描述业务的配置、人们输入的地址、对外提供页面的账户,以及网站连接的外部服务。在实践中,您能多自由地处置网站,取决于其中有多少掌握在自己手里。
所以「网站属于您」这句话不能只靠宣告,还需要解释。即使许可证是永久的,如果域名、托管账户和构建配置登记在他人的名下,您也搬不动。即使文件副本在您手里,如果「把文件变成可用网站的方式」不在这份安排之内,它也派不上用场。无法行使的所有权不是一种状态,而是一个承诺。
Foundation 的设计正是以这一区分为前提的:平台是开放许可证下的共有产品,而在它之上搭建的网站属于您。谁持有对外提供网站的账户,取决于您选择的方式。本页把这两者分清楚。
所有权由什么构成
把常被当作一件事的安排拆成五部分来看。正是这种区分,让交接从临时应付变成有步骤的过程。
平台:共有,并随新版本整体替换
Foundation 自身的实现(运行时、共享外壳、组件与版式、模式、校验、默认配置)属于平台一侧。对所有使用者内容相同,依 Apache-2.0 授权给您,并在采用新版 Foundation 时整体替换。维护这份副本是您自己或您指定的人的责任。项目发布的是平台与手册,而不是针对某个安装实例的维护服务。
网站:配置、内容、品牌
名称、描述、语言、导航、内容与视觉资源不属于平台。它们都以文件形式保存在您的代码仓库里,您可以查看并修改。无论您自己运营还是交给服务商,它们始终属于您。
代码仓库与账户
网站活在代码仓库里,而这个代码仓库可以放在您自己的账户名下。托管与其他服务账户也是如此。真正决定能否掌控网站的,首先是这些账户在谁手里,而不是配置由谁写的。
地址与身份:域名与 DNS
域名是人们输入的地址,它绑定在注册商账户之下。DNS 记录决定该地址指向哪里。两者都只有账户持有人才能修改,所以属于应当握在自己手里的东西。
第三方的权利
网站上使用的东西并非都来自 Foundation。部分函数库与图标有自己的许可证,接入的服务有自己的使用条款。Foundation 不会转授他人的成果,也不会改变这些条件。
三种预期的运营方式
在 Foundation 上运营网站有三种方式。第一,完全自行运营:代码仓库、域名和托管账户都在自己手里,变更也由自己应用。第二,与您选定的开发者或机构合作:工作在自己的代码仓库和账户中进行,对方是执行者。第三,与 Provelopment 合作:按约定获得部署、维护和运维方面的协助。
这三种都不是已经固定下来的服务菜单,也不表示今天提供什么。它们是项目构建方式背后的意图:平台、配置与手册被做成让这三种方式都能成立的样子,而不是让其中任何一种成为唯一合理的选择。
三种方式中不变的是:软件授权给您,内容与品牌属于您,而是否迁移的决定权在您手里。
单站点安装实例,与包含多个站点的安装实例
一个 Foundation 安装实例(Installation)并不一定对应一个网站。Provelopment 的安装实例可以包含多个 Spoke:每个公开主机名对应一个独立站点,它们共用同一套 Foundation 运行时,但各自拥有自己的配置、内容与资源。
这个区分在实践中很重要。安装实例只包含一个站点时,交接相对简单。包含多个 Spoke 时,需要把共用的部分(运行时、共享外壳、模式、构建与部署流程)与每个 Spoke 自己的部分(配置、内容、资源、域名)分开考虑。单独把某个 Spoke 移到另一个安装实例是可行的,但需要先决定共用部分如何处理,工作量比交接单个站点更大。
因此不能说「每个网站都能自动独立迁移」。能否迁移取决于该网站属于哪个安装实例、其中什么是共用的。这是制定交接计划时最先需要弄清的事情之一。
这是意图,不是保证
本页说明的是打算如何运营 Foundation 网站,而不是今天提供哪些服务。商业安排如有需要,会另行书面约定,其中包括范围、费用以及各方责任。本页的任何内容都不构成对服务内容的承诺。
交接清单
交接成功指的是能力的转移,而不是文件的转交。判断标准只有一个:别人能否在不询问前任服务商的情况下把网站运作起来。
- 代码仓库的访问权
包括变更历史在内,是否在您持有的账户中,或者能否收回。
- 域名与 DNS
注册商账户与 DNS 记录。能改变地址指向的只有账户持有人。
- 托管与服务商账户
对外提供网站的账户,包括变更合同、迁移到其他服务商以及终止服务的权限。
- 机密信息与环境变量
API 密钥、数据库凭据,以及网站运行所需的其他取值。这些最容易被遗漏,也最常让交接卡住。
- 外部服务
网站接入的服务清单及其账户、条款,以便提前计划替换或停用。
- 部署流程
把代码仓库变成可用网站的步骤与命令,以及执行环境所需的前置条件。
- 备份与恢复
至少实际恢复验证过一次的备份。仅仅「某处有一份」并不足够。
- 决策记录
无法从配置中读出的判断理由:为什么这样做,哪些部分不应在没有解释的情况下改动。
为什么只有代码仓库副本还不够
代码仓库里只有文件。里面没有域名,没有凭据,没有托管账户,也没有那些留在经手人脑子里的判断。副本可以很完整,但当托管账户的访问权被关闭的那一天,网站就停下来了。
所以有用的问题不是「我们有没有文件副本」,而是「别人能不能把它运作起来」。如果这个答案不清楚,交接就还没有完成。
更换服务商,以及谁负责维护
更换开发方或服务商是常见的决定,工作大部分是实务性的:迁移账户与配置、改变域名与 DNS 的指向、重新写入机密信息与环境变量、在新环境执行部署,并确认页面、表单和跳转与过去一致。
也有需要如实说明的事:结果不会总是相同。能力、价格与工作质量因服务商而异,匆忙的迁移会带来暂时的故障。Foundation 能确证的只有一点——软件的任何一个部分都没有被刻意做成难以迁移的样子。
维护与运维的责任始终落在某个人身上,需要确定的是「是谁」:您自己、您指定的开发者,或按约定承担工作的 Provelopment。重要的不是答案的内容,而是它是决定而不是猜想。工作本身也很日常:更新依赖、应用安全更新、确认备份真的能恢复、监控网站是否可达、检查更新有没有造成损坏。无人打理的网站不会突然崩塌,而是逐渐陈旧,费用最后才一起显现。所以定下来的答案比想当然的答案更省成本。
常见问题
以下回答依据许可证的条件与项目的实际结构,不构成额外承诺。
可以终止与 Provelopment 的合作吗
可以,随时,也不必说明理由。软件已永久授权给您,许可证条件不依赖与 Provelopment 的商业关系。
终止合作后网站会停下来吗
不会——只要必要的访问权已经转到您手里:代码仓库、域名与 DNS、托管账户,以及网站使用的机密信息。这也是上文中清单谈能力而不是谈文件的原因。停下来的是付费支持,而不是软件。
Foundation 平台自身由谁维护
按 Apache-2.0 的条件,由您自己或您指定的人维护。项目发布版本、手册与变更记录,但不提供针对某个安装实例的维护服务。若您希望把这项工作交给其他服务商,那是另一份约定。
必须使用某个特定的托管服务商吗
不必。Foundation 提供的是连接您所选服务的接点,使用哪家服务商由您判断。手册说明的是如何准备部署,而不是该选哪一家。
使用 Foundation 需要向 Provelopment 付费吗
不需要。平台可以依许可证自由使用,使用本身不会与本公司产生关系。向 Provelopment 付费购买的是工作:实施、维护、运维与咨询。对项目的资金支持是另一件事,完全出于自愿。
网站持续运行有保证吗
没有,任何平台都无法作此承诺。可以如实说明的是:授权不能被收回;配置与内容以文件保存、可以自行查看;网站可以在没有我们参与的情况下运作。其余取决于由谁执行的维护工作——包括由您自己承担的情况。
Provelopment 打算如何留住客户
这里的经营方式刻意保持朴素:把付了钱的工作做好,让结果说话。Provelopment 希望客户继续合作的理由,是自己确实有用——可靠的实施、稳定的运维,以及来自不只搭建网站、也长期运作网站的判断力。
因此两种结果对我们都是成功。把网站接回去、自己有把握地运作,是成功——项目兑现了它承诺的事。因为 Provelopment 确实更合适而继续合作,也是成功,而且是更理想的形式:比较之后留下来的,只会是这种关系。
同时如实说明两点。更换服务商并不等于相同的结果:能力、价格与质量各不相同。本页也不是对 Provelopment 未来处境的承诺——这里写下的是软件构建方式真正支撑的意图,而不是关于公司经营状况的保证。
下一步
采用平台并自行运营;了解会承担哪些工作;知道在需要帮助时有哪些选择。