一场关于YUI3/jQuery的精彩辩论(4)
作者:拔赤 来源:taobaoued 发布时间:2010-11-11 12:50:00
将 YUI 从 Yahoo 剥离出来,才真正剥夺了它的战略优势。当 YUI 专注于这些高端项目和某些私有项目的时候,就没办法同时顾及到那些开源社区了。而在 Yahoo 内部,我们可以与 YUI 团队协作无间、齐力断金,所有 YUI 的用户也都从中获益良多。所有雅虎工程师的辛勤劳作在这里汇聚,日积月累的向 YUI 注入能量。
有些人说 Yahoo 不应当“操纵” YUI 的命运,这种论调我就更不能认同了。同样,是 Yahoo 让 YUI 闪光。任何一个开源项目都有一个核心的开发团队,他们的工作除了维护项目源码之外,还负责培养开发者、并为他们提供学习路线图。雅虎为YUI的开发者们支付薪水,这并不能改变项目的本质。我们可以看看在类似机制下亦然如此成功的Mozilla ,Mozilla 核心研发团队控制着 Firefox 的版本发布,Mozilla 给他们支付薪水,并不意味着他们的产品就应该有多糟糕。他们的产品 Firefox 是世界第二大浏览器,而正是这些甘于奉献的工程师对这个产品充满热情,他们的确渴望创造一个最好的产品。当你的本职工作就是在支持这个项目的时候,这是很容易做到的。谁说大公司无法支持开源项目?开源社区生态系统的形成,最终是由沟通、协作和不断超越的精神决定的,而不是所谓的“非盈利”。
再回过头来看 YUI,YUI 开发团队一直都在非常用心的开发第三方组件库,不错,这避免不了成长中的烦恼。时至今日 YUI 已经成果斐然,当然,在雅虎的之外,YUI 还未像 jQuery 那样广受关注,但 YUI 一直都在努力。去年的 YUI 年会 [注2]上,Matt Snider(曾供职于Mint.com)介绍了由他主导开发的一个相当完备的基于YUI2的组件库。我觉得这实在是棒极了,因为他的行为传达了一个信号,任何人只要有自己的想法,都可以向 YUI 开发团队靠拢,而且可以得到 YUI 团队的绝对支持,并把你的组件打包入 YUI。Matt 为他的组件库付出了很多工作,希望 YUI 可以寻觅到更多像他那样的开发者,愿意花时间为 YUI 贡献高质量的代码。同样,YUI Gallery 也一个相当不错的东西:他为开发者打开一扇大门,开发者可以轻松的将他们的组件发布到 Gallery 列表中,并可以将它们推送到 YAHOO 的 CDN 上[注3]。至今,Gallery 已经有227个组件,让非雅虎系的开发者都受益良多。
那么,YUI 是否可以改进社区的形式和贡献代码的模式呢?当然可以。YUI 是不是必须切断和 Yahoo 的联系,才能开始这些改进?不用,YUI3 是一个高质量的产品,在不断壮大的开源社区中有着强劲的生命力,如果硬要指责 YUI 团队的不称职的话,也只是他们忽视了市场营销的重要性,和缺乏行之有效的推广手段,而这两方面正是 jQuery 的强项,这也是 YUI 需要向 jQuery 学习的地方。
总之,YUI 不是 jQuery,任何试图将 YUI jQuery 化的企图都是不对的。那是不是意味着他们二者就是方枘圆凿、不容水火?绝对不是,jQuery 拥有着全球最大的开发者群体,没有哪个开源项目敢说自己不想要一个 jQuery 那样的开发者群体。YUI 也是其中之一,只是 YUI 没必要一定要变成像 jQuery 那样让全球开发者趋之若鹜,更没必要一脚把雅虎踹开,jQuery 仅仅是一个案例,它给了我们如何经营开源社区的一个参照样本,就像我常对我同事说的,问题不只有一种解决方案,真正的挑战性来自于选择适当的策略(而非照抄)来解决特定场景下的问题。如果真的沿着 jQuery 走过的脚印一步一步走下去,对 YUI 来说,这将是一个严重的决策性错误,毕竟,他们二者殊途不同归,各有各的优势,各自都有特定的开发者群体。YUI将会坚持走自己的道路,尽管这离不开孕育滋养它的紫色土壤。但我相信,YUI 一定能做到。
注1:Quora.com 是一款基于问答机制的 SNS,有着活跃的用户群,它和之前的问答网站的最大区别就是 Auora 是基于实名制。
注2:YUIConf 是 YUI 开发者大会简称,一年一次,今年将在11月8日举办,可通过 YUIblog 获得更多信息。
注3:我相信 zakas 的初衷是好的,但就我个人的经验来看,将组件发布到Gallery中的确很简单,但推送到 Yahoo CDN 上就有点费劲了,手续实在有点小麻烦。


