标准的理念可以追溯到很多年前。虽然竞争是好事,但围绕成熟市场中产品的基本属性进行竞争可能会阻碍客户。当它们发挥作用时——标准的电压、标准的铁路轨距是两个例子——社会从中受益匪浅。特别是质量标准,可以防止供应商以可能有害的方式篡改产品的属性。
当出现疏忽时——例如,在一个应该只有一个标准的领域中承认多个标准的悖论,正如日本在发电方面所做的那样,对其造成了损害——后果可能是严重的。但是,确定一个你可以信任的用于特定任务的标准可能很困难,尤其因为这种选择的经济后果使得相关方为了影响选择而突破道德底线。
软件标准
在软件领域,标准的产生方式仍在演变,并倾向于过早标准化,这源于行业内异常快速的变化步伐。詹姆斯·高斯林 对这个问题进行了有趣的讨论,这源于他多次标准化的经验。他说:
标准经常在任何人进行必要的实验以确定它们是否明智之前就被制定和采用。更糟糕的是,标准在甚至没有编写出来之前就被接受了,这真是一个荒谬的情况。
这种情况是如何产生的显而易见:标准越来越被视为竞争武器,而不是技术稳定器。公司将标准作为一种阻止竞争对手开发有利技术的方式。一旦政治/经济力量观察到技术活动,他们的兴趣就会急剧上升,因为他们看到了一个可能的威胁,必须在它壮大之前加以反击。
自詹姆斯写下这些话以来的十年左右,应对这种趋势的方法是不仅要追求标准,还要追求开放标准。为了创建开放标准,多方在公平、透明、可访问的过程中合法地结合他们的利益和经验,从而产生一个可自由使用的描述,该描述具有多个可互操作的实现。
当然,魔鬼在细节中。对于那些希望在采购规则中规定他们只会购买实施开放标准的软件的人来说,这尤其具有挑战性。我们已经反复看到,特别是当政府采购决定定义开放标准时,要么会发生 职业生涯受限的反弹,要么会出现 一个薄弱的定义,从长远来看,这可能会弊大于利。
定义开放标准
我们如何判断一个开放标准是否真正开放?一种方法是提出“开放标准”的定义并根据其进行评估。许多人都尝试过这样做,并且存在各种质量和复杂程度不同的定义。维基百科关于开放标准的条目 显示了定义的广泛变化。关于该术语的定义有如此多的尝试,这一事实表明一开始就是一个问题。
但是,即使我们能够完美地定义“开放标准”,也只是时间问题,一些有足够动机的一方会玩弄这个系统。事实上,仅仅定义一套规则就足以保证这种情况会发生。每个规则系统都包含着玩弄它并最终颠覆它的游戏。仅仅查看维基百科文章中的定义,就可以看出其作者在游戏方面的许多经验(或在某些情况下的意图)。最常见的问题似乎是供应商对流程的控制以及结果的专利许可规则。
因此,迄今为止,创建普遍接受的开放标准定义一直存在争议,并且在我看来,将来也不可能实现。任何足以让最终用户和买家满意的定义都会被供应商拒绝,因为它会使他们的游戏失效。任何已经被供应商游戏妥协的定义都会被买家拒绝,认为是不够的。任何介于这两个端点之间的定义迟早都会被玩弄和失效。
开放性哨兵
我相信还有另一种解决方案。与其试图定义这个术语,不如看看是什么需要标准是开放的才能生存?这就是哨兵原则——监控一个独立的哨兵,而不是主题本身。动物哨兵已被用于环境监测(例如字面意义上的“矿井里的金丝雀”),因为它们以结构化的方式对许多不同因素在不同尺度上做出反应,而不是测量单个因素。虽然一套规定性规则可以被玩弄,但构造一个伪造诊断哨兵的游戏要困难得多。
在软件标准的情况下,我们理想地希望评估一个标准是否足够成熟以可以进行标准化(根据高斯林的说法),以及是否为安全使用而定义(在专利许可、开放流程、平台独立性等方面)。有很多不同的因素需要评估,大型公司有专家,他们的唯一作用是确保他们符合任何规则的字面意思,而不管其精神如何。
最好的哨兵将是一个由经验丰富且聪明的软件开发人员组成的多样化社区,他们每个人都对标准的各种健康指标敏感,并且集体需要彼此的认可才能继续前进。幸运的是,它确实存在。
开源作为哨兵
这很好地描述了一个健康且功能正常的 按规则开放 的开源社区。当一个标准具有可疑的特征时,最有可能识别出来的地方是在一个致力于其主题领域技术的开源社区中。如果一个标准没有开源实现,或者如果你找到的唯一实现获得了较低的按规则开放评分,则很可能存在问题。它可能太新,太受单个供应商支配,受专利限制,依赖于特定的封闭技术或在许多其他方面存在缺陷。
这就是为什么,除了使用开源的所有 其他软件自由优势 之外,我倾向于向采购政策的制定者建议,他们的规则应优先考虑具有开源实现和围绕它们的开源 共同开发 社区的开放标准。一个没有开源社区实施的标准很可能不是开放标准。
开源项目不必是强制使用的;它们只需要存在并充当开放性的哨兵。开源项目也扮演着第二个角色,假设你的 采购政策允许。它确保始终存在替代任何可能提供的专有解决方案的采购替代方案,这反过来又对你的供应商施加压力,使其保持竞争力,因为你始终有选择。
因此,即使在政治上不适合你强制要求优先购买开源解决方案,至少也要指定它们必须存在以验证你正在指定的开放标准。它可能是拯救你的金丝雀之歌。
[发布于 webmink.com]
评论已关闭。