Nine steps to become an open source programmer from scratch

Exploring the world of technology is a very exciting thing. You will find that there are many, many fields waiting for you to learn and dig deep. If you are interested in participating and helping to create better features and join the open source team, do you know where to start? What should be the first step? What is the twentieth step?

The first thing to understand is that open source is open. This may sound like nonsense, but the reality is that many people just forget that it is just a description of a cultural phenomenon, not the name of a Fortune 500 company. You don't need to go to an interview or complete a registration or registration form to become an open source programmer. Just do a good job and share the code. Ideally the code should remain open no matter how it is used.

That's it, you're an open source programmer!
Now that the goal is in place, what's the process?

Step 1: Find and choose your own Skill trees

Anyone who has played RPG games should know that there will be a concept of "skill trees" in these games. At the beginning, you will acquire basic skills, then continue to "level up" and acquire new skills, and then use new skills to acquire newer skills... Becoming
a programmer is a bit like the process of constantly adding new skills to your skill tree. Get some basic skills first, keep practicing them until they reach the second stage, and then acquire new skills. Eventually progress along the skill tree of your choice.
Along the way you'll come across a number of skill trees. Just like open source, there are many entry points, each with their own unique strengths, talents, and interests. However, certain accumulated learned skills help you become a great programmer, and they are an important part of successfully participating in open source projects.

The second step: programming, starting from Scripting

One of the advantages of POSIX systems like  Linux  and BSD is that every time you use your computer, you have the opportunity to practice a little programming. If you don't know where to start learning to program, start with how you work. Find out what tasks you need to perform repeatedly every day and start automating them. This step is actually as simple as converting or adjusting photos in batches, checking email, or even just automatically clicking to launch five applications every day. Anyway, whatever the task, take the time to automate something for yourself.
If you can do something from the terminal, it's scriptable . Learn bash or tsch and let System Scripting guide you through how to code and show you how the system works.

Step 3: Identify your own development direction

From here, you can choose to continue as a programmer, or you can make the leap to a different skill tree entirely: system administration. There is some overlap between these two professions, a good sysadmin should have a little programming experience and be ready to develop unique solutions using Python, Perl, or similar languages, but a programmer is more likely to be a day and night code-based companion.

Step 4: Learn from other people's open source code

Open source is a great way to learn programming skills, you can look at other people's code, learn from other people's ideas and tricks, learn from their mistakes, and build up your own coding experience, if you use Linux or BSD, the whole stack is open - As long as the eyes can see, you can use it.
The reality is that instead of digging deep into the source code of the project, you may suddenly realize from the side that you accidentally learned the code. Programming is hard work. If not, all have done it.
But luckily, programming is logical and structured. You don't get stuck in it, because the more you pierce it, the more you understand it.
Understanding how to control and automate a computer is one thing, but knowing how to program things that other people want to automate is the key to breaking into programming.

Step 5: Choose the language that suits you best

The purpose of all programming languages ​​is to do the same thing: to make computers compute. Pick a language that is commonly used in the industry you want to do, and the industry you want to target, and consider whether the existing material and your learning style will allow you to understand it better.
With a little research, you'll get a reference of language complexity, and then try the one that works best for you based on your current level.
Another way to choose a language is to look at your goals, find out who else is working in the same direction, and see what they're using. If your goal is to develop desktop tools, you might learn one of C and Vala, or C++.
Once you've learned one programming language, you'll find it easier to pick up another language when you need to get some work done. After all, "language" is just a set of grammar and rules. It is quite trivial to learn one and superimpose new rules on the same theory.
So, the main goal is to learn a language first. Choose the one that makes sense, or is the most attractive, or that your friends are using, or that has the documentation that you can read the most, and then focus and focus on learning it.

Step 6: Understand the knowledge behind open source, such as protocols

Whether you are a newcomer who is learning programming, or an old driver who is ready to enter open source, before jumping into the door of this new world, you need to understand what open source is.
The word "Open" is not a trademark, and there is no commission governing how or when it can be used. However, the Open Source Initiative (Open Source Initiative), co-founded by the late Ian Murdock of Debian Linux, defined the meaning of open source (licenses that allow software to be freely used, modified and shared), and formal recognition and implementation of licenses are considered true. "Open".
Apply one of these licenses to your code, and you're a true open source programmer. Congratulations!

Step 7: Join the open source community and understand the operation of open source projects

The most important thing in an open source project is people. If there are no active contributors, the project will easily stagnate.
If you want to join an open source community, you need to be part of that community. This usually involves subscribing to a mailing list, joining an IRC channel, or hopping on a forum, and starting at the bottom of the team. Any mature community has grown long enough that they're used to seeing potential members come and go, so you have to understand that when you're ready to change their world and get them to agree with your plan, you have to Prove first that you are not joking and will not disappear in three months. If you want to make things big, come prepared with plenty of time.
If you just want to leverage, that's acceptable too. Such as submitting small patches to the project, sometimes the project management will think these are good, and sometimes they will be rejected. If the rejected patch is important to you, you can maintain it yourself. Because it is also part of the process.
Where do these communities exist? It depends on the project. Some projects have dedicated community managers and post in public places for everyone to see. There are also projects around forums, using mailing lists, even issue tracking, etc.
In addition, there is an equally important step here, which is to look at the code! Since it is open source, be sure to find more codes to check. Even though it's still above your level of comprehension, it will give you experience of how to organize a project yourself, as well as directions for help you might need with that project at the moment. How is the code organized? Is the code commented? Is the style neat? Check out the documentation, especially the README, LICENSE and COPYING files.
Don't underestimate the importance of the commitment to open code. This is why you participate, so think from all angles about what you can learn from it and how you can contribute.

Step 8: Talk less and write more and contribute to open source projects

As an open source programmer, I don't think as much as I type code. You need to tell yourself what you're doing, be willing to spend time on the project, and have backups of your ideas and compiled stuff.
In order to do this, you should do some "homework" on the project itself to improve your familiarity with it. Including learning how a project accepts other people's submissions, which branches are stable, and so on.

Ready to start: 
Familiarize yourself with the project and its development culture, and respect it. 
Write a patch, bug fix or some small feature and submit it. 
Don't get discouraged if your job is rejected. You won't be rejected for your abilities, the work you do will be evaluated, and the development team will call you. 
If your work is accepted, change builds on approval. 
Keep repeating, and trying new and bigger variations.

There are no leaderboards in open source. Only if you do all the right participation and contributions, such as ideas added to the pool, stash added to commits.

Step 9: Expand new skills and continue to grow

Programming in any environment is always ultimately about personal development. Whether you're looking for new ways to solve a problem, new ways to optimize your code, learning a new language, or learning how to relate better to other people, you never want to stop growing. The more fully you develop yourself, the more beneficial the project will be.
Growth, both personal and professional, ends up on a list, but it actually continues throughout the process. Becoming an open source programmer is less like a steady government job and more like a process of constant fragmentation. Learn, share, learn again, get distracted by one other thing, and learn more.
The above is about the process of open source: open source, free development, the meaning of each word is actually the ultimate meaning of open source. So go find your skill tree, choose your strongest ability, pay your tuition (or time, or money) along the way, level up, and participate!

The original text comes from: Technology Achieves Dreams 51CTO-China's Leading IT Technology Website

The address of this article: Nine Steps Let You Become an Open Source Programmer from Scratch| "Linux Should Be Learned This Way" Editor: Liu Feng, Auditor: Pang Zengbao

Guess you like

Origin blog.csdn.net/bingyu1024/article/details/130855292