技术开发 频道

有害无利 当开源项目选择不再开放

IT168 专稿】开源软件有两大特征,一是免费,二是源代码公开,任何人可以查看和修改。但是最近两个开源项目缺乏开放性的做法令我感到非常吃惊,在这两个开源项目中,其开发者或者通过行动,或者通过言论,但是有个共同的特点,即有意把开源志愿者拒之于它们的工作之外。这两个项目缘何做出如此惊人之举?它们的出路又在哪里?

案例一:“邪恶”的图标窃贼

   第一个事件源自于KDE的Oxygen项目,这是一个将包含在KDE 4中的图标重新设计项目。近日Oxygen的设计者David Vignoni在其博客中发出谴责:项目团队之外的某些人在自己的主题包中使用了Oxygen项目公开的一些图标。他要求这些主题包的制作者移除Oxygen的图标。他博客上的批评家们对Vignoni的这篇文章纷纷表示支持。

 
图1、Oxygen项目

   几天后,KDE市场工作组的Wade Olson也在其自己的博客中攻击了这些主题包制作者,称这种二次加工主题包的做法动机不良,违背了开源的社会契约。他的博客上的批评家同样对此举手同意,而且不久后批评者们开始在设计门户gnome-look.org的主题页面的评论中攻击这些主题包制作者。

   Oxygen图标集在两种授权协议下提供:署名-共同方式分享3.0,或者GNU LGPL。两种授权都允许其下发布的作品被别人重新使用。而且Oxygen的图标本身是通过公开的图库中提供的,因此这些主题包制作者没有违背或错误使用其授权规定,这也是Vignoni和Olson都认同的一个事实。

   批评者们对这些二次加工的图标批判的一点主要集中在这样一个概念上:应该由Oxygen项目首先发布这些图标——由于官方版的Oxygen主题还没有公开发布,因此也不允许任何其他人来公开发布它们。正如一个批评者所说的,“花费了两年的时间来研发这些图标的人怎么办?难道他们没有权利在你拷贝它们之前在他们自己的项目中发布自己的作品吗?”

   听起来似乎挺有道理,但是我的答案非常清晰而且非常响亮,“不”。当Vignoni选择了将自己的开源作品放在一个公众可以访问的服务器上,当Vignoni决定把它放在一个免费软件授权协议下发布的时候,他实际就已经放弃了控制别人如何处理其作品的权利。

   批评者们还有一种抱怨是,在项目组宣布这些图标“准备就绪”之前发布这些图标是错误的,因为可能还存在一些需要修正的错误。但是这种看法与开源软件的“早发布、常发布”的理念是完全不一致的。艺术品在这一方面与可执行代码没有什么不同之处。

   选择了自由软件授权和开源开发模型,就意味者在一定程度上放弃了禁止别人使用你的产品的权利,而这正是让社区驱动的开发方式运转的关键。

案例二:我们拥有足够的思想,不需要你的贡献

   第二个意外是发生在GIMP的用户界面重新设计工作中。当我在10月份研究GIMP UI brainstorm项目的时候,我吃惊的发现,项目介绍中的文字把项目团队本身成员与其他开源志愿者划出一条明显的界线。

 
图2、GIMP用户界面重新设计

   在这个项目的wiki中,项目开发团队再三的强调团队和其他任何人权限是不同的,而且新帐号的创建已经被禁用,只有团队成员可以对项目进行修改。

   看到网站介绍中的“got ideas?”标题,你或许会认为这是一个开源项目来邀请其他人参与的地方,但实际上只是把那些感兴趣的团体重定向到提交对GIMP UI brainstorm的评论页面上。“项目由我们的团队进行调整,我们可以听取你的意见来扩展我们的视野。”

   但是,缺乏一个开放的邀请还是好的,更糟糕的是直接拒绝了来自开源志愿者的主动参与请求。在8月份,一个兴奋的准参与者了解到这个项目后,写信给gimp开发者邮件列表表示愿意提供对这一项目的帮助。而GIMP UI重新设计团队领导人Peter Sikking回复说,“我恐怕现在还没有开放的位置为你准备。”

   除此之外,还有其他gimp开发者的其他帖子也都在表达着和Sikking一样的观点:GIMP用户界面重新设计是他的团队自己的事情,他的团队没有位置来接受任何其他人,不需要别人来参与。

   毫无疑问,这个团队成员肯定是非常有资格进行这个界面的重新设计工作的,但是拒绝接受任何可能的对项目有帮助的志愿者的想法,这是“大教堂”式的开发模式,而不是开源软件所采取的“集市”风格。

   Sun公司创始人对开源软件有一个很著名的观点,无论你是谁,都有更多聪明的人在你周围工作,因此把你的开发过程公布出来,并随时准备根据别人的意见来修改它。(用我们的老话来说,山外有山,人外有人。)

   如果你惧怕开放,你来错了地方

   这两个问题事件的根源是不愿意实施一个真正开放的开发过程。

 
图3、开放可以让你更强大

   这点在GIMP用户界面案例中表现的尤其明显,而在Oxygen案例中表现的可能更隐蔽一些。直接点燃Vignoni和Olson的愤怒之火的是一个人未经同意使用了他们的图标。那么何来经许可和未经许可的人之分呢?因为Oxygen规定图标的使用权“限于我们”的设计团队成员。

   通过Internet Archive网站的Wayback Machine功能,你可以往前一直查阅到2005年的Oxygen项目的站点。你会发现,在其项目站点上,从开始到现在有两件事情一直保持未变:网站上提供的少数可以“预览”的图标是在“知识共享署名-非商业性使用-禁止演绎”授权模式下提供的,而且不欢迎来自团队外部的志愿者参与。

   与之形成鲜明对比的是Tango项目,它在其Web站点上的多个位置、通过多种渠道公开邀请人们参与。与GIMP用户界面重新设计项目相比,GIMP整体项目则邀请和接受来自数十个外部人员来提供补丁、漏洞报告和建议。

   什么样的开源软件开发方式才是行之有效的?开源软件的自由不仅仅体现在拷贝文件上;它应当应用到整个过程中。

   无论Oxygen和GIMP UI团队出于什么考虑,向外部参与者开放只有好处而无坏处,只能使使其团队变得更强大,而不会削弱它对项目的控制。听取别人的看法是必须的,无论你是喜欢还是讨厌这些看法,这是创建开源软件运动的关键思想之一。。

   客观的来说,Vignoni和其他的Oxygen设计者正在进行着非常漂亮的艺术设计工作,Oxygen项目有句非正式的标语:“让看到您的桌面就像呼吸清新的空气”,它为了整个KDE环境带来了视觉感观的新体验。而Sikking和他的团队已经做出了优秀的工作来推动GIMP的界面向一个更好的方向发展。但是单就它们各自的过程来说,它们的做法却伤害它们自己和其他人。它们把好的想法拒之门外,丧失了可以利用的人力,因此它们伤害了自己;而且它们的做法防止了开发者之间的交流和互相影响,打击了新来到这个项目中的人的热情,因此说它伤害了别人。

   我敢肯定的是,当Sikking告诉那个gimp开发志愿者“你的帮助不被需要”的时候,其本身的意图不是要伤害这个人。我曾经与Sikking交流过,他是一个真诚而且勤奋的开发者。但是他做法实际却带来了伤害性的结果,那个志愿者从此不再给gimp开发者写信,甚至可能不再关注这个项目。那么请你告诉我:把这个志愿者赶走给gimp的项目带来了什么价值吗?我认为没有。

原文:http://www.linux.com/feature/120635?theme=print

0
相关文章