Stop using Open Source
And start writing it.
Yes you can. And I’ll show you why a team of French students from the ENSIMAG did not regret taking part in the open source adventure.
A bit of context
Every year, the second year students of the ENSIMAG, a French engineering school specialized in computer science and applied mathematics, take part to a four week “speciality project”.
Some subjects are about implementing fake (boring) databases, some other are just huge: for years students have been adding wonderful functionalities to Firefox and Git, I myself had the chance to present my work to responsible of the French Ministry of Higher Education. The project I’d like to talk about belongs to the second category.
I thought it could be cool to be the teacher once, after struggling with those insane assignments for years. So I decided to push those youngsters to work on a subject I do like (you should know it already): text editors.
Absolutely no regrets
To a first team of students, I proposed to start implenting an innovative text editor from scratch (the repo : https://github.com/stretto-editor/stretto). It’s based on Vim mode philosophy and written in Golang : the recipee a hundred percent of programming pleasure. But that’s another story.
To a second team, I proposed to join an existing project, Neovim, “literally the future of vim”. Neovim is a good project to learn programming, because it is a rewrite. That means that you can see the real, dirty part of the job : getting into code that is older than yourself, understand it, and make it better. By far the best way to learn Uncle Bob boyscout rule:
“Leave your code better than you found it.”
Neovim is neither as big as Firefox nor a small project from a band of nerds in a garage, so it’s easy to get in touch with the contributors.
Feel the community
From my point of view, which means, the guy who pointed them to the repo, told them “talk to those people”, and that proceeds from time to time to tell them to test their code so that they got a good grade or other teacher-like lecture, this was pure pleasure.
Why? Because the power of a community is infinitely strong (I don’t care if this sounds cliché). It’s like having your code proof-read a hundred time by a hundred different programming experts. Actually, that is what really happens. This because the total amount of work is divided by a great number person and therefore sums up to “not that much compared to the result” for everyone.
Yet, I don’t want to diminish the core contributor work, which is impressive, so I’ll end up this article by a remerciement, as we say in France, to every contributor of the Neovim team. I also would like to thank the students for showing such a maturity (Audrey Rayé, Aymeric-Brice Collange, Robin Elrharbi-Fleury, Clément Guyomard and Philémon Hullot) and the Ensimag teachers for making this project happen.