It was complex and a bit fragile as it was made of many different independent parts and tools, but at least it provided what was needed for an API. Finding all those frameworks and tools, and their perfect combinations, was not an easy task.
I found an issue titled “add an upgrade command” which seemed like a good way to “dive in”. I did just that, initially summarizing all of the existing discussions and then moving forward on the issue.
Open source sits at the intersection of business and hobby, so it's easy to get caught up and forget why you're spending enormous energy on a project that's neither fun nor profitable. You don't owe anybody your time. It's your responsibility, however, to draw the line.
If I have to though, one thing I'd say is, it really helps everyone if maintainers set expectations around their project. For spaCy, the project was always intended to be commercial, so the message from the start was, "You can count on this".
A lot of non-tangibles in software (good API design, interacting with the community, etc.) can on only come from being exposed to a lot of different projects. Open-source is one of the ways you can make that happen at an incredible scale.
But the best advice I could give for any project is: create a solution that you need and share it. If it helps someone else solve the same problem, thereby saving time and agony, others will appreciate it.
I was motivated to solve a problem that is nowadays familiar to many: how to have a modern social network experience without the downsides of big tech companies exploiting their users, abusing their power, and having biased content moderation
To create something successful, you need both things: to have the blind luck of being in the right place at the right time and then doing the legwork to sustain the momentum that the initial breeze of luck has bestowed upon you.
Also, important as it sounds, maintaining open-source repos is not the most glamorous job, and sidelining the maintenance in favor of new cool internal projects was a real issue for me.
Kismet started fairly soon after consumer Wi-Fi became readily available, around 2001. At the time there were only a handful of wireless devices supported in Linux and they all reported packets differently, making capturing packets a hassle.
I was building a quadcopter from scratch so I needed a tool to design the printed circuit boards. Until then I had used proprietary software but wasn't really satisfied with it. After looking for another tool, I realized that the whole situation was horrible...
Soon enough, I had some prototypes of just that traffic part of a city and seeing it work convincingly in front of my own eyes, with acceptable performance, it hit me: why don't I try and create my own city building game.
I was really impressed by how easy it was to bootstrap a site with this generator and really enjoying it as a tool. So when I saw a tweet from Evan You announcing the establishment of a VuePress core team, I jumped in and applied for the position.
I think one of the hardest things to overcome with open source software is the turnover. You have to be really careful with giving too much ownership over something to one person because next month they could lose interest and you have to spend a lot of time catching up on how that piece works.
Of course, companies like Google and Facebook need to be regulated, but we also need legitimate alternatives. The only way to do web analytics right, in my opinion, is to build a service that is completely open-source and guarantees 100% data ownership to you as the website owner.
Open source will teach you how to communicate, collaborate and work on a large codebase. The culture, openness, and motivation will carry it well into the future.
I remember that I thought "once Nim can bootstrap, it is essentially complete and done". Nothing could have been further from the truth, the real work began with the users coming to Nim, finding bugs and gotchas in the design, requesting more features.
Despite losing the championship finals match that year, I found a bright side to the mess: we came up with the idea for Reine. What if I could scan all of these chess scoresheets and have them analyzed by my phone?
I'm building Learn Anything, a platform for knowledge discovery that helps you understand any topic through the most efficient paths, as voted by the community.
From surviving clearfix and other CSS hacks to experiencing the advent of CSS3, and discovering the power of raw CSS in 2019, I'm just in awe of how far we've come. I want Cutestrap to be a reflection of what CSS can do in 2019.
One thing that I have realized about myself during this journey is that I love solving problems that frustrate me as a software engineer and data scientist and automating those parts of my job that I do not find as enjoyable.