找回密码
 注册
查看: 1720|回复: 11

开源?还是不开源?这是个问题。

[复制链接]
发表于 2003-10-31 09:20:59 | 显示全部楼层 |阅读模式
对开源软件的思考

对GPL的理解,大家的答案并不一样。有的人认为是免费为主,有的人认为是必须开放源代码以满足软件的集体继续修改维护。目前必须开放源代码是大部分的意见,这是事实。红旗就因为不能公开提供源代码现在还遭到LINUX支持者的不屑,认为红旗是伪LINUX。
LINQ的作者张勇曾经公开MYICQ的源代码,后来出现了五花八门的类MYICQ后,很不开心,因为有些人将MYICQ改头换面,连软件作者也改名换姓了。LINQ宣布停止提供源代码,张勇立即被口水围绕,软件合作者胡正也离开了这个项目的开发。LINQ到目前为止还是免费使用的,但就是不公开源代码,所以,以前使用LINQ的自由软件支持者也不肯继续使用了.       分析张勇的情况,有两个原因:一个是作品所有权得不到保障和尊重(对于一个程序员来讲,自己写得代码就是自己的孩子),另外一个是不好处理商品化和GPL的关系。推向市场的产品有一个重要特征就是独有性,谁都可以拿的出来的东西在市场上是没有竞争力的,没有竞争力谁还会买自己的东西?自己很辛苦做的商品没有人买,那么制造者维护自己得利益就是空话。这两个原因实际上是反映两个问题:自由软件的作者要不要维护他的个人利益?自由软件是不是一定要开源?我个人认为:LINUX即其应用软件如果不能拿到市场上销售永远不能茁长成长得,温室里的花草是长不大的。发展LINUX不能指望多几个LINUS的出现,一批一批得人在LINUX下学习,然后学到技术后转到MS下,这种人才的流失是一种背叛,更是一种无奈。程序员也是人,也要养家糊口,打义工不能打一辈子。目前在我国,知识产权得盗版严重性大家应该了解,在这种情况下,说能切实保护象LINUX产品权益却很少提起。前段时间LINUX版权问题有些公司甚至卸掉了LINUX,怕引起麻烦。
自由软件产品如果使用者仅仅使用而不需要日后得技术支持,那么就不应该收费,(最恨试用期这类噱头!)如果牵涉到产品需要进一步维护和技术支持,我认为可以理直气壮得收费,更主要的是:这是作者花了很多心血和智慧得来得。当然如果不收费,善莫大焉!由作者决定。一个人的有效劳动应该得到肯定。源代码开不开源目前不必太在意,因为软件技术的研究不一定非要通读源码才学到东西。
    写到这里我也讲句不得不讲的话:真的希望好的产品能开源,那样对很多人有很多帮助,对这个软件本身的发展帮助更大,但是如何保护软件作者的权益真的是个很头疼的问题,张勇可能现在是心凉了半截,到MOTO去干活了。
发表于 2003-10-31 13:19:08 | 显示全部楼层
唉,对于张勇,我只有遗憾。Linq现在不开源,恐怕完全是我们大家的支持不够而造成的。

自由软件作者的正当利益(或者说权力)是什么呢?我觉得:
1。署名。不关什么软件,代码的作者是谁,这个不能篡改,这是最起码的尊重;要做到这点不难。
2。作者的贡献得到承认,具体表现在作者可以得到荣誉,这个如果有良好的气氛也是不难办到的。
3。如果别人使用自己的代码写了程序,那么应该有权要求这些程序也开源,因为这些程序是以开源程序为基础的。
4。如果程序都是作者自己完成的,别人没有做出真正的贡献,那么应该允许作者在开源后再转为封闭。

这些不是物质利益,那么程序员怎么生存呢?私有软件收费,理由之一是程序员付出了脑力劳动,这些也要计算入成本的;但是这样的成本该如何计算?软件公司获得的 是否 和它所付出的大致相等?假如一个软件的成本已经收回了,以后这个软件还应该维持价格而不降价吗?既然成本已经收回了,那么以后软件的销售额里大部分都成了纯利润了。(这里先把售后服务当做单独出卖的服务,那么软件成本就是研发软件时的投入,开发完成后,不再有新的投入;而进行升级版的开发的成本应该算在新版本的成本里)。所以,我一直觉得,现在这种购买许可的销售方式并不合理,因为软件公司之外的人根本不可能去评估价格是否合理,软件成本都是软件公司自己说的,难道把成本说得多点就可以定出高价格了?不知道物价局是干什么的,不过M$产品的价格从来不受政府管制也不受市场调控,都是M$自己决定,怎么保证价格公道合理?对M$来说,没有供求不平衡的问题,所以没必要定出高价来让需求方竞争,也没有必要定出低价来和同行竞争,于是定价的多少可能只取决于它想赚多少钱;可能我们买Win98的钱正在被用于最新Windows的研发,但是我们可能永远不会去用这个版本的Windows,就算我们要用,还得花钱买,价格和没有做出“贡献”的人是一样的。在这个不受市场调控的市场里,可能软件公司都在做着掠夺财富又哭穷的事!因为我们什么都不知道。
我觉得,单纯卖软件是无法赚钱的,提供个性花的定制服务,才是赚钱之道,我猜想我国行业软件的销售要比通用软件的销售好得多,为客户定制解决方案的公司活得会比较滋润。
自由软件的作者很难靠自由软件来赚钱,但是私有软件能赚钱不代表它的赢利模式是合理的,这样的赢利模式存在了这么长的时间只能说明这种模式能够然软件公司生存和发展,并且其中的不合理性一直不为人所知。
回复

使用道具 举报

发表于 2003-10-31 13:50:04 | 显示全部楼层
像MYICQ/LinQ这类软件,如果处理不好各方面的矛盾很难继续发展下去。

用商业软件的思路去发展自由软件是根本行不通的,除非最后走上完全封闭和依赖投资的道路,成为真正的商业软件。但是IM市场中新的商业软件要想分一杯羹没那么容易。

自由软件能够赢得更多的同情和支持,但这只是自由软件开发模式的副效应。发展自由软件更重要的精髓则是它的发展模式其中即包括开发模式,也包括运作模式和赢利模式。这和免费软件、共享软件的理年完全不同。

1、开发模式:Linus不是技术之神,也只是个普通的本科毕业大学生。Linux能够发展,与众多黑客的参与分不开,与Linus对协同开发的领导分不开,而和Linus是不是Kenerl团队第一名的技术高手无关。自由软件项目正是有了从里层核心开发人员到中间的修改测试人员到外围的宣传推广和反馈人员这样一个庞大的多层次参与体系,才会有了比商业软件更强的生命力。这样一个参与体系不是靠一两个技术高手就能建立的,而是需要一个成熟的完整的开源社区的支持。Magic Linux的这种体系正在逐渐形成中,而LinQ则根本没有需要一个开源社区支持的意向,LinQ所希望得到的也仅是服务器互联中的一个节点而已,其整个思路还是陷入商业软件或共享软件的泥潭里。背离自由软件运作模式的自由软件开发模式是很难建立起来的。

2、运作模式:商业软件最大的问题是重复建设和高成本。自由软件因为开放源代码而大大降低了软件开发的成本。良好设计的、可复用性强的自由软件被“私下”修改的可能性并不高,Gaim就是个很好的例子。反而是那些设计粗糙的软件容易出现改头换面的替代品。我没研究过myicq的源代码,但我想,那些想利用myicq提供增值服务的网站之所以没有采取为myicq开发插件的方法,可能还在于myicq没有提供这样的接口(包括技术上的接口和开发模式上的接口);既然没有这样的接口,那只好通过修改整个程序这种更高成本的途径来实现了。自由软件的运作缺乏一种开放的心态是做不到的。

3、赢利模式:自由软件的赢利重在增值服务上,而不是软件本身。希望像Bill Gates那样成为亿万富翁的事情在自由软件领域是不可能的。MyICQ走开放源代码模式赢利并不是没有可能,但用商业软件、共享软件的思路来进行则永远不可能。由于LinQ也不是公社的开源项目,至于怎么在保持开源模式的前提下赢利,我也不想细说,因为这已经在本人的职责之外了。
回复

使用道具 举报

发表于 2003-10-31 17:59:40 | 显示全部楼层
有使用者的问题,我看这个问题还在于使用者,只有使用者学会尊重别人的成果,
那么自由软件的春天才算来到。
回复

使用道具 举报

发表于 2003-10-31 23:13:36 | 显示全部楼层
Fujinsan, 从Linq前身Myicq的第一个对外发布的版本发布开始,我就一直在关注这个项目,从开始到现在,我看到的是,即使开源,也很难找到合作者,要想得到实质性的参与和帮助是极为困难的,除了张勇,就只有胡正参与过,其他人都没有贡献过代码,bug提供倒是不少。这种情况下,他们两个的开发任务是很重的。我记得有一次,张勇发现某个网站上提供的即时通讯软件其实就是对Myicq修改得来的,但是作者里却没有张勇的名子,而是另外几个没有对Myicq做出什么贡献的人的名子,还有那个网站的域名,搞得好像是那个网站的几个人写的软件一样,当时在cosoft的myicq论坛里还因此发生过争执,好像这事和当时论坛里的一个人有关,这件事反应的是国内对自由软件作者还不够尊重,或者也许是没有尊重软件原作者的意识,以为自己改了改就只需要署自己的名。Linq的服务器端其实是模块化的,可以增加各种功能,甚至可以增加联网游戏,客户端也是有插件机制的,比如有一个闹钟插件。但是,用户少,参与开发的人少,这些东西做出来了也没人用。开发的心态是有的,但是谁来关注呢?我把源代码开放了,如果没有人来关注,没有人来改进和使用,或者只是被别人盗用,那么这样的开放还有意义吗?开发也是要有条件的,如果没有什么人需要这个软件的代码,或者没有人原意按照自由软件的规则来使用这些代码,那么开放了也没用。Linq在拥有足够多的用户之前,没法赢利,因为根本就没有机会。

国内真正参与自由软件开发的人太少了,看看sf.net上那么多项目,看看我们国内的协作开发平台上的那些什么都没有的空项目,就知道很多时候开放了源代码也不一定有人去看。
回复

使用道具 举报

发表于 2003-11-1 14:26:41 | 显示全部楼层
版权是什么?如果知识被封闭,人类将如何发展???
可惜,我不是学计算机的,否则我一定帮忙代码开发。
回复

使用道具 举报

发表于 2003-11-1 18:09:26 | 显示全部楼层
版权?我想版权就是防止自己的东西被别人偷拿了去的东西吧。
知识其实是不会被封闭的,因为自己开发出来的东西就是想让别人知道,不然自己
辛苦弄出来有什么用,实际的产品是没有人保密的,只有制作的方法才保密,让那
些根本就研究不出来或者根本就不想研究的人知道了制作的方法,那多没有天理呀,
有很多不要脸的人喜欢偷别人的东西,鄙视。
回复

使用道具 举报

发表于 2003-11-1 23:39:47 | 显示全部楼层
sjinny, 话要分开来说。对于LinQ,我了解的不多或者说并不怎么看好所以也没有怎么关注。MyICQ是个教训,值得所有开源社区认真分析总结。

对于公社的开源项目,目前成型的也就Magic Linux。Magic Linux还没有出现myicq那样的境遇,很大程度上和Magic Linux的技术特色有关系。系统整合技术和单一软件技术有很大差别。许多依附于系统整合技术的软件项目,其保险系数要大得多。

没有对各种因素进行整合的项目经不起风吹雨打。假若MyICQ与Magic Linux整合会是怎样?我无法想象,但至少我会让它们互相促进,甚至最后达到相互依存……这恐怕只是我的妄想。但我知道,微软通过将Internet Explorer和Windows整合将Netscape Navigator送进了历史博物馆。我还知道,整合了开发社区和用户社区的RedHat是某些不遵守GPL的国内Linux厂商所无法项背的。

光杆司令打不了天下,单单武功高强也无法振臂一呼就聚起雄兵百万。GPL协议在法制健全、金钱至上的美国是个很巧妙的手段,但在中国还需要更多的、可意会而不可言传的东西。

LinQ也许会走上一条更好的发展道路,总之,我会默默地嘱咐它。
回复

使用道具 举报

发表于 2003-11-2 21:29:01 | 显示全部楼层
呵呵,目前ML的系统整合“技术”恐怕还……嘿嘿
我没用过ML,如果ML只是把一些软件组合起来的话,那么只是让使用者少了点工作量。什么叫整合呢?我也不清楚呀~~不过,假如说Linq和ML整合,那么就不是一件简单的事。
单单把Linq加进ML的软件列表里不能叫整合,因为它还没有成为整个ML的一个有机组成部分。设想:在Nautilus或者KDE中,有一个Sidebar能够控制Linq,(就象Netscape里整合的聊天工具一样),如果要通过Linq共享一个文件,那么目前用户得先用Nautilus之类的找到那个文件,然后可能还得打开确认一下,然后再把路径拷贝到Linq的文件选择对话框中;那么如果能够用Sidebar进行支持,那么用户可以在同一个程序里找到那个文件、预览以确认、拖动到Sidebar中进行发送,电子邮件也是如此。让用户觉得,他拥有一个“万能”的程序,只需要使用一个程序就能达到目的,只需要一个窗口,尽量减少不必要的操作。
整合的典型例子:
(Windows平台)Winzip等压缩软件会在右键菜单中增加一些项目,这样当用户需要压缩和打包文件时不用再专门启动Winzip,这就是整合,仅仅在Windows中附带一个压缩软件是没用的。
要说整合,比如说:
开发一个程序,在“任务栏”中有一个条状文本显示区域,当Linq、Gaim、email、闹钟和日程安排中任何程序有事情要告诉用户时,都会在这个程序中显示出来,并且能人性化地进行组合,比如显示:
老大,XXX说“………………”;你设置了闹钟,现在时间到了,是5:40pm;另外现在已经晚上5:40了,6:00你不是要去和你女朋友约会吗?正好XXX网络花店说有你女朋友喜欢的XXX花,声称是全市最低价;还有,你今天晚上8:00还要到irc上开会,离你约会的时间太近了,是否要去论坛发个贴子请假?
这些提示中的消息来源是不同的:
老大,XXX说“………………”-------------------这个是某个聊天软件发来的信息;这时会显示一个简单的程序让用户输入文字进行聊天;

你设置了闹钟,现在时间到了,是5:40pm-------------------这个是闹钟程序;

另外现在已经晚上5:40了,6:00你不是要去和你女朋友约会吗?-------------------这个是日程安排里的日程提醒,用户设置了提醒的时间提前量;

正好XXX网络花店说有你女朋友喜欢的XXX花,声称是全市最低价-------------------这个其实是花店发来的广告,但是用户在设置日程时设置了一些选项,这样当花店的广告发来时,一个程序会根据规则(比如这个花店的信用评级、给出的花的种类及价格、花店地址和用户家庭地址间的距离等)进行过滤,于是会找出最好的一条广告给用户看;这时用户可以看到一个窗口,里面列出了一些广告,用户可以使用电子商务进行订购或根据地址自己去店里挑选;

