专栏名称: OSC开源社区
OSChina 开源中国 官方微信账号
目录
相关文章推荐
OSC开源社区  ·  从零开始教你打造一个MCP客户端 ·  4 天前  
OSC开源社区  ·  用智能体管住大模型的“嘴” ·  4 天前  
51好读  ›  专栏  ›  OSC开源社区

从零开始成为一名开源程序员,其实只需要九步!

OSC开源社区  · 公众号  · 程序员  · 2017-01-15 08:26

正文


探索技术世界,是一件非常令人兴奋的事情。你会发现有非常非常多的领域,等待你去学习,去深挖。如果有兴趣参与和帮助创造更好的功能,加入到开源的队伍当中,你知道要从哪里开始吗? 第一步该做什么?第二十步又是什么?


首先要明白,开源是开放的 。这听起来似乎是句废话,但现实中有很多人恰恰就忘记它只是一个文化现象的描述,而不是一家500强公司的名字。不需要去面试或完成注册表或注册表单才能成为开源程序员。只需要做好程序,然后共享代码。在理想情况下保证代码能保持开放,不管它被如何使用。


就是这样,你就是一名开源程序员!


那现在目标已经有了,过程要怎么样呢?


第一步:找到和选择自己的 Skill trees (技能树)


玩过 RPG 游戏的人应该知道,这些游戏中会有“技能树”的概念。 最开始的时候,会获得基础技能,然后不断“升级”和获得新技能,再用新技能获取更新的技能……


成为一名程序员有点像往你的技能树上不断添加新技能的过程。 先得到一些基本的技能,持续练习直到它们进入第二阶段,然后获得新的技能。最终沿着你选择的技能树不断进步。


在这个过程中你会遇到许多技能树。就像开源有很多切入点,每个人都有自己独特的优势、才能和兴趣。 但是,某些积累下来的悟到的心得技能有助于你成为一名伟大的程序员,并且它们是成功参与到开源项目的重要组成部分。


第二步:编程,从 Scripting 开始



POSIX 系统(如 Linux 和 BSD )的优点之一是每次使用电脑时,都有机会练习一些小编程。 如果不知道要从哪里开始学习编程,那么就从你的工作方式开始。找出自己每天需要重复执行的任务,开始自动执行。 这个步骤其实很简单,例如批量转换或调整照片,检查电子邮件,甚至只是每天自动点击启动五个应用程序。反正不管是什么任务,花时间为自己的东西自动化。


如果你可以从终端做一些事情,那么它可以脚本化。 学习 bash 或 tsch ,让系统 Scripting 引导你学习如何编写代码和告诉你系统如何工作。



第三步:找准自己的发展方向



从这里开始,你可以选择继续成为一个程序员,或者可以完全跨越到另一个不同的技能树:系统管理。 这两个职业有一些重叠,一个好的系统管理员应该有一点编程经验,可以随时准备好使用 Python、Perl 或类似的语言来开发独特的解决方案,但程序员更偏向是一个日夜以代码为伴的人。


第四步:学习别人的开源代码



开源是学习编程技巧的好方法, 你可以查看其他人的代码,借鉴别人的想法和技巧,从他们的错误中学习,积累自己的代码经验,如果你使用 Linux 或 BSD ,整个堆栈是开放的 - 只要是眼睛可以看到的,都是你可以采用的。


实际情况是,你可能不会去深挖项目的源代码,而是从侧面突然意识到自己意外地学会了代码。

编程是一项艰苦的工作。 如果不是的话,所有人都去做了。


但又幸运的是,编程是逻辑化和结构化的。你不会深陷其中,因为越捅破它,就会越理解它。


理解如何控制和自动化电脑是一回事,但知道如何编写其他人想要自动化的东西是你跨入编程领域的关键点。


第五步:选择最适合自己的语言



所有编程语言的目的都是做同样的事情:让电脑计算。选择一个你想做的、你想针对的行业中常用的语言,并考虑是否现有的资料和你的学习方式能让自己更好地去理解它。


通过一点点研究,你会得到一个关于语言复杂性的参考,然后根据自己当前的水平尝试最适合自己的。


选择一种语言的另一种方法是观察你的目标,找出朝着同样的方向努力的其他人,然后看看他们在使用什么。如果你的目的是开发桌面工具,你可能会学 C 和 Vala 中的一个,或 C ++。


一旦你学会了一种编程语言,当你需要完成一些工作时,你会发现拿起另一种语言会比较容易。毕竟“语言”只是一套语法和规则,学会一个,在同一个理论上叠加新规则是相当微不足道的事情。


所以说,最主要目标是先去学习一门语言。选择一个有意义的,或者最有吸引力的,或者你的朋友正在使用的,或者有你最能读懂文档的,然后集中注意力,专注去学习它。


第六步:了解开源背后的知识,如协议


不管是正在学习编程的新人,还是准备进入开源的老司机,在跳入这个新世界的大门之前,你需要了解什么是开源。


“Open”一词不是商标,没有委员会管辖要如何或何时才能使用这个词。 然而,由 Debian Linux 已故的 Ian Murdock 共同创办的开源计划(Open Source Initiative)定义了开源的含义(允许软件被自由使用、修改和共享的许可),正式认可和履行 licenses 才被认为是真正的 “Open”。


将其中一个许可证应用于你的代码,你就是一个真正的开源程序员。 恭喜!


第七步:加入开源社区,了解开源项目运作







请到「今天看啥」查看全文