Alexander Beletsky's development blog

My profession is engineering

Open Source

I heard about open source probably the first year I started programming. I liked the idea of software to be not only presented as a final product, but with ability to see how things are done and change something if you want. For me, open source was really related to operational systems and drivers, Linux as great example.

A bit later I realised that open source is also about contribution. If you have a certain skills, you can join the project you interested in and try to help. I’ve seen some nice open source examples – tiny operational systems, drivers, music players. Almost everything was C++. The problem with C++, it’s hard to build something from sources. You typically missing some binaries, headers or SDK’s you don’t have on your machine.

When, I saw the change after Java and .NET after appeared. A lot of great things just became available in open source. Not only operation systems or drivers.. But rather tools. Like NUnit, Ninject, Moq etc. That you are using more as developer. Both .NET and Java unifies build process, so it’s easy to deal with projects. Like compile version with debug info inside and play around with a debbuger.

Being involved to .NET development, I definitely saw the affect of open source. Community had informal competition between official Microsoft’s frameworks and open source analogs. I would not say those analogs were perfectly good, but they were good enough to use it in real projects. But more important, you can join the project by submitting bug reports, fixing docs or send a patch.

The situation changed when first Git and GitHub after appeared. Git solved major open source problem, being easy to contribute back (distributed system and forks) and GitHub implemented pull request idea, that simplified code contribution a lot.

There are different opinions, but as for me GitHub really influenced open source world in a good way. Apparently, if you have GitHub account, you are a closer to open source as possible. First, you create you own repositories and trying to show the world something that you think matters, second you see a lot of other people project and could join anytime you want.

A lot of great examples of open source products appeared – MongoDB, Nginx, Docker, Redis, Node.js, NPM etc. That was my huge impression after I switched from .NET to JavaScript development.

Not only as a developer, but also as entrepreneur I see open source is great. The full stack for your product, could be open source.. from top to down. For Likeastore we use something like: Ubuntu, Docker, Dokku, Git, Node.js, MondoDB, Express.js and hundreds others open source libraries. The costs of running on open source stack, significatly lower then licensed software. You still paying the money, but amount are really affordable for small companies.

Open Source is awesome.

I wish next year I can participate more open source projects, I’ll create some useful projects and open source will became a culture of Likeastore as well.