关于开源软件和用户
开源软件和用户到底是什么关系,这非常微妙。
以下言论是我见过的非常无稽的言论:
1、你觉得不好用你去改进啊
2、你觉得不好用去报bug啊
3、你又没掏钱你没资格批评啊
用户始终是用户,不管用什么软件,用户都是用户。
开源软件和那些闭源的软件(其实并非所有的开源软件,这里特指那些可以汇报bug的那些更加“open”的)都是软件而已,区别在于开源软件给予了用户查看源代码,以及和开发者直接交流的机会(mostly)。而并非你用了开源软件你就需要承担任何责任。
无论你用什么软件,你都不需要承担以下责任:
1、参与开发
2、汇报bug
同时你也有自由批评或者赞扬任何软件的权利。
用开源软件给予的是用户参与开发和汇报bug的权利,而不是加在用户身上的义务。开发者只可以善意的建议你如果有能力,有兴趣,可以来写个patch试试,任何人不能因为你“没这么做”而指责你。
关于代码万能论
这是需要承认的,但是不可滥用。
代码确是是万能的,如果你说一个软件有这个功能,另一个软件没有,然后反驳的理由是另一个软件“凭什么就不能实现”这个功能。代码当然可以写,区别在于:
1、现在有这样的代码吗?没有,“空谈无益,show me the code”。
2、其次,即使没有,潜在的实现这个功能的工作量是多少?如果需要的工作量很大或者你压根就不了解,用一个潜在而不确定的理由来argue就更加没意义。
关于项目和项目
太多人早就忘记了backward compatiblity 这种事情(当然,我说这种事也代表了我做好了被打脸的准备)……所以,不支持同一个软件包名多版本的包管理只能玩具一辈子。当然如果你没法认清他是玩具的事实,你活该。那些商业操作系统在向后兼容上的重要贡献是没一个发行版比得上的。
以及有些很“NB”的项目忘记了自己是被很多人用的事实,以及忘记了版本号的意义。
当然如果你的潜在目的就是搞那些用你的人……
我觉得以上这些都是正常人应该能想明白的道理。欢迎自行对号入座。