How to start to contribute to open source (properly)? đ€ Step 1 â personal part
Following the steps laid out for the reader in this publication
List of projects
I adore and use a lot of open source software. But after thinking a lot I came up with the following ones to participate.
Itâs my dream to make software used by billions devises all over the world better and I do believe that Iâll have a chance sometime. I am attracted by low-levelness and âfundamentalismâ of operation systems although having a very poor skills in used technologies.
Written mostly in C and partly in ASM itâs huge, fast and mature.
For now I use a Linux based «elementary OS» and Iâve been using Linux based systems for 3â4 years for now.
I rate my knowledge of C as 2/10, ASM as 1/10. Iâve read: «The C programming language» by Dennis M. Ritchie and «Assembly Language Step by Step» by Jeff Duntemann. Although had almost no practice. (Iâm scared of ASM a little)
Iâve read some books on how operational systems works about 2 years ago I hadnât practiced that skill. «Operating system concepts» by Dan Sayre, «Modern operating systems» by Andrew S. Tanenbaum.
I believe «Linux Insides» is a good information source although I didnât read it.
(Space)Emacs đ
The other thing I do love is good text/code editing experience. There are no software that could deliver as good and extensible one.
Itself Spacemacs is a âbig settings fileâ written for Emacs. Emacs was developed by Richard Stallman and uses C (in core) and Emacs Lisp (Lisp dialect). Initial release of Emacs came out in 1976 (!), 20 years before Iâve been born.
It has huge community, good documentation and wiki.
(Emacs) Lisp might seem somewhat forgotten and almost useless language but there is a clojure  â the JVM reincarnation of Lisp.
During this time itâs became whole ecosystem: you can check email, use twitter and to other stuff in Emacs. The most important thing for me that it has is «org-mode» which is basically a markup format with âprogrammable diaryâ. You can create nested lists, schedule events, create and track TODOs and use agenda view. This is a good video to understand itâs abilities.
I do view this project (emacs, spacemacs and different plugins) as same cos of forming the ecosystem.
C â 2/10, (Emacs) Lisp â 0/10.
Text editing is connected with CS fundamentals as graphs, search algorithms and statistics a much more than any other field. At the same time as Emacs core created in C itâs about buffers, C memory management, pointers.
So I do need to train my C, Lisp and general programmingâs knowledge.
I have book «Text algorithms» by Maxime Crochemore in reading list it might be somewhat helpful.
Goals
I would rate 3 pull requests in the next 3 month as a success for the beginning of this adventure.
Also I guess it might be useful to use online training resources as https://codeforces.com/ for the begging at least. My goal for the next 2 weeksâ 10 exercises in C for the next âpracticalâ publication.
Time management
I usually woke up at 6 am and itâs not a problem for me to start right after breakfast in any week work day when I have no classes before 08:00.
At the same time when I have studies if the ends before 16:00 I can do it right after at the universityâs library.
I think I can afford about 3 hours per week for this activity.
