How to start to contribute to open source (properly)? đŸ€” Step 1 — personal part

Following the steps laid out for the reader in this publication

Grigory S.
Sep 7, 2018 · 3 min read

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.

Linux

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.

 by the author.

Grigory S.

Written by

like: tech, open source, travels, green tea with ice and honey; don't like: media's noise; personal website — altjsus.github.io (in Russian)

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade