成为 LVGL 贡献者了

今天在折腾新唐科技(nuvoTon)提供的 NuMaker-HMI-N9H30 开发板时,准备编译 RT-Thread 的 BSP 包,添加了 LVGL 软件包,下载了交叉编译工具链…… 一顿操作猛如虎,结果出现了好一些 Bug!比如下面这个:

1
2
3
4
5
CC packages/LVGL-latest/demos/benchmark/assets/img_benchmark_cogwheel_rgb565a8.o
packages/LVGL-latest/demos/benchmark/assets/img_benchmark_cogwheel_rgb565a8.c:5:10: fatal error: lvgl/lvgl.h: No such file or directory
#include "lvgl/lvgl.h"
^~~~~~~~~~~~~
compilation terminated.

跟着查了代码,发现头文件确实没处理好,于是顺手修复了 Bug 并且提交了合并请求(PR #3477)。几个小时后,LVGL 项目的创始人 Gabor Kiss-Vamosi 合并了我的提交,开心!就这样,我成为了 LVGL 开源项目的第 263 位贡献者。

后来,我又发现了 RT-Thread 软件包中的一个 Bug,居然隐藏了 LVGL 的版本选择,导致 NuMaker-HMI-N9H30 没法使用 BSP 包中要求的 v8.2.0 版本。于是,我又顺手修复了 Bug 并且向 RT-Thread 的 packages 仓库提交了合并请求(PR #1300)。

软件工程是一项很细致的工作,稍不注意或者考虑不周,很容易就产生 Bug。虽然这两个 Bug 都是小问题,但是如果初学者碰到了,就会很疑惑 —— 开源软件怎么这么多 bug?也不知道怎么解决,然后可能就不用了。

看到 Bug 尽量修复,是一名开源软件工程师的基本修养!希望开源生态越来越好啦~


LVGL 是什么?
LVGL 是一个免费的开源嵌入式图形库,它提供创建嵌入式 GUI 所需的功能,具有易于使用的图形元素、精美的视觉效果和低内存占用。该项目原来的名字是 LittlevGL,后来更名为 LVGL,是 Light and Versatile Graphics Library 的首字母缩写,意为“轻量级多功能图形库”。采用 MIT 许可证。