前段时间,我在论坛里面发表了关于FreeCAD的内容,FreeCAD作为一款开源的工程制图软件,不仅免费还有相关的开源开发者。
但自己进入FreeCAD官网访问之后,我发现开源的FreeCAD实际上并不是完全开源,主要是因为它的python GUI已经与图形引擎openCascade高度融合,你想完全看懂里面的核心代码确实有难度,而且一年的时候完全不够(本人兼职写代码)。
既然FreeCAD不能简单上手,也无法进行二次开发,那我们可以选择直接使用openCascade.
没错,我之前也认为需要从图形引擎openCasCade开始,但又通过2天业余时间的折腾,发现openCasCade也不是那么容易就上手,针对我个人的开发水平,我觉得主要有以下要解决的内容:
1.我们需要花更多时间,去了解一些大型开源项目的软件管理是怎样的。
比如openCasCade、FreeCAD,它们就现在主要是依靠Cmake来构建项目,使用Cmake的主要好处是可以跨平台,在Windows、Linux和Mac OS这三个平台中都能使用,代码重复量大大减少。
不过,Cmake虽然构建项目比较简单,但是在脚本CMakeLists.txt的内容构建上面并不简单,脚本代码处理还是有点复杂,尤其是涉及"子工程"(或外链接)的关系处理。
2.开源软件的跨平台性非常重要,但是如何做到平衡非常关键。
现在的开源软件,大部分都还是具有商业逐利性的,就拿FreeCAD来讲确实做到跨平台,尤其是软件的安装、使用、开发等方面也都变得非常容易。
但是,它的项目框架主体已经有定性,比如GUI框架选择python,这种编程语言虽然写法比较简单,但是与后端C++不能进行很好衔接,开发者的群体仍主要是python或python + C++的开发者群体,纯C++开发者总感觉不太讨好。
再说openCascade这款图形引擎,它虽然也能做到跨平台,但是技术社区仍然有所偏袒,比如Windows的开发者群体会更多一些,MacOS和Linux则少之又少,不信你可以在网页上搜一下“VsCode occt”和“QT occt”,明显VSCode的问题解决方案会更多,实际上相关开发者会更喜欢使用Vscode + QT插件+ occt源码库的开发方式,而不是QT Creator。
3.技术文档和社区论坛,需要更快的更新频率,以保证社区开发者的持续关注。
关于技术开发文档,我实际上在deepin社区、UOS社区多次提到过,深度DTK开发套件的文档内容确实需要变得更丰富一些,让更多想入门DTK开发的编程爱好者进入这扇门,发展自己的开源开发者社区,C++编程语言、DTK开发套件的规范使用也会迅速普及。
至于论坛,实际上内容也分很多种,有搞硬件与系统组装、软件测试、驱动测试、系统测试、系统评测、软硬适配等等,如果你想物尽即用,也希望有X86处理器的“开发板”能够安装deepin,已拓展新的驱动硬件、软件的性能极限。
最后,在开源软件方面,我们还有很多事情要做,每天都会与一些事情做出妥协,希望程序员们能够坚持,把开源软件的事业能够做下去,因为每天都会有新的发现,新的“坑”,希望这个“坑”能让自己有所进步,有所感悟。
首先要解决衣食住行的问题
也就是说出来混都是要吃饭 的
我也是业余时间在写代码,因为其它的事情也真的提不上兴趣。
Featured Collection
Popular Events
前段时间,我在论坛里面发表了关于FreeCAD的内容,FreeCAD作为一款开源的工程制图软件,不仅免费还有相关的开源开发者。
但自己进入FreeCAD官网访问之后,我发现开源的FreeCAD实际上并不是完全开源,主要是因为它的python GUI已经与图形引擎openCascade高度融合,你想完全看懂里面的核心代码确实有难度,而且一年的时候完全不够(本人兼职写代码)。
既然FreeCAD不能简单上手,也无法进行二次开发,那我们可以选择直接使用openCascade.
没错,我之前也认为需要从图形引擎openCasCade开始,但又通过2天业余时间的折腾,发现openCasCade也不是那么容易就上手,针对我个人的开发水平,我觉得主要有以下要解决的内容:
1.我们需要花更多时间,去了解一些大型开源项目的软件管理是怎样的。
比如openCasCade、FreeCAD,它们就现在主要是依靠Cmake来构建项目,使用Cmake的主要好处是可以跨平台,在Windows、Linux和Mac OS这三个平台中都能使用,代码重复量大大减少。
不过,Cmake虽然构建项目比较简单,但是在脚本CMakeLists.txt的内容构建上面并不简单,脚本代码处理还是有点复杂,尤其是涉及"子工程"(或外链接)的关系处理。
2.开源软件的跨平台性非常重要,但是如何做到平衡非常关键。
现在的开源软件,大部分都还是具有商业逐利性的,就拿FreeCAD来讲确实做到跨平台,尤其是软件的安装、使用、开发等方面也都变得非常容易。
但是,它的项目框架主体已经有定性,比如GUI框架选择python,这种编程语言虽然写法比较简单,但是与后端C++不能进行很好衔接,开发者的群体仍主要是python或python + C++的开发者群体,纯C++开发者总感觉不太讨好。
再说openCascade这款图形引擎,它虽然也能做到跨平台,但是技术社区仍然有所偏袒,比如Windows的开发者群体会更多一些,MacOS和Linux则少之又少,不信你可以在网页上搜一下“VsCode occt”和“QT occt”,明显VSCode的问题解决方案会更多,实际上相关开发者会更喜欢使用Vscode + QT插件+ occt源码库的开发方式,而不是QT Creator。
3.技术文档和社区论坛,需要更快的更新频率,以保证社区开发者的持续关注。
关于技术开发文档,我实际上在deepin社区、UOS社区多次提到过,深度DTK开发套件的文档内容确实需要变得更丰富一些,让更多想入门DTK开发的编程爱好者进入这扇门,发展自己的开源开发者社区,C++编程语言、DTK开发套件的规范使用也会迅速普及。
至于论坛,实际上内容也分很多种,有搞硬件与系统组装、软件测试、驱动测试、系统测试、系统评测、软硬适配等等,如果你想物尽即用,也希望有X86处理器的“开发板”能够安装deepin,已拓展新的驱动硬件、软件的性能极限。
最后,在开源软件方面,我们还有很多事情要做,每天都会与一些事情做出妥协,希望程序员们能够坚持,把开源软件的事业能够做下去,因为每天都会有新的发现,新的“坑”,希望这个“坑”能让自己有所进步,有所感悟。