Choosing Projects To Work On

And the journey into the Open Source world begins


    How should a person start one's experience with open source projects? Well, the answer to this question probably won't be trivial - with oneself.
    When contributing to an open source project, we need to know our own skill set and what we are capable of, what we would like to learn and/or research; and, on a base of that analysis, we will be able to narrow down those specific projects, getting the crème fouettée of them, something that we can and would like to put our attention on.

Closer to the the matter please

    Alright, to be specific, for me the true joy dwells into low- and high-level back-end programming languages. Please, don't take me wrong, there are incredibly interesting and powerful front end languages as well, it just happened that I don't find myself incredibly excited while working with them. Well, what am I going to be looking for? Something low, something of cross-platform type possibly. If I were to put it into more precise words: C, C++, C# (yes, I love "C", don't you c?), Java, Android SD using Java. These are programming languages that I know (to some extent) and treasure (to the highest extent), but the list is not limited to them only; I'd love to also take a brief look at such languages as Rust and Lua.

Alright, a bit more closer please

    Now, thinking about what projects to contribute to, I found the following 4 interesting examples:
  • C/C++: Open Source Computer Vision Library  - opencv.
  • C++: Machine Learning Framework - tensorflow.
  • Rust/Lua: ggez - lightweight cross-platform game framework for making 2D games.
  • Rust: The Servo Parallel Browser Engine Project - servo.
    My interest was peaked specifically by these 4 because of different reasons: opencv is a library, which I currently work with, so I would love to get to know it a little bit more and add something useful to it as well. Tensorflow seems to me a great opportunity to broaden my limited knowledge of machine learning algorithms. And ggez and servo should be great challenges for me personally - to learn completely new for me technology and get familiar with it enough so I would be able to perform a fix one or more bugs. I am not quite sure about my abilities of contributing to the projects, which work with programming languages I am not familiar with, but I will definitely give it a try since it will provide a great personal experience with real-life projects. 


Comments

Popular posts from this blog

Two Different Frames of Same VidioCapture

Node.js: fs.open()

Good friend penguinV