6 关于开源的建议
在这里想说说顺利完成操作系统和应用程序开发之后应该做什么。在软件的发布上,大概有三种方法。
第一种方法是做成软件包,或者以共享软件的方式出售。这样做如果顺利的话会怎么样呢?你也许会变得很有钱,可能靠这份收入可以维持生计,也可能雇佣开发人员,使事业得到进一步的发展。一般来说,开发操作系统花不了多少钱,比如这个“纸娃娃系统”的成本,除了笔者的生活费以外,再就是电脑的电费之类的。所以说操作系统也许还是能维持稳定的经营。话说,这种情况好像也不必多费口舌,大家自己应该可以想象出来。
第二种方法是作为自由软件来发布。可以做一个网站,把软件放在上面供大家下载,也可以发布到专门的软件下载门户网站上面。有人会说,“这样不就挣不到钱了吗?”基本上就是挣不到钱的,因为这样做的目的本来就不是为了挣钱。这样的软件只要想用的人就可以免费下载使用。
最后一种方法就是以开源方式发布。所谓开源并不仅仅是公开了源代码就可以了,而是必须认可对源代码进行修改并作为自己的作品进行发布的行为。只能看我的源代码,但是不准模仿,或者可以拿来修改但必须经过作者的允许才能发布等等之类的,都不能算作是开源。
开源还有一个条件,那就是必须认可再次发布的自由。也就是说,你不能因为人家复制了你的软件放在其他网页上供人下载而生气。比如“只能从我自己的主页才能下载哦”,“由于想要正确统计下载数量而禁止再次发布哦”之类的话是不能说的。KL-01以及GPL、LGPL都是为开源软件而制定的许可协议。
■■■■■
无论是自由软件也好还是开源软件也好,并不是说就完全不能用来盈利。你可以宣布“下个月开始停止免费下载,改成在商店里面出售”之类的。不过如果是开源软件的话,因为拥有再次发布的自由,已经下载过软件的人在自己的主页上发布出来,半价销售跟你竞争的话,你也无话可说。如果不希望变成这样,那最好从一开始就不要选择开源。如果是自由软件,那只要在文档中写明禁止再次发布,将来想改成收费软件的时候就可以放心了。
如果想要半路出家改成收费软件,为了吸引之前下载过免费版的用户来购买,可以使用增加一些功能、发布升级版的方法,而之前的免费版可以作为试用版继续提供免费下载。用这种方法可以不用过于担心再次发布的问题,也同样适用于开源软件。不过话说回来,开源软件由于公开了源代码,那实际上是保证了修改的自由,可能会有人做出比你的商品版更好的软件,然后用来出售或者免费发布。
因此,如果选择以开源方式发布软件的话,将来想要转为付费方式就比较困难了。
■■■■■
看上去弊端很多的开源方式,其实也有好的一面。如果用户跟你抱怨“请加上一个○○的功能吧”、“××功能没什么用啊,去掉吧”、“bug太多了,帮帮忙”之类的话,你可以说:
“这个是开源软件,请自己修改好了(笑)。
这就是开源软件最大的好处。
如果作为商品出售的话,用户可能会抱怨说,“有○○这样的功能是理所当然的啊,你这个软件居然没有,太过分了,退钱!”如果是自由软件虽说不会被要求“退钱”,但用户可能会说:“我已经请求了很久了,为什么还没加上这个功能呢?什么,你说有意见的话自己从头开发一个类似的软件好了?这也太过分了吧,你是作者,只要改几行代码再重新make一下就好了啊……”。但开源的话就不会有这样的问题啦。
尤其是当你只是凭兴趣编写了一个小软件,发布之后即便引来一大堆抱怨也不希望会过于占用自己的时间,这个时候开源是很适合你的。即便很久之后服务器不能继续工作了,也会有人帮你再次发布出来,你也不会因此而受到过多的指责。甚至也许在不经意间,你的软件已经渐渐流传开来,并有人进行了各种改良,然后你意外地发现已经有很多人在使用它了。
■■■■■
而且,开源的话,会有很多人“误以为”“这个作者好大方”,于是你会多出许多朋友,搞不好还会被人尊敬。朋友和尊敬可是用钱买不到的。当然,如果你是高帅富也可能会有很多朋友,也可能会赢得尊敬,但万一你遭灾变得贫穷时,朋友和尊敬可能也会随之烟消云散。啊,真正的朋友屈指可数,真是人生无常啊。但是,由开源而赢得的朋友和尊敬,如果你真破产了,他们反而会变得更加支持你。啊,那个家伙已经身无分文了,居然还将自己的软件开源呢!(笑)
而且,这种事是会上瘾的。因一次开源而成名之后,以后就会只想用开源方式发布软件了。这样可不行,真的会破产的。因此,好孩子可千万不要玩开源哦。喂,那啥,这哪里是在推荐大家开源啊!(笑)
■■■■■
话说,如果你一直努力做开源软件,在你的朋友中间可能会有人帮你介绍一份好工作,请你到大学里面演讲,或者明明实力一般却意外地出了名,获得自己写书出版的机会。其实这只是笔者的情况而已,不知道是不是所有人都能走这条路。笔者觉得只是自己运气比较好罢了,可不敢打包票哦。
如果大家选择用开源方式发布自己的软件,以后有机会一定要和笔者一起出席“开源大会”哦。笔者会出席OSASK的展位,如果各位读者能在旁边的展位一起展示你的开源软件,那真是再好不过的事了。
开源大会是日本开源软件界的盛会1,每年在东京举办两次,在北海道和冲绳举办一次,详细请参见以下网页:
1 中国也举办类似的开源大会,详细信息可以参见“中国开源软件推进联盟”: http://www.copu.org.cn/。——译者注
关于开源就介绍到这里。对于自己所开发的软件,如果是有偿销售或者是作为自由软件发布,可能大家比较容易想象,而开源的发布方式可能大家不是很熟悉,因此才在这里专门详细介绍了一下。
开源有开源的好处,也有其独有的乐趣,但开源也不是万能的,如果你选择自由软件或者有偿销售的话都是完全OK的。请大家深思熟虑,找一个最贴近目标的方式来发布自己的软件吧(当然,不想发布的话也是OK的啦)。无论如何,笔者都会支持大家的。