猜你喜欢
- cos()方法返回x弧度的余弦值。语法以下是cos()方法的语法:cos(x)注意:此函数是无法直接访问的,所以我们需要导入ma
- 在SQLServer中我们可以用over子句中来代替子查询实现来提高效率,over子句除了排名函数之外也可以和聚合函数配合。实现
- 前言微服务中的日志采集方案ELK(EFK)已经是基本事实标准了,但是单体服务中却没有像ELK这样的成熟采集方案,这与单体性质有关,单体毕竟涉
- 什么是 PycharmPycharm 是目前最好用的 Python 编辑器,自带文本高亮、版本管理、数据库连接、断点调试、虚拟环境和包管理的
- 一、前言python在数组中随机取值有现成的方法,但是要给每个随机值被取到的概率加权重的话,可以参考下面这个方法二、实现方式import r
- 本文实例讲述了JS+CSS实现仿雅虎另类滑动门切换效果。分享给大家供大家参考。具体如下:这是仿照雅虎特色服务的一个Tab滑动切换效果,核心是
- 这边我是需要得到图片在Vgg的5个block里relu后的Feature Map (其余网络只需要替换就可以了)索引可以这样获得vgg =
- 本文实例为大家分享了vue实现触底查询功能的具体代码,供大家参考,具体内容如下1.使用vant-list组件相关内容如下:2.对象绑定值的默
- 目前两个客户端扩展库连接超时可以设置选项来操作,比如mysqli: <?php //创建对象 $mysqli = mysqli_ini
- 如下所示:torch.mm(mat1, mat2, out=None) → Tensortorch.matmul(mat1, mat2, o
- 代码如下:USE TestDB declare @conversation uniqueidentifier while exists (s
- 内容摘要:ASP与存储过程(Stored Procedures)的文章不少,但是我怀疑作者们是否真正实践过。我在初学时查阅过大量相
- 今天开始学习Python时发现Pycharm竟然过期了需要重新注册,穷苦学生没钱只能再找找百度了浪费了半天时间终于找到一个可以使用的了,支持
- 之前沉迷于使用index删除,然而发现pandas貌似有bug?import pandas as pdimport numpy as npd
- Python2.6 开始,新增了一种格式化字符串的函数 str.format(),它增强了字符串格式化的功能。基本语法是通过 {} 和 :
- Tuple 叫做 tuple,用小括号、或者无括号来表述,是一连串有顺序的数字。a_tuple = (12, 3, 5, 15 , 6)an
- 记得在面试腾讯实习生的时候,面试官问了我这样一道问题。//下述两种声明方式有什么不同 function foo(){}; 
- 本文实例为大家分享了js实现select二级联动下拉菜单,供大家参考,具体内容如下<%@ page language="ja
- 01 目标假设我们要实现一个blog系统,在该系统中有以下两个结构体:type Category struct {  
- 目前在网上搜到的利用 PyCharm 调试远程服务器程序的教程大多都是针对 PyCharm 2020、2019,甚至更早版本,PyCharm