Recorded live on twitch, GET IN https://twitch.tv/ThePrimeagen original: https://www.youtube.com/watch?v=XLVjSeusPYg author: https://www.youtube.com/@swifton MY MAIN YT CHANNEL: Has well edited engineering videos https://youtube.com/ThePrimeagen Discord https://discord.gg/ThePrimeagen Have something for me to read or react to?: https://www.reddit.com/r/ThePrimeagenReact/
ADVERTISEMENT
In summary: you can use every argument against open source very easily for closed source too.
one word: Blender
He makes creative PC games, sometimes spending years to make a single one, and has a relationship to his source code as a sort of an artist. His types of projects are totally incompatible with open source.
A co-worker and I worked on a feature to make event listeners more efficient in a golang repo (our first google pull request, we were excited!). We found the problem, fixed the code and submitted a pull request but the build broke because of some internal testing tools they were using and instead of fixing our build the guy copy and pasted our code into his own pull request and self merged. We were livid.
If you have an issue with subitting pull requests to an open source project, you are free to branch off of it and make use of the changes yourself. There needs to be a quality gate somewhere.
I contributed a pretty big pull request to add a feature into an open source project, and have been waiting for the review to get updated for 2 years (and after trying to get the reviewer's attention once or twice). But my solution was just to release my own fork of the software, which is one example of why open source is great. I don't HAVE to wait for developers/maintainers who can't be bothered or for who a review is too overwhelming.
you nailed it: you can't apply political analogies to software because software isn't scarce/rivalrous and politics is about assignment of property rights to rivalrous goods
open-source doesn't have to mean you have to contribute to the upstream, you can just fork and do your own thing and merge the upstream periodically if you want
"I don't like submitting PRs because people whose taste I don't like judge me" "If you object to criticism, you're just anti-engineering" It doesn't feel like he's consistent with himself here. There are plenty of levels that a contribution can be evaluated at; not just code quality/correctness.
People think "open source" is some sort of movement but in reality is just code that is open for people to see, suggest changes or fork. It's not some movement or entity that people work for. It's voluntary and free
Whatever the state of open source might be, the fact that the highest quality proprietary software (Office, Adobe Suite, Sony Vegas) universally goes down the "SaaS" rent-seeking route shows that it stagnates at a pace far worse than that of open source.
In Open Source you don't throw some code in a PR and expect it to get merged. Bonus points if that's your first interaction on that project/community. Create an issue first, talk with the maintainers and make sure you're on the same page. Your code gets reviewed and some changes are requested? You decide if it's worth discussing/updating your code or if the project/community is not for you. Reviews are there to "protect" the project, whether you agree with what you're being told or not.
For some reason I am drawn to disagreeable people with outlier opinions. I don't even agree with them necessarily I just learn a lot from their perspective
The point you make at 13:50 is so true, I really feel that as a QA. Some devs really take bug reports personally, and as a QA I often need to try to be as kind as possible. It's really hard to do when the same bug pops back to life again and again due to bad practices, in those situations all I want to do is fix it myself lol
I'm in the opposite camp: I hate close-source software and usually just ignore it
The mediocrity of code: again: not a good argument either. Because closed source software can be mediocre too and there you can't even forge it so you can change it according to your own needs...
14:30 The sad part about the Actix debacle is exactly how inadequate the community response was. While the maintainers idea of "safety" didn't mesh very well with what community is used to, the form in which this was communicated to the maintainer was bad enough to make him step aside, which does not sound like a sign of a healthy and welcoming community rust project aspires to cultivate
The problem with JB's PR alternative is that the actual idea behind PRs is that it gives you a path to bring new blood into that inner circle (Not just making that up... that's something Linus pointed out). In some cases (e.g. Google) that's not necessary. But generally companies do Open Source because they want to open up the chance that other people will help with the maintenance. Functionally if you don't agree with the taste of the entrenched inner circle then you probably shouldn't be trying to join the project. One of the criteria for selecting new blood necessarily involves making sure they're not going to diverge from the project's style.
Open source is the source of information and inspiration and a wonderful learning base for every developer. The resulting projects are an absolute added value and future-proof for a company that uses open source. A closed source vendor can turn off support overnight and that's it. With open source projects, you have the opportunity to fork and further develop the project.
Well, accepting PRs allows to find some new people for the team... there are fenced off open source projects having serious succession problems which might not have happened if they'd be more open to contributions.