开源(opensource)是什么?为什么要开源?

开源(opensource)是什么?为什么要开源?

开源是倡导共享与透明的一种开发方式,它鼓励将源代码免费公开,使得他人可以查看、修改、复制、分发和改进。在学术领域,开源尤其重要。它减少了重复劳动,提高了科研效率,促进了知识的传播与交流。多年来,我坚持开源自己的科研成果,不仅方便了学术共同体,也极大地丰富了我自己。通过开放共享科研记录行动倡议,即DOCX,我倡导大家在进行科研工作时,尽可能地分享代码和数据。中国的科研水平近年来取得了显著进步,尤其是计算机视觉领域,华人学者在顶级会议中的占比已超过半数。然而,尽管如此,我们仍然面临着诸多挑战。例如,阅读和实现国外论文时可能遇到的困难,以及获取新技术的实际应用。作为科研社群的一员,我呼吁大家共同努力,为构建更加健康、自主可控的科研生态系统贡献力量,从而实现互利共赢。生态建设的重要性在于,它不仅能够促进个体能力的倍增,而且在生态之外的竞品面前构建起强大的技术壁垒。美国的成功企业如Google的Android生态、苹果的软硬件结合生态、Nvidia的CUDA生态,都是通过构建生态来实现这一目标的。构建自主可控的生态,不仅对于避免被外部力量卡脖子至关重要,也能够使国内企业在竞争中占据优势。开源算法的代码在降低生态壁垒方面起到了关键作用。然而,目前主流使用的框架如PyTorch、TensorFlow或Caffe主要由国际团队开发。为了支持国产生态的发展,我鼓励大家更多地支持和参与基于国产平台的开源工作,如华为的MindSpore、百度的PaddlePaddle、清华的Jittor等。Jittor与PyTorch在结构兼容性上表现出色,使得PyTorch代码转换为Jittor变得相对容易,这大大降低了学习成本和迁移成本。此外,Jittor在基本设计理念和细节处理方面也表现出色,其执行效率往往优于对应的PyTorch版本。通过开源基于国产生态的代码,不仅有助于推动国产软硬件协同优化,提高性能,还能够促进生态的发展。更重要的是,这将有助于避免在关键领域被外国企业封锁的风险。我鼓励在开源PyTorch代码的同时,也开放至少一个国产平台的版本。这不仅有助于推动国产生态的壮大,也将促进更多个人和企业以开放和包容的心态参与开源,推动开源的形式和内涵更加丰富,促进创新和交流。让我们共同期待华人科研生态系统和国产生态平台的持续壮大,相信开放科学的未来将更加繁荣。