一直在思考一个开源项目要能持续发展需要的条件,下面是一点想法
-
存在强烈的潜在需求。虽然本论坛上一直有人认为“不如把现有的词典用好”“不如多背几个单词”,置顶的GD、欧路、Mdict等各种现有的工具也用使用者众多,可是不难看出,无论是在PC端还是安卓端,对于更简洁有效灵活的词典软件的强烈需求一直都存在
-
发起人不能有直接的商业利益追求,有些作者既要开源又担心别人baipiao你的劳动成果,这就很矛盾。商业利益无可厚非,可是就不宜走开源这个推广路线。当然用爱发电也不是长久之计,可是如果能发起一个成功的开源项目,在成就感、开发经验积累、求职简历上的收获,完全可能远远超过一个摆在appstore里面售价50元却乏人问津的商业产品。
-
开发工具要大众化,能熟练使用的人要尽可能多,这样参与的门槛就低
-
基本架构要设计得当,尤其是要扩展性好。即使不能写详细的文档,至少在程序里面尽可能插入详细的注释。而且Github上的项目文件最好能组织的一目了然。这样,参与者只要抽空1个小时,就可能贡献或优化一个小小的功能。
-
代码应该详细注释,但最终软件的使用最好不需要使用说明书。论坛里有一个非开源的安卓版词典软件,当我看到居然还有附赠PDF版本的使用说明书,真是吃惊不小。
(啰嗦一堆,觉得打扰的就麻烦设置ignore吧,抱歉)
1 Like
目前最好的词典开源软件就是 GoldenDict,与其期待新的开源项目,不如紧密团结在 Xiaoyifang 同志周围,为实现 GoldenDict 的伟大复兴贡献自己的力量。
1 Like
置顶的好像是基于C++/QT对吧,这个坑貌似不是一般的深
GoldneDict 已经趟过无数的坑了,新的开源软件,要重新踩一遍。
这个我完全同意。可是我想,没有人会为了业余参与一个词典开源项目去专门学习C++/QT这样难度不低而用途又十分局限的技术,不是几乎没有,是肯定没有。
1 Like
西北风
7
学了一点 py 的皮毛就可以在这里自称 C++/QT,
我学C++的时候估计你还在读小学?写个程序对你来说比飞船上天还难?
西北风
9
哈哈,看来你认清现实比飞船上天都难吧
你要真有那本事,早就写出来了,还用在这发帖?
PY 对你而言都有难度,还整天扯写人工智能
学了一点语法皮毛就觉得自己精通了,写了个脚本就感觉自己像是专家了
连自己电脑里的软件有百分之几十是 C/C++ 写的都不知道就说用途局限
2 Likes
startle
11
GoldenDict 至少在 UI 设计和交互设计方面,体验绝对算不上好。这或许也是绝大多数基于 Qt 写的软件的通病。
3 Likes
llavaly
12
支持楼主,现在有不代表产品完美,更不代表没有需求,腾讯还开发出了微信,割了qq的命呢,对于字典的需求非常个性化,每个人口味不同,想要做一款大家都喜欢的的确比较难,尤其是开源且无商业利益,需要有闲有钱有眼光又有激情的人来主导,比如马四客这种姓马的 
1 Like
目前的词典的功能一个重要盲点是无法处理好带有层级结构的资料,典型的就是编程手册中如对象-属性/方法这样的东西。如果这个问题能解决,词典这种资料类型的应用将得到极大的拓展。
初步设想是给每个词条添加一个唯一的序号和一个表示层级的数字,词典客户端的显示模式则需要在“词典模式”之外添加一个“层级模式”。

如果能引入层级结构,不光能用于象编程手册这样的材料,而且英语词典里的词组也都可以独立出来,还有很多资料都能用上,如果能和电子书用一个简单的方案实现互通应该不错。如果词典的数据结构和查词客户端重新设计,实现起来不会太难。
几乎所有的词典数据都来自第三方,你应该先去和汉语大词典编辑部、牛津、剑桥、柯林斯、朗文建议一下,让他们增加序号和层级,这样以后网友复制、侵权制作出来的词典更好用。
别人用爱发电,无偿制作分享词典够可以了。你发起一个新的词典格式、提出一个新的词典需求,让制作者必须遵守,给制作者发工资了吗?Mdict、欧路、GD这些客户端要适配你的规则,excuse me?
“Talk is cheap. Show me the code.” 说的太多,做的太少,被一部分人不喜欢也是正常。至于操心编程手册,一定没听过Dash for MacOS & Velocity for Windows。
1 Like
当你务虚的时候,有些人就冒出来了,骂你指点江山不如写几行代码。当你务实写代码的时候,这些人都不知道在哪里,哪怕出来批评一下代码写太烂自己贴个范例也好啊。对这些毫无实际内容不知编程为何物的情绪发泄实在没有回复的价值。
还有一位喜欢批评我python“懂”点皮毛就怎样怎样,实话说按他的标准我连皮毛都不懂,因为要我现在立刻写个python的 if then我都写不出,我估计这位就算会写点代码但是在基本理解上还没入门。一门编程语言又不是量子力学,也就是个熟不熟的问题,谈不上什么懂不懂。
添加一个数字代表层级,可以备而不用,象几十万词条的词典不需要层级结构的忽略它就行了
说句实话,有些专业搞开发的人以为写点程序就是什么很了不起的事,以己度人看别人“指点江山”就觉得是在炫耀自己多nb,实在狭隘的很
西北风
22
Show me your code.
不好意思,Python 没有 then 这个关键词,写不出来的话就别再这里空谈:“我觉得简单” “谁谁谁做的xx软件不好,这都不会?”
你要是行自己去做去 @surfactant
demo
23
开源软件,以兴趣爱好为主, 如果不是有强烈的共同需求与场景复用,把一段简单的需求描述转换为实际功能还不出差错,这个过程本身就容易出错。
这个看似简单,看一下编程语言排行榜,再看对应的编程语言开发工具就有结果了。不过这个大众化,还是面向职业开发人员长期选择的结果,注定门槛应该不会低。
总结一下:最好的解决方法就是适应工具,一起参与进来完善它
2 Likes