4 ms·
My approach has been to only engage in activities where I can get a lot of value out of failure. Personally, I chose to work on Open Source projects because the
by jondubois 8y ago
My approach has been to only engage in activities where I can get a lot of value out of failure.
Personally, I chose to work on Open Source projects because there are a lot of possible upsides:
- It gives you an opportunity to learn a lot about a specific field and become an expert in it.
- Better job opportunities and career security (being the founder of a moderately popular OSS project can help you to build your personal brand).
- You may be able to monetize your project by offering consulting, fremium model or add-ons; OSS can help you get your foot in the door at a lot of companies.
- You can use your own generic open source project as a foundation to create your own commercial projects. If one such project fails financially, it's no big deal, you can just refocus your energy on a different commercial project and still use your OSS work as the foundation so you don't start from scratch.
Also, the cost of participating in OSS are pretty low since it only uses up your time; you don't need to invest any money for marketing.
The other thing about OSS is that sooner or later, smart people will figure out that your free solution is superior to commercial alternatives and this will give you an opportunity to form meaningful professional connections with these kinds of people.
Better to have a small community of highly involved and intelligent people than a huge community of apathetic people who are only there because of marketing.
- zanny 8y agoI've always struggled with how if I want whats best for my resume rather than fix a project that has gone unmaintained / slowed down / is popular but just needs more hands on deck it makes more sense to start from scratch so you can "put your name on it". I've made dozens of FOSS contributions over the years but usually its "I want X fixed / working, I'll spend a week learning the codebase and fixing it". Sometimes I can find 2-3 of those in sequence on a project, but while I'd love to hang around in one large codebase (I was active in the Clementine music player for quite a while) a lot of the larger issues in a project like that are structural and would take months to develop and would require your commitment of time in the long term to support and maintain it. Which I'd be all for, but employers really don't give a crap if you are only the #8 comitter in a project with 10,000 commits. Even if your ~500 is twice as much as you would have made developing your own stripped down clone of the project to call "yours" and get your foot in the door. Just over the holiday break I was doing some patches for Krita - I'd never worked in the codebase before so there was a lot of exploratory work involved. I implemented the feature I wanted and left dozens of questionable design decisions and undocumented behavior untouched / refactored not because I wanted to but I realized if I want "resume cred" I can't be doing trench work like that. I implemented arbitrary button support for action events because thats something I can bullet point easily. "Refactored the input system to avoid memory leaks, wasted cycles, and streamlined the ergonomics with C++17 features" doesn't turn heads. It just feels wasteful to have spent probably ~10 hours just reading ~5,000 lines of C++ to learn an entire subsystem of a program and to just leave it at that when you can tell there is a lot more room for improvement but its also much more nuanced. Its why everyone gets feature pull requests and none of the bugs get fixed because most bugs worth fixing are structural ones that would take a lot of effort for little "payoff".
- nvarsj 8y ago> since it only uses up your time Not sure about you, but time is my most precious resource. Having kids does that to you fast. Also being involved in the local community, having friends, hobbies - oh how I wish I had another 20 hours a week. Being a serious OSS contributor is almost like having another full time job.