为什么我创建了开源协议

还没有读者喜欢这篇文章。
Open innovation

Opensource.com

我最近发布了开源协议 (OS Protocol),这是一种可以用来链接到网站代码托管位置的标准。该协议相当简单——它只涉及元标签,大多数网站只需要两到三行代码即可符合标准。

OS 协议基于 Facebook 的 Open Graph Protocol (OGP) 和 Twitter 的 Card 协议。 这两者都在 HTML 文档的头部使用元标签,以帮助他们的爬虫获取关于网站的元数据;站点名称、图片、描述。我设想的是一种不同类型的爬虫,它可以识别页面的来源。

查找来源

为什么有人需要识别页面的来源?目前,如果我在一个网站上看到一个错误,看到一些我想要查看其代码的有趣内容(例如一个很酷的 javascript 过渡效果,或 CSS 模式),或者有兴趣为该网站做贡献,我无法通过编程方式知道该网站托管在哪里。我可以查找“关于”页面,最终找到“贡献”文档,或者我可以谷歌搜索公司或站点名称,看看是否可以找到来源,但在大多数情况下,这些搜索既耗时又没有回报。

有时很容易找到站点的来源。一个很好的例子是由 GitHub Pages 托管的站点,这些站点的 URL 通常是 GitHub 的子域名,或者会有一个横幅写着“Fork this site”。这是一个重大的进步——我只需点击几下就可以看到源代码并克隆或修补它。我设想在每个站点上都实现这种功能。为此,我坐下来思考显示站点托管位置的最佳方式,以供可能的用户使用。

显而易见的解决方案

元标签是一个显而易见的解决方案,无论是在用户方面的大小还是在维护所需的开发工作方面。这是一个完全符合标准的元标签列表的示例

<link rel="profile" href="http://osprotocol.com">
<meta property="os:repo" content="https://github.com/RichardLitt/open-source-protocol">
<meta property="os:rcs_type" content="git">
<meta property="os:src" content="git@github.com:RichardLitt/open-source-protocol.git">

理想情况下,开发人员会开始将此添加到他们自己的站点,并且可以围绕它们形成一个生态系统,鼓励使用。这样的生态系统将类似于 OGP 或 Twitter Cards;一个例子是一个 Chrome 扩展程序或 Firefox 附加组件,如果在一个站点上检测到 OSP,它会用一个浮动按钮通知用户源代码的位置。另一个例子是 Wordpress 的插件,如果站点的代码是公开存储的,它可以帮助用户自动将 OS 协议元标签添加到他们的博客中。对于大多数站点来说,添加代码根本不会花费太多时间;只需将其添加到文档的头部即可。

为什么重要

过去,人们可以通过在浏览器中检查来查看站点的所有源代码,但现在情况已不再如此。大多数站点上的 CSS 都过于复杂,有时会通过缩小器进行处理,或者从 SASS 或 Less 编译而来。Javascript 也是如此,它通常以缩小、压缩甚至 browserified 格式提供。查看源代码对于了解正在发生的事情是必要的。

我希望像 OS 协议这样的东西能够帮助未来的开发人员。它必须得到广泛采用,这是一个雄心勃勃的目标。协议多如牛毛,而制定一个协议会造成一个两难境地;必须有一些立竿见影的用途才能使添加代码变得有价值,但是如果没有大量符合标准的站点,就不会有用途。然而,就该主题本身进行讨论是朝着正确方向迈出的一步。要加入讨论,请访问 osprotocol.com,检查源代码,并查看 GitHub 存储库,它托管在那里(链接在元标签中,当然)。

标签
User profile image.
Richard 是一名全栈开发人员和设计师。他曾在萨尔兰大学学习计算语言学,并在爱丁堡大学获得语言学硕士学位。他居住在他的家乡新英格兰,目前在麻省理工学院从事帮助科学家分享研究成果的工具。

1 条评论

那么,这与 DOAP (https://en.wikipedia.org/wiki/DOAP) 有什么关系呢?DOAP 已经相当成熟,可以作为一种标准来完成(一个超集,据我所知)OS 协议所做的事情?

Creative Commons License本作品根据 Creative Commons Attribution-Share Alike 4.0 International License 许可。
© . All rights reserved.