还有,你今天晚上8:00还要到irc上开会,离你约会的时间太近了,是否要去论坛发个贴子请假?-------------------这个也是日程安排,用户设置了约会所要花费的大致时间,程序会检测到这样会对开会造成影响,但是因为约会的优先级比开会的高,所以就问用户要不要自动去发帖进行请假,这时如果用户点击一个按钮,那么程序就会按照设置的URL和信息格式自动把用户事先准备好的请假的文档模板找出来,比如:
各位XXX,因为我今天某时某刻要做某事,所以不能来某事了,真是不好意思,但是我这件事真得很重要啊,所以我只好来请假,请大家谅解~~~
程序会根据日程安排在模板文档中填入实际的请假原因,然后发送给那个网站,检测到“发帖成功”的信息后就可以了。

整合和组合是不同的。
如果只是把上述的软件组合起来,就像现在大多数的发行版一样,用户就会在聊天软件、日程安排、闹钟、网上花店的Web页面之间来回切换,手忙脚乱;耳边还会同时响着播放器里的音乐、闹钟的声音、日程安排的提醒(约会)和报警(约会和开会的冲突)声。然后还得自己去网上请假~~这样一忙再来关机,可能约会就要迟到了~~

组合谁都会,整合呢?有几个人会?要能这样整合,Windows在政府采购中就必然会失败了~


至于和开发社区的整合,也不是那么容易的,公社自己的项目都缺人手,怎么帮助Linq?也只能提供服务器资源而已~
当初Myicq在cosoft上也没得到什么代码贡献~

呵呵,说光杆司令打不了天下,可是现在的现实是,能找到个光杆司令就不错了,雄兵百万倒也能聚起来,但是无粮无饷,怎么打仗??

Linq以后发展会很困难,因为即没有开源社区的支持,也不像网易泡泡那样有个公司支持。
还记得Foxmail吗?要不是被收购,就真的发展不下去了~

今天在出租车上听到司机说,整天就是忙的一张嘴,现在能有多少人来参与自由软件开发?那些学生又缺乏足够的经验,怎么开发?
人才!人才!还是人才!!
说到底,还是缺少人才!!
软件开发,没有人才,肯定没戏!
:neutral:
回复

使用道具 举报

发表于 2003-11-3 02:18:09 | 显示全部楼层
想得很好,低度整合到高度整合是Magic Linux的大方向,现在才刚刚起步(例如mct和apt)。但LinQ就不好说了,毕竟组合是整合的前提。

整合更需要优秀的设计人员。游戏软件、通信软件、办公软件、多媒体软件都需要的网络功能是不是每个都重新开发一遍呢?能否开发一系列上述应用都可以共用的模块呢(比如网络通信、服务器互联、Broker定位、用户ID管理、群管理等)?

希望编程学习活动多关注一下类似CORBAR、GNOME ORB、KDE Object等技术多培养一些整合技术方面的人才。毕竟软件的发展已经不再是只要一个gcc就足够了的年代。
回复

使用道具 举报

发表于 2003-11-3 13:29:18 | 显示全部楼层
整合,需要有全局的眼光,良好的架构设计,考虑问题要全面,这些都不是一朝一夕、通过学习就能得到的。
比如你说的网络功能的问题,我以前和默难也考虑过这个的,但是后来被迫停掉了,但是想想,这实在不是一件简单的事,要熟悉各种软件所需要的网络功能,然后还得让开发的程序与具体功能的关联尽量地小,还得做成S/C模式的,这些都不容易呀~~不要说大学在校生,即使是已经工作了的有经验的程序员也未必能够设计好这种程序。因为这不是在前人的规则下进行游戏,这得靠我们自己创造规则,创造新的游戏~~
回复

使用道具 举报

发表于 2003-12-5 16:32:27 | 显示全部楼层
前段时间公社软件下载里不是出了个win下面的gaim之类的软件,难道也是抄linQ的?真的是这样那也真是乱七八糟的,也只能说他们不知廉耻,要不然还能怎么办?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2025-7-5 18:19 , Processed in 0.061439 second(s), 16 queries .

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表