5 ms·
The reasons you write open-source code: - training purposes to better yourself - as a showcase or to build up your reputation to get hired - because you
by mgaunard 5y ago
The reasons you write open-source code:
- training purposes to better yourself
- as a showcase or to build up your reputation to get hired
- because you have a niche need in your personal life that no one else already solved
None of those reasons are invalidated by big corporations using open-source without paying back.
- im3w1l 5y agoWriting the software and releasing it with a non-foss license might be a better fit for such a person. Free for personal use? Sell it for a modest fee? Put the source on github without allowing people to modify it? Many possibilities.
- kzrdude 5y agoI'd like to include my reasons: - It's a lot of fun - It's addictive Honestly I was a bit struck when a friend looked at my github and said it was a nice portfolio. The material view never hit me at all: my github is a product purely of what I've wasted/spent time on for fun, not to make a profile. :)
- rnoorda 5y agoI'm not a fan of the trend I've seen where GitHub is treated as a portfolio- I once had a hiring manager I worked with tell me I should delete a few of my GitHub projects, as they made me appear "amateurish." I WAS an amateur! And I don't want to feel like I need to to hide random things I've tinkered with just to impress others. As a result, I know those who have multiple GitHub accts, one for fun personal stuff and one for showing off to potential employers.
- ChrisMarshallNY 5y agoOr, you could do every bit of work as if it were for a vital infrastructure project. That’s what I do. Even my “farting around” projects have a lot of polish. I write everything I do as if it will ship. I find it establishes great work habits and personal integrity, and my GH ids (I have a personal one, and a couple of org ones) make outstanding portfolios[0]. Not to worry, though. My experience, is that potential employers never look at at GH portfolios. Instead, they rely on leetcode tests to evaluate applicants. [0] https://github.com/ChrisMarshallNY https://github.com/ChrisMarshallNY
- jefftk 5y agoIt really depends what your goals are. I often have a problem I want to solve in my personal life, and not very much time. (Ex: code that makes the figures for a blog post.) So I write quickly, doing the minimum to get it done. I would never do that in a work context, because the environment there is so different, but it's often the right trade-off for things I'm doing for fun. (And I still make all the code open source because, well, it might be useful to someone even in the state it's in)
- ChrisMarshallNY 5y agoAbsolutely. I don't make any value judgements at all. I am quite aware that my own workflow is not for everyone, and is not inherently "better," in any way. I do a lot of self-discipline "tricks," in order to enforce a certain habitual workflow, and this is one of them. Many folks get far more done than I do, using very different techniques. I just enjoy the process and the Craft, as much as I do the end result. One significant advantage, for me, is that I never have to worry about cleaning the house before the boss comes over for tea.
- sdiupIGPWEfh 5y agoIf that's what you want to do and what you have the personal time for, that's fantastic. For others, being obligated to reach that level of polish means a ton of code will simply never happen. I'd liken it to an artist's sketchbook. If every piece is required to have the appearance of a master work, lest you be judged by it, then the sketches must remain private or else be destroyed (which they often were). But the masterpieces don't jump to the canvas without sketches. Forgo one, forgo the other. And an artist's sketches often have an elegance that's lost in the translation to a finished piece. I see similar parallels in the rough line art for animation, and certainly in an architect's studies. Not all of it is destined to be finished, either, but such work is often prized regardless. So why (aside from fearing for our careers) should we be afraid to share? Some code is inherently low-stakes. Some code will only ever be useful, even to the public, for a few months. Sometimes I just want to express an idea, where the proof of concept matters far more than making something shippable, which might imply strapping it down to a particular platform or ecosystem where no one outside those walls is likely to see it. Even on the job, there's a time and place for the quick & dirty script, where anything more would be an over-engineered waste of time. Back to the artist analogy, the best advice for maintaining a good portfolio is edit, edit, edit. Constantly be looking to remove work, leaving only your best, as you'll be judged by the worst. Does that model really work for GitHub? If everyone started withdrawing work they were no longer satisfied with, we'd all be worse off, if not actively harmed. So that's where I believe my artist analogy ought to end.
- Matumio 5y agoI find this materialistic view depressing. Not everything worth doing is ultimately about selling your lifetime to the highest bidder. Some things are just worth doing intrinsically. Like, fixing a bug that affects a high number of people. Or solving a problem just for the fun of it.
- kzrdude 5y agoYes, and there are some great take-aways that I didn't know I would get when starting, like connecting to very smart people and learning a lot, as well as being accepted as one (maybe) in the community of those.
- austincheney 5y agoThat does not work. After several years of hard work a prior open source project that grew to immense popularity got me employment a few times. It wasn’t the actual project, code, or capabilities that meant anything. The only thing appealing about that project was it’s popularity. Nobody ever looked at the code, except people interested in submitting pull requests. If you think a prospective employer will take the time to analyze the code you are either applying for an exceptional specialized position or completely mistaken. Work on open source because you like to solve tough problems, want to grow as a developer, or because you just want to build some interesting product. Don’t kid yourself into thinking the code will immediately solve some business interest.
- mgaunard 5y agoWell that's precisely how it works, why would you expect an employer to review your code for free? Instead they'll just look at whether you contributed to big projects. Someone who managed to make significant contributions to Linux or LLVM for example might be better than the average joe.
- chii 5y ago> Someone who managed to make significant contributions to Linux or LLVM for example might be better than the average joe. which leads to people who want to use this mechanism to claim credit in projects they don't actually have contributions in, and because the employer doesn't actually look at the code, they cannot tell. I recall a while ago where someone would contribute a skeleton README or some random typo fixes to many different project, and using that to make their claim to fame. So i reject the idea that employers should use open source contributions as a metric without closely examining what those contributions are.
- mgaunard 5y agoThere will always be people that lie or embelish what they did. One of the big reasons for technical interviews is to assess how much of what the candidate claims is true.
- fivelessminutes 5y agoThe original reason may not be invalidated. But as a continuous activity, over years, what exactly is in it for maintainers to get up in the morning and trade their remaining lease on life for value to be consumed by rich leeches?
- AndrewDucker 5y agoThey enjoy it. They need to for their own needs. It provides them with some other benefit.
- piaste 5y agoUnfalsifiable. You're basically saying "they're adults, so if they do it they must necessarily get value from it". Myth of the rational maintainer, if you will. In real life, people get (mentally) stuck into suboptimal situations where leaving would make them happier all the friggin' time. Bad jobs they should have quit. Bad partners they should have broken up with. Why not bad open-source projects they should have stopped maintaining?
- chii 5y agoone would just assume that people doing it are making a rational choice, and don't need someone else to second guess it. What's so wrong with this line of thinking?
- HWR_14 5y agoThe entire post your responding to is explaining what is wrong "this line of thinking" and while you may disagree you don't really argue, you just assert.
- fivelessminutes 5y agoOver the years, the itch they were scratching tends to get fully scratched, people move on from their needs to other things. What was enjoyable, becomes grunt work, like making the full set of unit tests for features users want, but you don't actually use yourself. Whatever this handwavy 'other benefit' was, stops being beneficial. But they're still paying the opportunity cost, sitting down as the older, greyer, burnt out maintainer while others get the benefit from their work.
- kkjjkgjjgg 5y agoMany also make money with open source software, for example a classic approach seems to be to offer consulting services around your product, or hosting. WordPress and ElasticSearch come to mind, both made a lot of money. You also get people adding to your product for free.
- rikroots 5y agoI agree with this, plus the "it's fun" reason others have mentioned. I started work on my canvas library (licence: MIT) 8 years ago mainly so I'd have something to showcase to potential employers. It worked: the reason I finally managed to land a job as a web developer was because someone took time to check out the library and decided the work I'd put in was worth them taking a risk on an older new entrant. Since that time I've continued to develop the library to help me deepen my knowledge of all things canvas. Especially since I started to look at ways to make canvas elements more responsive, and more accessible. But the main reason is just the joy I get from using it to create pretty demos and animations - the library scratches a creative itch. I got used to the idea that I'll never be rich a long time ago. Good friends are more important than money.