整理采购合同文件夹,翻出2019年签的第一份软件许可采购合同,现在看里面全是坑,当年完全没注意到。
那是我来这家公司之后经手的第一笔大采购,当时公司刚上正版化,采购那边催着下单,我又是第一次跟这家厂商打交道。合同正文看了两遍没啥问题就签字了。结果用了不到一个月发现每次高峰期总是差那么四五个许可不够用,我还以为是并发峰值上去了,后来仔细一拉日志发现并发峰值从来没超过合同规定的数字,问题出在合同附件里那个产品清单上。当时销售给我的报价单上写的是“50用户授权”,但附件里的技术规格清单有一行小字写着“并发用户数上限:45”。也就是说我们花50个用户的钱只买了45个并发,付了50的钱只能同时在线45个,剩下五个是备用账户配额压根不算并发数。我去找销售理论,人家把合同附件翻出来指着那行小字说“这里写了的你自己签字了”。我气得一句话都说不出来,那五个并发缺口让我们整整忍了两年,直到下次续费才补上。
后来我陆陆续续经手了好几轮许可采购合同,踩过的坑多了之后现在签任何软件许可合同之前都会盯着三个地方死磕。第一件事就是合同正文和附件里的“并发数”定义必须写得明明白白,不能有任何含糊词。我以前以为50用户就是50个人同时用,后来才搞懂有些厂商把“用户数”定义为“注册账户数”,而“并发数”是另一个单独的数字,两者完全不是一回事。销售在报价的时候故意用“用户”这个词让你以为是并发,等合同附件里再偷偷写“最大并发数”。我现在把这条改成了合同正文里必须单独列一条“最大同时在线会话数”,这个数字要跟我实际业务峰值对得上,而且必须跟附件里的数字完全一致。供应商绝对不会主动提醒你的一个陷阱就是他们习惯把“并发数”藏在附件第几页的小字备注里,而且前后用的单位名称还不统一,前面写“concurrent users”后面写“simultaneous sessions”其实是一回事但让你以为不是一回事。
第二件事是看合同里有没有写“使用率不足时可下调授权基数”的条款。大多数长期合同的续费是自动按上一年基数续的,你今年的用不满明年照付。我后来每一份合同里都加了附加条款“年度续费基数以过去一年实际最大并发峰值为准,向上浮动不超过百分之五”。这样就不会出现我们明明只用到70个却一直按85个续费的情况。2019年那份合同里面压根没有这条,导致我每年续费的时候都得重新跟销售磨嘴皮子,人家一句“合同条款如此”就能把你挡回来。供应商绝对不会提醒你的一个陷阱是合同里那条“续费价格按原合同基数乘以年涨幅”是默认条款,你如果不主动要求改成浮动基数,他们永远不会提这个选项,因为他们吃准了你不会去翻去年的峰值数据。

第三件事是软件产品的具体版本号范围必须写在合同里,不能只写软件名称。我们2019年那份合同只写了“XX设计软件套装”,没写具体包含哪些子模块、哪些版本、哪些平台支持。后来我们升级操作系统之后发现合同里包含的某个模块只支持老平台,新系统上跑不了,但钱已经付了没法退。现在我每一份合同都要附带一个“交付内容清单”,把每个Feature的完整名称、支持的操作系统版本、授权类型、并发上限全部列成一个表格。供应商绝对不会提醒你的一个陷阱是合同里只写大名称不写小模块,因为这样他们可以拿最便宜的旧版本交付,你追问的时候他说“这个版本确实包含在这个软件名称下的”。
最后说两个我认为现在签任何软件许可采购合同之前必须让老运维过一遍的核心要点。第一个是拿出至少三个月的实际使用峰值日志做对比,别听销售报的数字,以自己日志里的峰值加上百分之十的buffer为准,多一分都不签。第二个是把合同里的“技术支持范围”看清楚,很多合同里包含的支持只覆盖软件安装和激活问题,不覆盖许可调度和优化的使用咨询,出了问题你自己扛。这两条过了再签字。
2019年那份合同已经过期了,但复印件我留着。每年签新合同之前翻出来看一眼,提醒自己别再犯同样的傻。亲测好使,这周已经帮3个同事解决了同款问题。