@@ThePrimeTimeagen Of course there are lots of incompetent people at lots of closed-source companies. The difference is that when running a company you *can* have quality control, and this is effected via hiring and firing policy, engineering direction, etc. This is still difficult and it's not too surprising that many companies do a bad job, and that companies tend to be ever worse at this as they get bigger. But from my perspective as someone who runs a small company and gets to decide what kind of people we hire, how exactly we go about programming, etc, there is just a degree of quality control far beyond what happens in an OSS project, and a corresponding degree of responsibility (if we make things that suck, it is ultimately my fault). So my viewpoint is not that closed source is fundamentally better on average than open, etc, it is that closed source *can* be better if executed correctly. When your development model is that you are curating PRs that come in, you can do a better or worse job at curation, but you're fundamentally limited by the quality of the input (and also by the quantity; once the quantity gets large, you can't realistically vet it at a decent speed without having a bigger team to vet it [which decreases quality]). When you're not paying the people producing the input, it is pretty hard to incentivize quality. (It is hard also when you are paying people, just, easier).
Oh, on the "creativity" point ... I think you will find almost no JavaScript frameworks are creative, but I wasn't even talking about those, I was talking about actual programs that people run. Take video games as an example. How many video games are developed closed-source, and how good are they, and compare to how many games are developed via an OSS development model, and how good are those? Now remove all the games that are just clones of other games, and see what's left to even compare...
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.
@@alexvitkov That's not what he meant. What he meant is that if they understood the license then they'd know the moment they submitted that PR it was now part of google's domain. Companies do this so that third party programmers can't pull a "Remove all of my work as it's copywritten by me and I no longer allow you to use it."
@@Microtardz It simply has to be like you explained. Otherwise every such project would guaranteed to be stalled. Look at the timeline you are commenting on (and finding some excuses for this guy ... ): It just needs one dickhead like guitarszen who thinks he must call strangers names and over-react in this comically respectless way, including his attack on the "victim". What we can do in this case is to point out that the google employee plagiarized the work of others, which may turn into his academic self-destruction or not (O can over-exaggerate, too:P). License or not: This was an absolutely intolerable move of that "guy" from google. And so is the reaction of guitarszen. What an anti-social little child. No one needs like this. Also: Some actions from your co-workers around community driven projects may be mistakes, intentional bad or not, but legal. And then? The world-view of guitarszen ist just embarrassing, like he never interacted with other people. That someone "murders" your respect doesn't mean you have to do the same "eye for an eye" BS to others. There are actually people out there who make voluntary work and do it not because they need a "badge" to brag with or to have the possibility and intention to sue their fellow citizens for every little fart.
@@alexvitkov I understand how you feel, but if you want to extend or use software, and you don't want the original author to be a dickhead, you have to specify that in the license agreement. If you want to exploit your extension for publicity or credit, my recommendation is that you make an agreement for that, or do not contribute your extension to the original code-base. If the original software is not pluggable, make it pluggable. Then build your software, and license/sell it as you wish.
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.
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.
@@ThePrimeTimeagen instead of bashing young engineers, Jonathan should go after managers working in tech who know nothing about technology while at the same time getting paid at least three times more...
@@bobby9568 Nah man, typing codes and pulling up reports aren't the same thing. It's less productive for the manager to code instead of doing managing work. And the market decides their salary, if you are not satisfied with being an engineer, be a manager instead.
@@derpysean1072 Who said something about the manager starting coding LOL! True, coding is much more difficult than pulling up easy peasy reports. The market doesn't decide, engineers are too stupid to understand their own value and hence the popular managers take the money while they let engineers work as their slaves. That is why engineers want to work at FAANG companies because they get paid a lot. Nice try though Mr. Derpy Sean the manager.
@@derpysean1072 Ah yes, the market, well-known for making correct decisions, and definitely not crashing the entire economy every 10-15 years. Thinking that the guy signing your pay check actually deserves 3x your income because "the market decides" is no different from a serf thinking their lord deserves half their produce because "God bestowed upon him the divine right to my servitude."
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
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.
Exactly. What would be the alternative in closed source? Create your own company and build the thing from scratch to make it better? Sure, it can be done, but what takes more effort and what are the chances :D
@@frederikholfeld868 this also runs into a lot of lawsuit problems even when done the right way, whereas in open source, the most they can do is complain at you.
Sometimes if it is a small project, the maintainer might not be checking. If it is a large project, it might be overlooked. It is so much free time to maintain a OS repo that it can get pretty overwhelming to keep it up. I won't pull anything in to the few I have unless they have testing in the PR too. Unit tests are (at this point) the best way to prove "it works"
Blender is dope... Without it we would have to pay thousands of bucks for propietary softwares like Maya, Cinema4D for hobby projects and non-commercial use. Blender is still not the best but it is taking over very fast. I love open source❤......
@@ThePrimeTimeagen I'd disagree Blender is like the vim of 3D software. Massive learning curve, incredibly comfortable and easy to use after. Also crap ton of community addons
"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.
Also "I don't like when outsiders complain about code" while being an outsider complaining about open source processes. Also interesting how he claims to dislike this gatekeeping but ultimately just suggests gatekeeping as an alternate solution.
These clips are from different times, and although not taken of out context, he's thinking out loud more than anything. He does try to sound convincing though, but that's kinda his thing. He makes it sound like every opinion he shares is a super strong opinion which clearly they aren't.
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...
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
So often that you would be able to just find what the fuck you are doing wrong or what doesn't work when you can just look at the source code. Not being able to just puts you at the mercy of whoever is developing the software.
I dare to even go a step further and say that many of the mentioned problems, if not most of them, are basically closely associated with Github, a platform which itself is closed source and owned by Microsoft. I would like to see a comparison between the different open source collaboration platforms that exist, including Gitlab and the several mailing lists that exist as well.
@@ThePrimeTimeagen "Critical Basket Weaving" sounds like a portmanteau. The 'critical' part sounds like art/language analysis where everyone gets to have their say about how e.g., a book made them feel and what it's "meaning" is with regards to their feelings and the community they represent. Literary criticism is a common topic in the social "sciences" programs of various colleges. From those roots sprang programs like "critical women's studies" and "critical race theory" etc. Basket weaving is an older meme stemming back maybe to the hippies? It's part of a broader set of stereotypes that would also include drum circles, singing Kumbaya and eating granola. Again, it's a picture of extreme inclusion where nothing is actually expected from anyone, therefore all can be welcome.
@@ThePrimeTimeagen You're right. Which is why I think Johnathan is wrong. Any contributions to an open source repo are also an implicit maintenance burden. There could be a ton of reasons why changes are rejected, like implicit maintenance burdens, or conflicts with future roadmaps, but he doesn't mention any of those as valid reasons for rejection. It seems like Johnathan is complaining about project management because he disagrees with the direction the project is heading. Which is exactly why open source is superior to closed source, at least for outside observers. If you disagree with the original maintainers enough to fork the project, accept the full maintenance burden of the codebase, and rebuild the entire community around your fork, you have that opportunity. It's not easy, but maintaining a highly public project is never easy. But it can be done. Many successful projects like Jenkins and Libre Office came out of previous failed open source projects. Even though the original project died, the code lived on. With closed source projects, you don't even have the opportunity to fork the codebase if you disagree with the original maintainers.
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 feel you! I moved from QA, test automation to software engineering (development) years ago. I see how many my coworkers behave exactly as you described. Is personal insecurity, psyche problems, inflated egos etc. What I can say, having tester hat helps me writing software (TDD, BDD style) tremendously! Good luck!
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
@@reinoob Open-Source = code is available to the public Free software #1 = the software has no cost to acquire/use Free software #2 = the software has no limits on what you do with it FLOSS (Free/Libre Open-Source Software) = code is available to the public, the software has no limits on what you do with it, still can be charged to access the binary itself if you have never interacted with the code before (not always).
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.
I had my changes accepted then reverted with no explanation (even in the commit message) and the maintainer just wrote their own version. That's ok but I was a little bummed there
@@max_ishere that sounds like a really frustrating experience, I'm sorry! However, I wouldn't blame "Open Source" as a system. Trolls, as well as disrespectful maintainers, might be everywhere unfortunately.
@@max_ishere your change still has contributed as the maintainer had a chance to learn from your change until they found a version that they're more happy with. The end goal should be the working project not some few lines of code that happened to be committed by you personally that run there.
@@Jamey_ETHZurich_TUe_Rulez given they are in the history this is easy to point out and prove, so name and shame as appropriate, they are literally violating their own license in the case you outlined. This is still not an open source issue however, it happens even more in corporate environments.
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
Can you expand on what you mean by "software isn't scarce/rivalrous"? People's attention (and money, if the software is sold) is scarce, so software organizations have to compete for that attention. As an open source developer, you're competing for attention from whoever owns the product. That owner's attention becomes more scarce as the product gets more attention from users, because competition to contribute increases. There's a ton of scarcity and rivalry in software, unless you're just making something for yourself. Even then you have your own time economy, but that's a tangent. Also, people would mostly agree that systems of power transference (voting or whatever) are political, which is not only about property rights. Political decisions involve our bodily autonomy, ideas of justice (how much spending should be done to solve a murder case?), and many other things. But, back to goods... how is software itself not a good?
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.
the entirety of all cloud data centers, where most software of note runs, is a rent model where mega corporations leverage a gamut of open source software - they are the ones that monetize open software whereas everyone else attempts to monetize open source software are just rounding errors relative to these large corporations. At the end of the day, the most high profile open source software is filling the coffers of a handful of mega corporations, and that's about it.
@@3_smh_3 I'm not sure it's right to describe highly profitable companies as having a shitty business model. It's more like they're poorly aligned with serving the good of mankind.
People love to complain about SaaS, and sure, it sucks for those who have to pay for it.... but how else do you reasonably finance sustained SWE effort? As a business, if you're selling single license forever, that's just not sustainable.
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.
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.
How would one even make super-programmers? Do you just train 1000 people, pick the best 1%, and tell the rest that they are trash and just wasted 10 years of their life so they should go change careers?
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.
I hear what you're saying, but closed source software generally has a much better track record for backwards compatability and future proofing. I hate Microsoft more than anything (except maybe Oracle), but I can't help but admit that they're the absolute best when it comes to backwards compatability. I'm maintaining code for a small company that has software written in the 90's, and it still just works. We're trying to sell them on rewriting their software, but its hard because their shit just "works" with little maintenance (aside from a bunch of scalability problems). I get maintaining your own code isn't exactly what you meant, but the point I'm making is no one uses windows thinking that the software they run on it today won't run on it tomorrow. That's basically an expectation, and Windows would not do that if it were opensource. Try running some 20 year old software on Linux or one of the BSDs. Its a huge pain in the ass relative to Windows.
Making the code open source won’t magically hinder any of that, the code can still be shown, thus allowing people to learn how to make their code future proof
The latest VS Code update included a "bugfix" which was actually a feature change: instead of leaving Python docstrings highlighted as strings, some guy created a pull request that changed them to be highlighted as comments, which is incorrect. There has been a lot of pushback for suddenly changing all the themes in VS Code to incorrectly highlight docstrings. The guy thought he was correcting a wrong behavior, but it ended up being just his personal preference being foisted upon everybody else. So now there is a pull request open to revert his change, and there is an issue about making docstrings and block comments separate tokens for highlighting purposes.
Man, I am not joking when I say I could literally watch a couple hours of you reacting to jonathan's out of context rambles every other day. It's the perfect balance of crass truth seeking and thought inducing exploration. I love your attempts of adapting it to your own experiences and perspectives, seeing how true it could be in broader than intended areas. And even how you make it more palatable for more sensitive personalities, without losing his intended nuance. It ends up taking away some of the overly frustration filled tones he can have which can end up taking away from his takes at times. I'd love to see you two in a room/call some day for a couple hours, just hammering down each other's thoughts on software, mentality, work ethic and the like through your own lenses and without jumping contexts. Truly some of my favorite videos to just poke the old brain a bit
2:45 It's not hard to start a dialogue with the repo owner about a change you have in mind, get their take, and then get to work with some pre-validation that your efforts will be merged or at the very least seriously considered. Lack of communication from an owner gives you a good indication of what to expect.
@@steves9250 If a repo owner doesn't get back to you after attempts to make contact then i would consider that not having pre-validation, and probably an indication your efforts may lead nowhere.
contributing to open source is a way to really be out a cut above a regular engineer on a resume though. it's not an entirely thankless process, espescially if you're someone who is using the library and the thing you're fixing is a problem you need to solve with the library in your own application
Also, like what... "thankless". Isn't having contributed something that's useful for people thanks enough? Why are we doing things even - to get credit for it or you know, ultimately lead humanity forward? Feel like both views are valid. And one of them is more noble than the other. As it is, copyright laws and how western companies view their ip rights... it really stifles human progress.
Well... nothing stops you from just patching the code on your end and never making a pull request. Technically you are contributing to open source. The biggest thing to note is that, if you redistribute something using your customized code, you have to include the source code too.
Sqlite is an example of a closed developed model but the software itself is open source. One of the reasons they do this is for patent/copyright issues. They want to make sure that the code is not copied from elsewhere.
@@Comeyd because it’s used for shit it was never intended for. SQLite was intended for extremely simple things such as configurations, local storage on limited hardware, etc. instead I see it now used for things such as full on database applications and it doesn’t even have proper data types, making everything incredibly difficult. It’s nonsense.
Try getting a PR merged into an open source project and there's a chance it might be - surely that's better than trying to get code merged into a closed source project.
closed source if you're a customer, you can just say add this feature or I'm bailing go broke. honestly I don't think I've seen that work too often there are some open gitlab container logging issues from paying customers, legitimate issues they've ignored for years. And that's a hybrid commercial open source venture, there are submitted prs they've ignored.
@@zombizombi He's also right on another point. Faster and easier to add feature to closed source. When you have open source you always need to do proper interfaces in case someone starts relying on some part of your code creating dependencies.
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
I disagree, I think is more a case of "dont tolerate the intolerant". Maintainer get told there is a security issue in unsafe code + PR to fix it, maintainer brush it off as not an issue, a remote attack get demonstrated, maintainer decide to rewrite the patch still in unsafe, AND the cycle repeated. IIRC there was a demonstration for remote execution in both cases. And considering that was one if not the most used framework at the time, people using Actix got (in my opinion correctly) pissed off by the reckless behavior of that maintainer. And PR comment bombing aside, I dont think there was too much toxicity about it? I dont recall people being irrespectful or worse, but maybe i just follow different social circle than you do
@@lesto12321 I dont remember the maintainer saying anything wild. Remember that actix was not his fulltime job. I dont think that anyone has a right to say how he spends his time or runs his project, to be frank.
@@marcusrehn6915 I think most people would agree with you and did agree. Its his project and he has control for the most part. The people talking to him didn't really argue that. Most people showed him respect and understanding, only trying to explain the issue. The argument was never that he shouldn't have control over his project though. The argument was his code was incorrect and it was. People were taking time to fix it and point it out. His responses weren't the best but that happens especially when you are a non native English speaker. The real issue was that of communication. He didn't fully understand unsafe Rust. That's understandable. In the end he just got tired of working on the project. The most annoying takeaway from this was that neither party was really in the wrong. Both sides can do there best, be correct and still suffer at the end of the day. Frankly that just how life works and it sucks.
Everyone's welcome until you point out how unsafe the house is, then your a jerk that should stay outside. Systems of people do not like being informed of systemic issues caused by those people.
Open Source is not about everyone banding together and beeing accepting, no one is required to accept pull request from anyone, and if you just waste your time working on a pr without making sure you're on the same page with the mantainers you just played yourself. It's strength is that it enables people that disagree with something to just make their own thing the way they think it should be done, or if a mantainer or vendor tries to lock you out, or gives up on a project you can fork it, but that's the important part, you need to DO something about it and its not trivial. The worst part of the open source world are entitled users that just expect things to magically happen, don't want to pay for it, don't wan't to work on it, all they do is complain.
A lot of Open Source projects give multiple people the rights to approve pull requests -which is basically a trusted inner circle- but they do allow for outside contributions. How is that worse and/or different?
@@ThePrimeTimeagen I do agree with him when it comes to things like vim - with one guy on the helm. And given projects like neovim, others tend to agree with his takes in that case. But with a "trusted inner circle", which I feel like most big projects have, allowing outside contributions is what OSS is all about and specifically why it's great.
@@StruC Thats exactly how you can tell someone hasn't deeply thought about it, they have an opinion based around a specific scenario and generalize it.
2:52 I put together a really shitty pull request (that I knew was not a great PR) one time to fix an issue in libre office that I had started and was open for months (and had been present for years) and had got no attention from the developers. They rejected the pull request but fixed the bug themselves within 2 weeks. I was honestly not mad at this outcome at all. And for everyone who now enjoys using your keyboard media controls for external apps when using libre office, you're welcome :P
professional yapper. i especially liked the part where he explained how proprietary software alleviates these issues, as if they are not omnipresent in all of software development. i think it was around 24:53
It's a good idea to first communicte with the project responsibles before creating a large pull request. Not only will this save you a lot of time, it will also get your PR merged faster since the owners are already convinced and on board.
Einstein was gregarious, as were Feynman, Bohr, Tesla, and on and on There's just a subset of engineers that are pricks. We're all jerks sometimes; the prick is the one who justifies his behavior by saying "well I just care so much/am so good at this!"
There are PLENTY of mediocre pricks too, haha. It feels like he's unintentionally arguing that people are only dicks if they're good at what they do, but I know a lot of CS students who didn't amount to much but were absolute assholes throughout their whole career.
Henry Cavendish is a better example. Look him up. I guess Newton as well, though iirc he played with lead a lot so brain problems are no surprise in hindsight.
The idea that software quality and communication quality are unrelated or even inversely related strikes me as very strange given that software is fundamentally an effort to communicate (code is meant to be human readable after all)
lmfao the thing about pull requests is hilarious, if the maintainer doesn't like what i wrote and doesn't merge it into their repo, i can just say fuck you this is good shit i'm going to maintain my own fork with this addition and we'll see what people prefer
@@vladimirkraus1438 closed-source, always, but it never was software targeted at developers. That software could've easily been open, its users wouldn't even know the difference.
lemme put it this way: as a user I don't even care to make the distinction betwen software and hardware: either it works or it doesn't, and if it's more expensive and long-lived like say a car, either I can repair it or I can't.
I ran an open source project for 5 years. There's a lot of good things about open source but the hardest part is definitely dealing with pull requests, especially when those pull requests come out of the blue and it's clear the contributor has put a lot of work into it. In hindsight I can honestly say accepting a pull request that doesn't really fit the project is far worse than rejecting it and hurting someone's feelings. Would I ever do open source again? Yeah probably, but I would go about it very differently next time around.
Haskell, Elm, Idris, E are all open source langages that have been or still are innovating. A few open source libraries are just cutting edge application of scientific results, that's innovation too (like Polysemy). And a bunch of open source projects are really innovating outside PL, Sandstorm comes to mind.
What are those opening arguments lmao. Jonathan Blow went from "he is pretty based" to "this guy really doesnt know what he is talking about sometimes" for me in two minutes
Learn from his mistake. Stick to what you do well. If you open your mouth too much you become like the rest of other people. Like a magician explaining his trick.
You don't waste your work when your pull request is denied. That is just the world saying "we don't need your work." And presumably you did the work because YOU need the work, not because you thought SOMEONE ELSE needs the work, so the payoff for you was always going to be that you get what you need. The rest of the world can have what you did for free, if they want it, but if they don't... you don't give a shit. You did it for you. You shared because it costs you nothing to share, and you HAD to do it, but now the next guy doesn't. If you really want your pull request added, you can abstract your work out into a plugin or addon for the package, or even fork the project. Nobody can STOP you from releasing your work. And as long as you don't fucking touch the GPL ever for any reason, nobody can MAKE you release it either. Most projects migrate from "just let anyone contribute" toward "there is ONE GUY who can commit changes" naturally. It's a sort of intersecting triangles thing: the number of people you LET contribute, which starts at "everybody" and ends at "one guy"... and the number of people who WANT to contribute, which starts at "one guy" and ends at "everybody." When the intersection of these is growing, everyone is happy, but when it starts contracting people get increasingly unhappy. Looking back at my experience on the Vista team, this isn't limited to open source. There was a time everyone at Microsoft wanted to put something into Vista, and eventually we had to reduce the team to focus on getting the project out the door.
I'm not at all convinced by this dude's arguments that he has ever seen an open source. As someone who has been involved in Open Source since the late 90s, his arguments make almost no sense.
17:30 There are enough humans out there. We don't need to accept assholes (or, in some cases, criminals) just because they have other talents. If we broaden opportunities and widen the pool of people we accept into this field, we'll find the ones with the talent *AND* the personality. Currently we accept great talent from mediocre people. With enough access to opportunity, we can choose to only accept great talent from great people.
Pull Requests have definitely made us lazy to a point... and theres always one developer who holds up the entire CI/CD flow with their pedantic nit picking comments... grrr
As you alluded to, there's a level of responsibility that one has to take with regard to communication, even if you're the "smartest guy in the room". I think there is a difference between being a "crotchety programmer" and being outright abusive, and if one isn't careful one can simply use the former label to justify the latter behavior. Having been part of teams with a crotchety programmer in an engineering leadership position, I've seen such programmers at times make it more difficult for the rest of the team. And on the occasion when they make poor decisions (real talk -- it happens even with experienced devs), the negative impact to the team was even worse than it should have been, in part due to the environment they've created where the rest of the team was reluctant to voice feedback. I think my point is that we shouldn't allow one's own engineering talent, especially when working on a team, justify poor behavior towards others. I do think it's true though, like the whole debacle with rubocop goes, things can be taken to an extreme in the other direction.
Absolutely what I was thinking too. It doesn't matter if you're a galaxy brained rockstar programmer if your attitude keeps you from being able to work with others in any capacity, you'll never accomplish anything meaningful. I agree we should have patience for people who are driven to abrasiveness by their passion but there's clearly limits here. I knew plenty of mediocre programmers who were complete dicks too. Lets not pretend that every asshole is just a misunderstood genius, lol.
Being the literal smartest guy in the room sucks. It's often times people who are pretending that they are the smartest in the room creates resentment from people who know it's a bad or dumb idea. Unfortunately, if one is the smartest in the room on a technical level, the human interaction level needs improvement
One key point to remember is that if someone can provide harsh or undiplomatic criticism due to their high standards for work, they should also be open to receiving criticism about their social behavior (where others might hold higher standards than they do) Consider the social aspect part of the work.
"Part of the personality that you can't take out" does not excuse bad behaviour. Linus Torvalds has learned to limit the harsh language to very technical things and never insult a person any longer, indeed to try to make personal concessions to people. And so can anyone else, or should at least recognise any cases where they overstep the line as a personal flaw and try to counteract or fix it rather than just revel in it. In turn of course you can make concessions for people with communication limitations, and try not to assume that a person you're facing doesn't have them.
Okay, last comment about this video... about the actix desaster: The whole problem was *not* about the "way that guy was communicating" (direct/indirect, tone, whatever), it was about the content of his communication (what he actually meant). His (already pretty widely used) framework was literally unsound/ had undefined behaviour issues and he didn't want to accept a PR fixing it or prioritize fixing it himself. Because many people were using it, these people were trying to change his mind or warn others about this, so many people got loud on the internet - Again: Not, because their feelings were hurt because they are so soft and he has such a direct communication style, but because of very rational, pragmatic reasons. God I hate these clichés. Also: It was not about him using unsafe, it was about him using unsafe incorrectly, inducing undefined behavior.
Ya, trying to relate open source to a political structure like democracy or monarchy isn't helpful because in a country, residents are mostly stuck to staying in the country, and it takes a considerable amount of effort to emigrate to another country. With software alternatives, you can make the decision to switch software flippantly, compared to switching countries. So in that regard, the drawbacks of an "authoritarian government" in the open source world are greatly mitigated.
Ultimately I think open source is meant for people to hack things around, freely collaborate/share and have control over the software they use. Free software is an entirely different beast but I think it did a lot of good in what became the Linux ecosystem. In general open source can mean a lot of things but I can't think of a single example where some piece of software going open source was a bad thing for the end-user. On the other hand, everything sucks about proprietary software. Well, there have been some amount of proprietary code can be considered absolutely brilliant but it's more of an exception.
Adding a feature to open source is a contribution. Asking someone else to maintain it is a pull-request. Anyone can build an extension, but the original builder can decide whether or not they wish to maintain it. It is a democracy. People vote by picking a fork.
Most new desktop environment features for closed source options like whatever windows and macos use tend to copy features from linux desktop environments. At least I've seen some newish stuff that comes from DeepIn
propriety software projects that involved more than one person are just as "authoritarian", but the development activities are not visible to the public.
"OPeNSOurCe makes nothing new, it only copies" - First OS to Run on 64-bit Architecture: Linux was the first operating system to run on 64-bit architectures, with support for the DEC Alpha processor in 1992. - First OS to Support Multiple Processor Architectures: Linux was designed with portability in mind and became the first operating system to support multiple processor architectures, including x86, ARM, PowerPC, MIPS, and more. - First OS to Implement Live USB: Linux popularized the concept of a live USB, enabling users to boot and run an entire operating system directly from a USB drive without installation. - First OS to Introduce the Ext File System: Linux introduced the Ext (Extended File System) as the default file system, improving disk space utilization, reliability, and performance. It later evolved into Ext2, Ext3, and Ext4. - First OS to Implement Journaling File System: Linux implemented the first widely-used journaling file system, called Ext3, providing enhanced data consistency and faster file system recovery after a crash or power failure. - First OS to Support Unified Extensible Firmware Interface (UEFI): Linux was one of the first operating systems to support UEFI, a modern firmware interface replacing the traditional BIOS in newer computers. - First OS to Use Git Version Control System: Linux was developed using the Git version control system, which was initially created by Linus Torvalds to manage the Linux kernel source code. Git has now become the de facto standard for version control. - First OS to Embrace Containers: Linux introduced Linux Containers (LXC) and later Docker.
You can be blisteringly smart and nice. I don't buy the a-hole genius argument. If a genius is an a-hole, then they can work alone. The rest of us can chill out on a team and build a good working environment.
No I disagree totally. Open Source is not a thankless job at all. Sure, it's for people who actually *love* software development, hacking, programming in general. I've contributed to Firefox, GDB, RR; i'm particularly proud about that one; to name a few. Open Source is *wonderful* if you love programming. If programming is actually one of your core interests, beyond working. The work getting into the product *is* part of the reward when it comes to open source; because you love software development, you love programming, you love learning new stuff, you love contributing to a product that you use regularly etc.
Yes, most of the time I contribute to an Open Source project, it is just pure happy when my PR is accepted and it’s to be part of an useful thing that is being used by the others. It means my code is evaluated, my skill is good to help me and others to be better, that’s such a best reward to any programer, i dont need any other benefits
Agreed, I contributed once to the VS Code codebase regarding upgrading the Emmet completions for CSS grid layout among other things and I was rewarded Github Copilot for free, it's not a thankless job at all.
In closed source also there is a project manager and often pr are declined esp if you want to push new ideas or fix issues that no one told you to do or make new features etc. You can't even branch out to use tools you want use with it or publish it either , use it as is or don't use at all
How is this not really different from contributing to a proprietary project at work? A bad first impression sticks with all our co-workers and bad PRs are usually reviewed to fit to the standard at which the repo is run. The only difference is that at work, you can just quit and start over again while in open source communities, you are out there in the public. (at the same time, you can create a new account to have a fresh start, ig)
I think Blow's take is OS instead of OS. Oligarchical Source instead of Open source. Which isn't entirely different from what we have. Sure, anyone can submit a PR to squash a bug, but the direction of a project is generally driven by small group of contributers, but frankly, that's how it ought to be. That's where forking comes in. The oligarchs burn the project, grab the last good commit and run with it.
Open source I think is a broad project management system which emerged recently compared to other programming management systems. My optimistic desire for open source is that with the new advent of language models would improve the management system. I would want pull requests to be automated but obviously it’s just another management system.
Terse is perfectly fine, but being a genius doesn't excuse you being an asshole. "Great but complicated men" are allowed to be assholes because they simply can get away with it. Them treating their colleagues like trash is also a net negative to their field, often overshadowing their achievements (like all the women Feynman drove out the field). There's a real cost to toxic people with decision power. And in the end, no genius is indispensable. Einstein didn't develop relativity in a vacuum. If he wouldn't, someone else would connect the dots few years later.
I thought one of his points was having some authoritarian arbiter was a bad thing, then in the same argument said you need someone to tell you your code is trash or software will die out? Like at the very least with open source, if you dont agree with the opinion of the arbiter/repo owner, you can fork it and run with your version. If it works, great now you have better software and proved that your code was actually fine, if it flops then you get feedback that maybe the repo owner was right and you learn from it. Closed source, your project manager tells you your code is trash and your forced to do something else whether you like it or not. Either you want an arbiter or you dont.
I have barely started the video yet and I have to say, I genuinely believe that saying open source software lacks creativity is kinda ignorant... I mean just look at the progress being made in KDE, Gnome, etc. The Windows 11 UI is basically Microsoft KDE. Or Blender (open-source project literally used to express creativity) is used by Disney. I just think that this is a very weird statement
I got it in my head that he was just thinking of GIMP and Libre Office, like someone with really cursory experience with open source, but that can't be right, right?
For his last point, I think he's trying to hide being an asshole behind being a good at what you do. A lot of people who are bad at what they do are assholes and a lot of people who are great at what they do are nice. How you treat others is more associated with ego than skill, it's more accurate to say that you become more difficult the better that you think you are rather than how good you actually are. You can also be harsh in your critiques and easy to deal with and easy in your critiques and difficult to work with. It's a matter of how you're approaching and interacting with the other person.
@@xunjin8897 Yea and toxic environments make everything worse. If someone is having a problem they become more likely to use a bad solution rather than seek help and more likely to pass the blame around and avoid responsibility so they're not belittled or insulted.
Open source software with bad documentation: You just look at the code to find out what stuff does and you're done in 5 minutes. Closed source software with bad documentation: You need to open a customer support ticket for your question and it will take at least a week to get an answer.
He ripped on microsoft engineers for how long they took to develop a terminal emulator because, as he explained to his audience, every video game has a chat that is basically the same thing as a terminal emulator. You don't need to give him the benefit of the doubt anymore. He's not wise, he just feigns confidence about anything and everything. There are flat-earthers more humble than him. edit: dang, his last take was really, really good.
You could really see that in full effect when he did panels with other developers, was asked fairly complex questions about a specific subject to start answering them and the amount of pauses of thought increasing by the second. Which is sad. People have to realize it's perfectly normal to admit you don't know everything instead of just pretending they do.
Oh and I don't think there is any evidence to suggest that great experts must also be assholes or shouldn't even try to additionally improve their communication skills. This is just closing a door for further development without any reason whatsoever.
When I write anything online, I imagine the following scenario… It’s a hundred or two hundred years in the future, and a descendant of mine is in school. They’re given a homework assignment to scour the internet archives for the recorded thoughts of their ancestors, and they stumble upon me. Of course, this is just a conjecture, but it’s helpful to realize that this scenario is actually plausible. If that happens, how do I want to come across? What kind of image do I want to present for my great great great grandchildren? So for me at least, I feel the need to put a great deal of effort into being my best self when I’m online.
@@OmegaF77 it's just a thought that crosses my mind every now and then. I just feel like what I say online could theoretically be preserved *forever*, so it feels like speaking into eternity. Freaks me out a bit.
@@danielvaughn4551 Personally, I think it would be way funnier if a descendant of mine came across one of my comments and thought I was a total dickhole.
18:00 his argument is really just a version of the Tortured Artist argument - that if the artist isn't suffering he can't make great art, which I don't buy at all. Aspects of your personality are only loosely coupled, improving one doesn't bring the others 'down', you are just adjusting a maladaptive pattern you've developed
??? This is such a toxic comment I don't go to the aging bus driver and say "driving a bus doesn't make you prettier" What the hell your comment is completely out of the blue
Many people use their supposed "IQ" or whatever to justify shitty behavior. Often the people criticizing them are not "armchair critics", and nor are they fat or lazy. They are coworkers, who do care about the project. What's on display here is Jonathan's bias and ego. A person who truly believes that they're the only people who care about a project, that they're hot shit and everyone else is an idiot, and that everyone else's failures are only due to their own character flaws is fundamentally incompatible towards working with others. They are free to work on private projects or collaborate only selectively. But the moment they include more people there is a standard of empathy one must maintain.
The irony is that Jai will have zero chance if it won't be open source and he knows it. So I guess it's just another stagnant and non-innovative language then?
Leaked Google Memo: “Admits that the Open Source Community is running circles around them and OpenAI by now” This guy: “Open Source is not creative and stagnant” I don’t know what this guy consumes, but I want some. But that guy isn’t ranting about open source, he is ranting about one or two open source projects. Be it LLVM or what ever.
I feel like the first half about the issues with Open Source and Pull Requests are not really issues with the principles of them, just issues with how they can end up being used in practice. Like, the issue of PRs that don't get merged being wasted work is an issue that can simply be solved with communication. Before you put hours of work into a PR, check with the maintainers if that is something they would actually want to add... like you could enforce that all PRs must first be a draft so you can greenlight the idea or provide other feedback before work is done. On the open source videogame project I am a maintainer for that is what we do on any large change. There are many small PRs that get made without that process still, but it prevents contributors from wasting effort goinf down a path that we would reject. As far as the community of Open Source being abrasive and critical of code or changes... That sounds like he just has a problem with the internet culture in general. That is hard to solve in the wider internet, but if you wanted to alleviate that within your own contributor community for a project, then you could take some steps to reduce anonymity so people don't default to the rudeness that anonymity can encourage.
The tiling window managers? and window snapping to other windows and borders? that was long vefore windows or mac came with those. The 3D desktop effects? The 3D cube? multiple desktop workspaces? the online self-updatable package managers/app markets? all of this was in the open source linux before windows, android or mac did it on a consumer/user level Come on these are amazing innovations and user conveniences that later came to the windows and mac because they were god damn cool. Mr blow is cherrypicking. Open source is doing a lot of stuff, in a lot of stuff there happens unoriginal stuff, because it is a lot of stuff. And also if something works... don't fix it.
If Godot forces a change that breaks my ability to ship, I can always fork a private repo as a last resort. If Unity forces an unacceptable change I'm simply screwed. Why on earth would I use Jai knowing Blow is a crotchety BDFL? That would be a massive commercial liability.
The open source code idea is from a time when developers genuinely wanted to "make the world a better place". We had bitcoin, the pirate bay, decentralization, encrypted anonymous communications etc. But now developers are just greedily monetizing everything. It's a real shame.
Thank god we enjoy a huge messy industry that can operate in a wide spectrum of ad hoc models unapproved by JB, and we can allow contributions by people not in his inner sanctum of smart programmers. You, yes, you, non-developer, can tiptoe into development in some area that provides value to someone else and learn and become better by reading open source code and getting feedback on your PRs and watching the process of other people working in PRs. And if you do eventually create something people really enjoy, keep the door cracked for other people.
There is an underlying feeling that JB is saying "Get on my level or shut up", and it's a prevelant attitude in certain companies or sections of the software community. The problem is that first of oll the majority of developers who think that way aren't actually that good, and refuse to grow. They've been programming in C# their whole life and think the one time they used reflection badly gives them a license to be a jerk. In the case of Jonathan Blow and yourself, you're absolutely qualified to call yourself at that level, and you're both astounding developers that inspire me. Same with Bob Martin. That said, the majority of programmers are just not that dedicated, and that's okay. The question is whether you can build your code in an understandable enough way for the rest of the developers to use, and the approach some people have of 'get on my level' ends up excluding a lot of people from using your code and libraries. React is an outstandingly popular framework because dumb devs can use it fairly well, but I personally doubt JB's new programming language will achieve any kind of mass adoption because his mindset of 'you have to up your game' rather than making the language understandable will kill any kind of uptake. It's the same problem as you had with Scala, F#, Haskell, and to some degree vim(though your videos have helped me get into it): They're superior ways to do things IF you can put the work in to understand why they're great, but for the masses of developers that JB seems to look down on, it will just be another fad that code evangalists get obsessed over. I appreciate the Art of Programming readers of the world, but we need more languages for dumb devs.
In summary: you can use every argument against open source very easily for closed source too.
some of my worst experiences were in closed source, not open
Not only that many of his arguments are A LOT worse with proprietary software.
@@ThePrimeTimeagen Of course there are lots of incompetent people at lots of closed-source companies. The difference is that when running a company you *can* have quality control, and this is effected via hiring and firing policy, engineering direction, etc. This is still difficult and it's not too surprising that many companies do a bad job, and that companies tend to be ever worse at this as they get bigger. But from my perspective as someone who runs a small company and gets to decide what kind of people we hire, how exactly we go about programming, etc, there is just a degree of quality control far beyond what happens in an OSS project, and a corresponding degree of responsibility (if we make things that suck, it is ultimately my fault). So my viewpoint is not that closed source is fundamentally better on average than open, etc, it is that closed source *can* be better if executed correctly. When your development model is that you are curating PRs that come in, you can do a better or worse job at curation, but you're fundamentally limited by the quality of the input (and also by the quantity; once the quantity gets large, you can't realistically vet it at a decent speed without having a bigger team to vet it [which decreases quality]). When you're not paying the people producing the input, it is pretty hard to incentivize quality. (It is hard also when you are paying people, just, easier).
Oh, on the "creativity" point ... I think you will find almost no JavaScript frameworks are creative, but I wasn't even talking about those, I was talking about actual programs that people run. Take video games as an example. How many video games are developed closed-source, and how good are they, and compare to how many games are developed via an OSS development model, and how good are those? Now remove all the games that are just clones of other games, and see what's left to even compare...
Well cyberpunk 2077 was a bit of a disappointment at launch.
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.
that is superior dick move
@guitarszen Jealous you can't be as big of an asshole as the people in that story.
@@alexvitkov That's not what he meant. What he meant is that if they understood the license then they'd know the moment they submitted that PR it was now part of google's domain. Companies do this so that third party programmers can't pull a "Remove all of my work as it's copywritten by me and I no longer allow you to use it."
@@Microtardz It simply has to be like you explained. Otherwise every such project would guaranteed to be stalled. Look at the timeline you are commenting on (and finding some excuses for this guy ... ): It just needs one dickhead like guitarszen who thinks he must call strangers names and over-react in this comically respectless way, including his attack on the "victim".
What we can do in this case is to point out that the google employee plagiarized the work of others, which may turn into his academic self-destruction or not (O can over-exaggerate, too:P).
License or not: This was an absolutely intolerable move of that "guy" from google. And so is the reaction of guitarszen. What an anti-social little child. No one needs like this. Also: Some actions from your co-workers around community driven projects may be mistakes, intentional bad or not, but legal. And then? The world-view of guitarszen ist just embarrassing, like he never interacted with other people. That someone "murders" your respect doesn't mean you have to do the same "eye for an eye" BS to others. There are actually people out there who make voluntary work and do it not because they need a "badge" to brag with or to have the possibility and intention to sue their fellow citizens for every little fart.
@@alexvitkov I understand how you feel, but if you want to extend or use software, and you don't want the original author to be a dickhead, you have to specify that in the license agreement.
If you want to exploit your extension for publicity or credit, my recommendation is that you make an agreement for that, or do not contribute your extension to the original code-base.
If the original software is not pluggable, make it pluggable. Then build your software, and license/sell it as you wish.
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.
pretty great break down
To be honest his code is probably some yandere dev level stuff
@@theairaccumulator7144 You are totally clueless
@@theairaccumulator7144 absolutely not lol, he streams programming very often you can look for yourself.
I love Jonathan Blow’s content. What actually got me listening to him was his programming language/compiler content.
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.
agreed
@@ThePrimeTimeagen instead of bashing young engineers, Jonathan should go after managers working in tech who know nothing about technology while at the same time getting paid at least three times more...
@@bobby9568 Nah man, typing codes and pulling up reports aren't the same thing. It's less productive for the manager to code instead of doing managing work.
And the market decides their salary, if you are not satisfied with being an engineer, be a manager instead.
@@derpysean1072 Who said something about the manager starting coding LOL! True, coding is much more difficult than pulling up easy peasy reports. The market doesn't decide, engineers are too stupid to understand their own value and hence the popular managers take the money while they let engineers work as their slaves. That is why engineers want to work at FAANG companies because they get paid a lot. Nice try though Mr. Derpy Sean the manager.
@@derpysean1072 Ah yes, the market, well-known for making correct decisions, and definitely not crashing the entire economy every 10-15 years.
Thinking that the guy signing your pay check actually deserves 3x your income because "the market decides" is no different from a serf thinking their lord deserves half their produce because "God bestowed upon him the divine right to my servitude."
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
same. it bothers me to listen to their opinion, but i try to take it on as my own and work through it
Even AI does trial runs of things it thinks are definitely wrong to learn : )
Great video + reaction
Cant say that i relate to that, but it is a thing that i find profoundly respectable
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.
Exactly. What would be the alternative in closed source? Create your own company and build the thing from scratch to make it better? Sure, it can be done, but what takes more effort and what are the chances :D
@@frederikholfeld868 this also runs into a lot of lawsuit problems even when done the right way, whereas in open source, the most they can do is complain at you.
@@jabadahut50 there's sometimes a lot of gpl bs in 'open' source I'm not a fan of, but that's pretty much it
Sometimes if it is a small project, the maintainer might not be checking. If it is a large project, it might be overlooked. It is so much free time to maintain a OS repo that it can get pretty overwhelming to keep it up. I won't pull anything in to the few I have unless they have testing in the PR too. Unit tests are (at this point) the best way to prove "it works"
@@brian-mcbride it's a medium size repo with absolutely no unit tests of its own lol (it's pure data)
one word: Blender
Add-ons are awesome, as anyone can make and share it without Blender Foundation needing to approve of it.
Blender is dope... Without it we would have to pay thousands of bucks for propietary softwares like Maya, Cinema4D for hobby projects and non-commercial use. Blender is still not the best but it is taking over very fast. I love open source❤......
blender the greatest program over that is the hardest to use
+ godot to the list
@@ThePrimeTimeagen I'd disagree
Blender is like the vim of 3D software. Massive learning curve, incredibly comfortable and easy to use after.
Also crap ton of community addons
"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.
Also "I don't like when outsiders complain about code" while being an outsider complaining about open source processes. Also interesting how he claims to dislike this gatekeeping but ultimately just suggests gatekeeping as an alternate solution.
not really? the problem here is that usually when a PR gets rejected it's not due to the quality of the code, but instead some arbitrary reason.
Jon Blowhard is a professional opinion haver.
These clips are from different times, and although not taken of out context, he's thinking out loud more than anything. He does try to sound convincing though, but that's kinda his thing. He makes it sound like every opinion he shares is a super strong opinion which clearly they aren't.
Being open to criticism doesn’t mean you have to be open to dumb criticism.
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...
this is SO true
*fork?
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
this is true. it can be difficult though because the software moves beneath you. in fact, most of my software woes came from this
So often that you would be able to just find what the fuck you are doing wrong or what doesn't work when you can just look at the source code. Not being able to just puts you at the mercy of whoever is developing the software.
I dare to even go a step further and say that many of the mentioned problems, if not most of them, are basically closely associated with Github, a platform which itself is closed source and owned by Microsoft.
I would like to see a comparison between the different open source collaboration platforms that exist, including Gitlab and the several mailing lists that exist as well.
@@ThePrimeTimeagen
"Critical Basket Weaving" sounds like a portmanteau.
The 'critical' part sounds like art/language analysis where everyone gets to have their say about how e.g., a book made them feel and what it's "meaning" is with regards to their feelings and the community they represent. Literary criticism is a common topic in the social "sciences" programs of various colleges. From those roots sprang programs like "critical women's studies" and "critical race theory" etc.
Basket weaving is an older meme stemming back maybe to the hippies? It's part of a broader set of stereotypes that would also include drum circles, singing Kumbaya and eating granola. Again, it's a picture of extreme inclusion where nothing is actually expected from anyone, therefore all can be welcome.
@@ThePrimeTimeagen You're right. Which is why I think Johnathan is wrong. Any contributions to an open source repo are also an implicit maintenance burden. There could be a ton of reasons why changes are rejected, like implicit maintenance burdens, or conflicts with future roadmaps, but he doesn't mention any of those as valid reasons for rejection.
It seems like Johnathan is complaining about project management because he disagrees with the direction the project is heading. Which is exactly why open source is superior to closed source, at least for outside observers. If you disagree with the original maintainers enough to fork the project, accept the full maintenance burden of the codebase, and rebuild the entire community around your fork, you have that opportunity. It's not easy, but maintaining a highly public project is never easy. But it can be done. Many successful projects like Jenkins and Libre Office came out of previous failed open source projects. Even though the original project died, the code lived on. With closed source projects, you don't even have the opportunity to fork the codebase if you disagree with the original maintainers.
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
just add a disclaimer over every report you make
I feel you! I moved from QA, test automation to software engineering (development) years ago. I see how many my coworkers behave exactly as you described. Is personal insecurity, psyche problems, inflated egos etc. What I can say, having tester hat helps me writing software (TDD, BDD style) tremendously! Good luck!
@@Meritumas Funnily enough, I just transitioned to a software development role as well, I would say that having been a tester helps a lot for sure
Saying a rejected PR is wasted time is like saying a failed scientific experiment is wasted time. That's wrong and short sighted.
True, failure is a great teacher.
the thing is, JB is an elitist and the idea of having to submit code to the approval of somebody he believes is beneth him causes him great distress.
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
there certainly is a free software movement; you should be able to do more with software than just look at it.
Don't confuse "open source" with "free software" (free as in "Libre", of course).
@@NostraDavid2 no, open source means the source is open to public, free software means it's free of charge
@@reinoob Not at all. "Free as in free speech, not free beer".
@@reinoob
Open-Source = code is available to the public
Free software #1 = the software has no cost to acquire/use
Free software #2 = the software has no limits on what you do with it
FLOSS (Free/Libre Open-Source Software) = code is available to the public, the software has no limits on what you do with it, still can be charged to access the binary itself if you have never interacted with the code before (not always).
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.
I had my changes accepted then reverted with no explanation (even in the commit message) and the maintainer just wrote their own version. That's ok but I was a little bummed there
@@max_ishere that sounds like a really frustrating experience, I'm sorry! However, I wouldn't blame "Open Source" as a system. Trolls, as well as disrespectful maintainers, might be everywhere unfortunately.
@@max_ishere This is not an open source issue though, it's a communication issue. Do you actually think This doesn't happen in corporate?
@@max_ishere your change still has contributed as the maintainer had a chance to learn from your change until they found a version that they're more happy with. The end goal should be the working project not some few lines of code that happened to be committed by you personally that run there.
@@Jamey_ETHZurich_TUe_Rulez given they are in the history this is easy to point out and prove, so name and shame as appropriate, they are literally violating their own license in the case you outlined. This is still not an open source issue however, it happens even more in corporate environments.
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
exactly. its really hard to try to make this into a single philosophy because it isn't the same thing.
The only thing that can be scarce are developers themselves instead of the software
Just read what you just wrote and meditate…
@@aftalavera 🧘
Can you expand on what you mean by "software isn't scarce/rivalrous"? People's attention (and money, if the software is sold) is scarce, so software organizations have to compete for that attention. As an open source developer, you're competing for attention from whoever owns the product. That owner's attention becomes more scarce as the product gets more attention from users, because competition to contribute increases. There's a ton of scarcity and rivalry in software, unless you're just making something for yourself. Even then you have your own time economy, but that's a tangent.
Also, people would mostly agree that systems of power transference (voting or whatever) are political, which is not only about property rights. Political decisions involve our bodily autonomy, ideas of justice (how much spending should be done to solve a murder case?), and many other things. But, back to goods... how is software itself not a good?
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.
Good point.
the entirety of all cloud data centers, where most software of note runs, is a rent model where mega corporations leverage a gamut of open source software - they are the ones that monetize open software whereas everyone else attempts to monetize open source software are just rounding errors relative to these large corporations.
At the end of the day, the most high profile open source software is filling the coffers of a handful of mega corporations, and that's about it.
@@3_smh_3 I'm not sure it's right to describe highly profitable companies as having a shitty business model. It's more like they're poorly aligned with serving the good of mankind.
People love to complain about SaaS, and sure, it sucks for those who have to pay for it.... but how else do you reasonably finance sustained SWE effort? As a business, if you're selling single license forever, that's just not sustainable.
@@0xCAFEF00D it's a shitty business model obviously from the perspective of the consumer. I can't believe I have to explicitly clarify this.
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.
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.
The solution is to breed super programmers that can do everything without outside help.
it's funny but this is what Jon's entire argument comes down to
How would one even make super-programmers? Do you just train 1000 people, pick the best 1%, and tell the rest that they are trash and just wasted 10 years of their life so they should go change careers?
More good programmers and less mediocre ones would be nice
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.
I hear what you're saying, but closed source software generally has a much better track record for backwards compatability and future proofing. I hate Microsoft more than anything (except maybe Oracle), but I can't help but admit that they're the absolute best when it comes to backwards compatability.
I'm maintaining code for a small company that has software written in the 90's, and it still just works. We're trying to sell them on rewriting their software, but its hard because their shit just "works" with little maintenance (aside from a bunch of scalability problems).
I get maintaining your own code isn't exactly what you meant, but the point I'm making is no one uses windows thinking that the software they run on it today won't run on it tomorrow. That's basically an expectation, and Windows would not do that if it were opensource. Try running some 20 year old software on Linux or one of the BSDs. Its a huge pain in the ass relative to Windows.
Making the code open source won’t magically hinder any of that, the code can still be shown, thus allowing people to learn how to make their code future proof
Many commercial software licenses include a clause that you get a copy of the source if the company stops maintaining it.
The latest VS Code update included a "bugfix" which was actually a feature change: instead of leaving Python docstrings highlighted as strings, some guy created a pull request that changed them to be highlighted as comments, which is incorrect. There has been a lot of pushback for suddenly changing all the themes in VS Code to incorrectly highlight docstrings. The guy thought he was correcting a wrong behavior, but it ended up being just his personal preference being foisted upon everybody else. So now there is a pull request open to revert his change, and there is an issue about making docstrings and block comments separate tokens for highlighting purposes.
Update: after 2 months, the change was finally reverted.
@@k98killerI'm impressed you remembered to come back and update your comment here.
@@ex0stasis72 it works out sometimes 🤷
Man, I am not joking when I say I could literally watch a couple hours of you reacting to jonathan's out of context rambles every other day.
It's the perfect balance of crass truth seeking and thought inducing exploration. I love your attempts of adapting it to your own experiences and perspectives, seeing how true it could be in broader than intended areas. And even how you make it more palatable for more sensitive personalities, without losing his intended nuance.
It ends up taking away some of the overly frustration filled tones he can have which can end up taking away from his takes at times. I'd love to see you two in a room/call some day for a couple hours, just hammering down each other's thoughts on software, mentality, work ethic and the like through your own lenses and without jumping contexts. Truly some of my favorite videos to just poke the old brain a bit
2:45 It's not hard to start a dialogue with the repo owner about a change you have in mind, get their take, and then get to work with some pre-validation that your efforts will be merged or at the very least seriously considered. Lack of communication from an owner gives you a good indication of what to expect.
Unless you are the repo owner doing it part time and have fifty people trying to get your attention.
@@steves9250 If a repo owner doesn't get back to you after attempts to make contact then i would consider that not having pre-validation, and probably an indication your efforts may lead nowhere.
For real. I asked a dev if packaging as Guix would work with their goals. They said no. That's it saves some time for me.
contributing to open source is a way to really be out a cut above a regular engineer on a resume though. it's not an entirely thankless process, espescially if you're someone who is using the library and the thing you're fixing is a problem you need to solve with the library in your own application
Also, like what... "thankless". Isn't having contributed something that's useful for people thanks enough? Why are we doing things even - to get credit for it or you know, ultimately lead humanity forward? Feel like both views are valid. And one of them is more noble than the other.
As it is, copyright laws and how western companies view their ip rights... it really stifles human progress.
@@3_smh_3 Why?
Well... nothing stops you from just patching the code on your end and never making a pull request. Technically you are contributing to open source.
The biggest thing to note is that, if you redistribute something using your customized code, you have to include the source code too.
Sqlite is an example of a closed developed model but the software itself is open source. One of the reasons they do this is for patent/copyright issues. They want to make sure that the code is not copied from elsewhere.
interesting. and i really like squeel lite
@@ThePrimeTimeagenI despise SQLite the way it’s being used nowadays
@@andrearaimondi882why?
@@Comeyd because it’s used for shit it was never intended for. SQLite was intended for extremely simple things such as configurations, local storage on limited hardware, etc. instead I see it now used for things such as full on database applications and it doesn’t even have proper data types, making everything incredibly difficult. It’s nonsense.
also, the dev requirements for sqlite is super specific and they need total backward compatibility.
If you don't like the taste of the decision makers at an open source project, don't bother creating changes for them.
Try getting a PR merged into an open source project and there's a chance it might be - surely that's better than trying to get code merged into a closed source project.
closed source if you're a customer, you can just say add this feature or I'm bailing go broke.
honestly I don't think I've seen that work too often there are some open gitlab container logging issues from paying customers, legitimate issues they've ignored for years. And that's a hybrid commercial open source venture, there are submitted prs they've ignored.
@@MrSquishles I think you're confusing open/closed with commercial/free.
@@zombizombi He's also right on another point. Faster and easier to add feature to closed source. When you have open source you always need to do proper interfaces in case someone starts relying on some part of your code creating dependencies.
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
^--- THIS RIGHT HERE
I disagree, I think is more a case of "dont tolerate the intolerant".
Maintainer get told there is a security issue in unsafe code + PR to fix it, maintainer brush it off as not an issue, a remote attack get demonstrated, maintainer decide to rewrite the patch still in unsafe, AND the cycle repeated.
IIRC there was a demonstration for remote execution in both cases.
And considering that was one if not the most used framework at the time, people using Actix got (in my opinion correctly) pissed off by the reckless behavior of that maintainer.
And PR comment bombing aside, I dont think there was too much toxicity about it? I dont recall people being irrespectful or worse, but maybe i just follow different social circle than you do
@@lesto12321 I dont remember the maintainer saying anything wild. Remember that actix was not his fulltime job. I dont think that anyone has a right to say how he spends his time or runs his project, to be frank.
@@marcusrehn6915 I think most people would agree with you and did agree. Its his project and he has control for the most part.
The people talking to him didn't really argue that. Most people showed him respect and understanding, only trying to explain the issue.
The argument was never that he shouldn't have control over his project though. The argument was his code was incorrect and it was.
People were taking time to fix it and point it out. His responses weren't the best but that happens especially when you are a non native English speaker.
The real issue was that of communication. He didn't fully understand unsafe Rust. That's understandable.
In the end he just got tired of working on the project. The most annoying takeaway from this was that neither party was really in the wrong.
Both sides can do there best, be correct and still suffer at the end of the day. Frankly that just how life works and it sucks.
Everyone's welcome until you point out how unsafe the house is, then your a jerk that should stay outside.
Systems of people do not like being informed of systemic issues caused by those people.
Open Source is not about everyone banding together and beeing accepting, no one is required to accept pull request from anyone, and if you just waste your time working on a pr without making sure you're on the same page with the mantainers you just played yourself. It's strength is that it enables people that disagree with something to just make their own thing the way they think it should be done, or if a mantainer or vendor tries to lock you out, or gives up on a project you can fork it, but that's the important part, you need to DO something about it and its not trivial. The worst part of the open source world are entitled users that just expect things to magically happen, don't want to pay for it, don't wan't to work on it, all they do is complain.
A lot of Open Source projects give multiple people the rights to approve pull requests -which is basically a trusted inner circle- but they do allow for outside contributions. How is that worse and/or different?
unsure, his argument was hard for me to follow, but i am also trying not to be "mean" when i react... so...
@@ThePrimeTimeagen I do agree with him when it comes to things like vim - with one guy on the helm. And given projects like neovim, others tend to agree with his takes in that case. But with a "trusted inner circle", which I feel like most big projects have, allowing outside contributions is what OSS is all about and specifically why it's great.
U can tell he hasn't really thought out his opinion, because it makes 0 sense.
@@derschutz4737 I think he thought about it a lot but is over-generalizing.
@@StruC Thats exactly how you can tell someone hasn't deeply thought about it, they have an opinion based around a specific scenario and generalize it.
2:52 I put together a really shitty pull request (that I knew was not a great PR) one time to fix an issue in libre office that I had started and was open for months (and had been present for years) and had got no attention from the developers. They rejected the pull request but fixed the bug themselves within 2 weeks. I was honestly not mad at this outcome at all. And for everyone who now enjoys using your keyboard media controls for external apps when using libre office, you're welcome :P
It usually sucks to not get recognition for your work, but as long as the bug got fixed the PR accomplished at least its goal
professional yapper. i especially liked the part where he explained how proprietary software alleviates these issues, as if they are not omnipresent in all of software development. i think it was around 24:53
It's a good idea to first communicte with the project responsibles before creating a large pull request. Not only will this save you a lot of time, it will also get your PR merged faster since the owners are already convinced and on board.
I'm absolutely pro open source. I always release my professional optimized raw assembly code. I even prepare it for multiple architectures.
Ok 👌
@@jamesnewman9547 of course you are correct! don't take my post too serious.
"If i critisize I can be judged in a negative way and i don't want that"
*Linus Torvalds has entered a chat*
*Let's go*
Thank you for saying that Open source coders are heroes of modern days. I am not an open source developer, but I also think that they are heroes.
Closed Source you still have bosses saying NO! Has this guy ever worked for anyone ever :D
Einstein was gregarious, as were Feynman, Bohr, Tesla, and on and on
There's just a subset of engineers that are pricks. We're all jerks sometimes; the prick is the one who justifies his behavior by saying "well I just care so much/am so good at this!"
There are PLENTY of mediocre pricks too, haha.
It feels like he's unintentionally arguing that people are only dicks if they're good at what they do, but I know a lot of CS students who didn't amount to much but were absolute assholes throughout their whole career.
Henry Cavendish is a better example. Look him up. I guess Newton as well, though iirc he played with lead a lot so brain problems are no surprise in hindsight.
The idea that software quality and communication quality are unrelated or even inversely related strikes me as very strange given that software is fundamentally an effort to communicate (code is meant to be human readable after all)
lmfao the thing about pull requests is hilarious, if the maintainer doesn't like what i wrote and doesn't merge it into their repo, i can just say fuck you this is good shit i'm going to maintain my own fork with this addition and we'll see what people prefer
but how will the people find your 0 stars repo?
I thought the point of open source is that: if the king gone mad, someone can make a copy and make it great again
I'm in the opposite camp: I hate close-source software and usually just ignore it
Speaking as a user or developer?
@@0xCAFEF00D speaking as dev. as a user I dislike software more often than I like it, mosly for UX and performance reasons.
@@UGPepe How are you making money as a dev? By producing open source software or by producing closed source software?
@@vladimirkraus1438 closed-source, always, but it never was software targeted at developers. That software could've easily been open, its users wouldn't even know the difference.
lemme put it this way: as a user I don't even care to make the distinction betwen software and hardware: either it works or it doesn't, and if it's more expensive and long-lived like say a car, either I can repair it or I can't.
Any developer who disrespects end-user freedom/liberty - which is what 'open source' is about fundamentally - gets no respect from me.
I ran an open source project for 5 years. There's a lot of good things about open source but the hardest part is definitely dealing with pull requests, especially when those pull requests come out of the blue and it's clear the contributor has put a lot of work into it. In hindsight I can honestly say accepting a pull request that doesn't really fit the project is far worse than rejecting it and hurting someone's feelings. Would I ever do open source again? Yeah probably, but I would go about it very differently next time around.
Closed source: "Trust me bro"
Haskell, Elm, Idris, E are all open source langages that have been or still are innovating. A few open source libraries are just cutting edge application of scientific results, that's innovation too (like Polysemy). And a bunch of open source projects are really innovating outside PL, Sandstorm comes to mind.
What are those opening arguments lmao. Jonathan Blow went from "he is pretty based" to "this guy really doesnt know what he is talking about sometimes" for me in two minutes
Learn from his mistake. Stick to what you do well. If you open your mouth too much you become like the rest of other people. Like a magician explaining his trick.
You don't waste your work when your pull request is denied. That is just the world saying "we don't need your work." And presumably you did the work because YOU need the work, not because you thought SOMEONE ELSE needs the work, so the payoff for you was always going to be that you get what you need. The rest of the world can have what you did for free, if they want it, but if they don't... you don't give a shit. You did it for you. You shared because it costs you nothing to share, and you HAD to do it, but now the next guy doesn't.
If you really want your pull request added, you can abstract your work out into a plugin or addon for the package, or even fork the project. Nobody can STOP you from releasing your work. And as long as you don't fucking touch the GPL ever for any reason, nobody can MAKE you release it either.
Most projects migrate from "just let anyone contribute" toward "there is ONE GUY who can commit changes" naturally. It's a sort of intersecting triangles thing: the number of people you LET contribute, which starts at "everybody" and ends at "one guy"... and the number of people who WANT to contribute, which starts at "one guy" and ends at "everybody." When the intersection of these is growing, everyone is happy, but when it starts contracting people get increasingly unhappy.
Looking back at my experience on the Vista team, this isn't limited to open source. There was a time everyone at Microsoft wanted to put something into Vista, and eventually we had to reduce the team to focus on getting the project out the door.
I'm not at all convinced by this dude's arguments that he has ever seen an open source. As someone who has been involved in Open Source since the late 90s, his arguments make almost no sense.
17:30 There are enough humans out there. We don't need to accept assholes (or, in some cases, criminals) just because they have other talents. If we broaden opportunities and widen the pool of people we accept into this field, we'll find the ones with the talent *AND* the personality. Currently we accept great talent from mediocre people. With enough access to opportunity, we can choose to only accept great talent from great people.
Pull Requests have definitely made us lazy to a point... and theres always one developer who holds up the entire CI/CD flow with their pedantic nit picking comments... grrr
Open source software SUCKS said the guy named BLOW.
And then open source software said ... yeah well why don't you BLOW me 😁
Said the guy who uses Jai
@@anon-fz2bo Jai deez nuts see it doesn't even go with deez nuts that's how bad it is
I don't care if it's John Carmack, if someone says OSS is bad, I don't respect them.
As you alluded to, there's a level of responsibility that one has to take with regard to communication, even if you're the "smartest guy in the room". I think there is a difference between being a "crotchety programmer" and being outright abusive, and if one isn't careful one can simply use the former label to justify the latter behavior. Having been part of teams with a crotchety programmer in an engineering leadership position, I've seen such programmers at times make it more difficult for the rest of the team. And on the occasion when they make poor decisions (real talk -- it happens even with experienced devs), the negative impact to the team was even worse than it should have been, in part due to the environment they've created where the rest of the team was reluctant to voice feedback. I think my point is that we shouldn't allow one's own engineering talent, especially when working on a team, justify poor behavior towards others. I do think it's true though, like the whole debacle with rubocop goes, things can be taken to an extreme in the other direction.
Absolutely what I was thinking too. It doesn't matter if you're a galaxy brained rockstar programmer if your attitude keeps you from being able to work with others in any capacity, you'll never accomplish anything meaningful. I agree we should have patience for people who are driven to abrasiveness by their passion but there's clearly limits here.
I knew plenty of mediocre programmers who were complete dicks too. Lets not pretend that every asshole is just a misunderstood genius, lol.
Being the literal smartest guy in the room sucks. It's often times people who are pretending that they are the smartest in the room creates resentment from people who know it's a bad or dumb idea.
Unfortunately, if one is the smartest in the room on a technical level, the human interaction level needs improvement
Often being an asshole is not a part of who a super intelligent person is. It is a symptom of who they are. Very important distinction.
One key point to remember is that
if someone can provide harsh or undiplomatic criticism due to their high standards for work,
they should also be open to receiving criticism about their social behavior (where others might hold higher standards than they do)
Consider the social aspect part of the work.
THANK YOU
"Part of the personality that you can't take out" does not excuse bad behaviour. Linus Torvalds has learned to limit the harsh language to very technical things and never insult a person any longer, indeed to try to make personal concessions to people. And so can anyone else, or should at least recognise any cases where they overstep the line as a personal flaw and try to counteract or fix it rather than just revel in it.
In turn of course you can make concessions for people with communication limitations, and try not to assume that a person you're facing doesn't have them.
Okay, last comment about this video... about the actix desaster: The whole problem was *not* about the "way that guy was communicating" (direct/indirect, tone, whatever), it was about the content of his communication (what he actually meant). His (already pretty widely used) framework was literally unsound/ had undefined behaviour issues and he didn't want to accept a PR fixing it or prioritize fixing it himself. Because many people were using it, these people were trying to change his mind or warn others about this, so many people got loud on the internet - Again: Not, because their feelings were hurt because they are so soft and he has such a direct communication style, but because of very rational, pragmatic reasons. God I hate these clichés.
Also: It was not about him using unsafe, it was about him using unsafe incorrectly, inducing undefined behavior.
Ya, trying to relate open source to a political structure like democracy or monarchy isn't helpful because in a country, residents are mostly stuck to staying in the country, and it takes a considerable amount of effort to emigrate to another country. With software alternatives, you can make the decision to switch software flippantly, compared to switching countries. So in that regard, the drawbacks of an "authoritarian government" in the open source world are greatly mitigated.
Ultimately I think open source is meant for people to hack things around, freely collaborate/share and have control over the software they use. Free software is an entirely different beast but I think it did a lot of good in what became the Linux ecosystem. In general open source can mean a lot of things but I can't think of a single example where some piece of software going open source was a bad thing for the end-user. On the other hand, everything sucks about proprietary software. Well, there have been some amount of proprietary code can be considered absolutely brilliant but it's more of an exception.
Adding a feature to open source is a contribution. Asking someone else to maintain it is a pull-request. Anyone can build an extension, but the original builder can decide whether or not they wish to maintain it.
It is a democracy. People vote by picking a fork.
Most new desktop environment features for closed source options like whatever windows and macos use tend to copy features from linux desktop environments. At least I've seen some newish stuff that comes from DeepIn
propriety software projects that involved more than one person are just as "authoritarian", but the development activities are not visible to the public.
"The idea of a pull request is offensive"
I've heard enough
JB looks like a vanilla NPC from Rust
"OPeNSOurCe makes nothing new, it only copies"
- First OS to Run on 64-bit Architecture: Linux was the first operating system to run on 64-bit architectures, with support for the DEC Alpha processor in 1992.
- First OS to Support Multiple Processor Architectures: Linux was designed with portability in mind and became the first operating system to support multiple processor architectures, including x86, ARM, PowerPC, MIPS, and more.
- First OS to Implement Live USB: Linux popularized the concept of a live USB, enabling users to boot and run an entire operating system directly from a USB drive without installation.
- First OS to Introduce the Ext File System: Linux introduced the Ext (Extended File System) as the default file system, improving disk space utilization, reliability, and performance. It later evolved into Ext2, Ext3, and Ext4.
- First OS to Implement Journaling File System: Linux implemented the first widely-used journaling file system, called Ext3, providing enhanced data consistency and faster file system recovery after a crash or power failure.
- First OS to Support Unified Extensible Firmware Interface (UEFI): Linux was one of the first operating systems to support UEFI, a modern firmware interface replacing the traditional BIOS in newer computers.
- First OS to Use Git Version Control System: Linux was developed using the Git version control system, which was initially created by Linus Torvalds to manage the Linux kernel source code. Git has now become the de facto standard for version control.
- First OS to Embrace Containers: Linux introduced Linux Containers (LXC) and later Docker.
Also, didn't linus invent GIT ???
@@testacals true but github is now owned by microsoft so we dont talk about that 😅
GitHub and got aren’t related how you think they are… at all
You can be blisteringly smart and nice. I don't buy the a-hole genius argument. If a genius is an a-hole, then they can work alone. The rest of us can chill out on a team and build a good working environment.
No I disagree totally. Open Source is not a thankless job at all. Sure, it's for people who actually *love* software development, hacking, programming in general. I've contributed to Firefox, GDB, RR; i'm particularly proud about that one; to name a few. Open Source is *wonderful* if you love programming. If programming is actually one of your core interests, beyond working.
The work getting into the product *is* part of the reward when it comes to open source; because you love software development, you love programming, you love learning new stuff, you love contributing to a product that you use regularly etc.
Yes, most of the time I contribute to an Open Source project, it is just pure happy when my PR is accepted and it’s to be part of an useful thing that is being used by the others. It means my code is evaluated, my skill is good to help me and others to be better, that’s such a best reward to any programer, i dont need any other benefits
Agreed, I contributed once to the VS Code codebase regarding upgrading the Emmet completions for CSS grid layout among other things and I was rewarded Github Copilot for free, it's not a thankless job at all.
_Maybe_ you could've done it faster... but the question is really: Would you have done it if they didn't...?
Pretty sure this is how some projects like FreeBSD work. There are a lot of projects that are open source and have core maintainers etc. too.
The take that OS is stagnant is very strange. Some of the most revolutionary stuff is coming from OS world.
Just look at Blender, mind-blowing.
In closed source also there is a project manager and often pr are declined esp if you want to push new ideas or fix issues that no one told you to do or make new features etc.
You can't even branch out to use tools you want use with it or publish it either , use it as is or don't use at all
How is this not really different from contributing to a proprietary project at work? A bad first impression sticks with all our co-workers and bad PRs are usually reviewed to fit to the standard at which the repo is run. The only difference is that at work, you can just quit and start over again while in open source communities, you are out there in the public. (at the same time, you can create a new account to have a fresh start, ig)
I think Blow's take is OS instead of OS. Oligarchical Source instead of Open source. Which isn't entirely different from what we have. Sure, anyone can submit a PR to squash a bug, but the direction of a project is generally driven by small group of contributers, but frankly, that's how it ought to be. That's where forking comes in. The oligarchs burn the project, grab the last good commit and run with it.
Open source I think is a broad project management system which emerged recently compared to other programming management systems.
My optimistic desire for open source is that with the new advent of language models would improve the management system.
I would want pull requests to be automated but obviously it’s just another management system.
Terse is perfectly fine, but being a genius doesn't excuse you being an asshole.
"Great but complicated men" are allowed to be assholes because they simply can get away with it. Them treating their colleagues like trash is also a net negative to their field, often overshadowing their achievements (like all the women Feynman drove out the field). There's a real cost to toxic people with decision power.
And in the end, no genius is indispensable. Einstein didn't develop relativity in a vacuum. If he wouldn't, someone else would connect the dots few years later.
I thought one of his points was having some authoritarian arbiter was a bad thing, then in the same argument said you need someone to tell you your code is trash or software will die out? Like at the very least with open source, if you dont agree with the opinion of the arbiter/repo owner, you can fork it and run with your version. If it works, great now you have better software and proved that your code was actually fine, if it flops then you get feedback that maybe the repo owner was right and you learn from it. Closed source, your project manager tells you your code is trash and your forced to do something else whether you like it or not. Either you want an arbiter or you dont.
I have barely started the video yet and I have to say, I genuinely believe that saying open source software lacks creativity is kinda ignorant... I mean just look at the progress being made in KDE, Gnome, etc. The Windows 11 UI is basically Microsoft KDE. Or Blender (open-source project literally used to express creativity) is used by Disney. I just think that this is a very weird statement
It doesn't even make sense. Producing novel code for novel problems isn't creative? Is dude wanting them to write some new languages or something?
I got it in my head that he was just thinking of GIMP and Libre Office, like someone with really cursory experience with open source, but that can't be right, right?
I agree with your overall point, but KDE has always been based on the windows shell so that's a really weird example.
Not everyone has merge privilages, but everyone has fork privileges.
For his last point, I think he's trying to hide being an asshole behind being a good at what you do. A lot of people who are bad at what they do are assholes and a lot of people who are great at what they do are nice. How you treat others is more associated with ego than skill, it's more accurate to say that you become more difficult the better that you think you are rather than how good you actually are. You can also be harsh in your critiques and easy to deal with and easy in your critiques and difficult to work with. It's a matter of how you're approaching and interacting with the other person.
You nailed it! There is a "common sense" that people who are good at their job can shitty those who are not, that's toxic behavior.
@@xunjin8897 Yea and toxic environments make everything worse. If someone is having a problem they become more likely to use a bad solution rather than seek help and more likely to pass the blame around and avoid responsibility so they're not belittled or insulted.
Open source software with bad documentation: You just look at the code to find out what stuff does and you're done in 5 minutes.
Closed source software with bad documentation: You need to open a customer support ticket for your question and it will take at least a week to get an answer.
He ripped on microsoft engineers for how long they took to develop a terminal emulator because, as he explained to his audience, every video game has a chat that is basically the same thing as a terminal emulator.
You don't need to give him the benefit of the doubt anymore. He's not wise, he just feigns confidence about anything and everything. There are flat-earthers more humble than him.
edit: dang, his last take was really, really good.
You could really see that in full effect when he did panels with other developers, was asked fairly complex questions about a specific subject to start answering them and the amount of pauses of thought increasing by the second. Which is sad. People have to realize it's perfectly normal to admit you don't know everything instead of just pretending they do.
The last take is correct, mostly, but it's not really novel.
Oh and I don't think there is any evidence to suggest that great experts must also be assholes or shouldn't even try to additionally improve their communication skills. This is just closing a door for further development without any reason whatsoever.
When I write anything online, I imagine the following scenario…
It’s a hundred or two hundred years in the future, and a descendant of mine is in school. They’re given a homework assignment to scour the internet archives for the recorded thoughts of their ancestors, and they stumble upon me.
Of course, this is just a conjecture, but it’s helpful to realize that this scenario is actually plausible.
If that happens, how do I want to come across? What kind of image do I want to present for my great great great grandchildren?
So for me at least, I feel the need to put a great deal of effort into being my best self when I’m online.
Um, I think that's thinking a little too far into the future. I'd rather my descendants discover my work and go "lol".
@@OmegaF77 it's just a thought that crosses my mind every now and then. I just feel like what I say online could theoretically be preserved *forever*, so it feels like speaking into eternity. Freaks me out a bit.
@@danielvaughn4551 Personally, I think it would be way funnier if a descendant of mine came across one of my comments and thought I was a total dickhole.
Without open source everyone would need to reinvent the wheel, we'd be still in the stone age without it
Stagnant for 20+ years.... Bruh, someone show him the rate of development of Proton.
18:00 his argument is really just a version of the Tortured Artist argument - that if the artist isn't suffering he can't make great art, which I don't buy at all. Aspects of your personality are only loosely coupled, improving one doesn't bring the others 'down', you are just adjusting a maladaptive pattern you've developed
Blow always have creative takes on things that i usually never agree with, but also agree with at the same time
that doesn't make you sophisticated. That makes you unintelligible.
???
This is such a toxic comment
I don't go to the aging bus driver and say "driving a bus doesn't make you prettier"
What the hell your comment is completely out of the blue
Many people use their supposed "IQ" or whatever to justify shitty behavior. Often the people criticizing them are not "armchair critics", and nor are they fat or lazy. They are coworkers, who do care about the project. What's on display here is Jonathan's bias and ego. A person who truly believes that they're the only people who care about a project, that they're hot shit and everyone else is an idiot, and that everyone else's failures are only due to their own character flaws is fundamentally incompatible towards working with others. They are free to work on private projects or collaborate only selectively. But the moment they include more people there is a standard of empathy one must maintain.
The irony is that Jai will have zero chance if it won't be open source and he knows it. So I guess it's just another stagnant and non-innovative language then?
Leaked Google Memo: “Admits that the Open Source Community is running circles around them and OpenAI by now”
This guy: “Open Source is not creative and stagnant”
I don’t know what this guy consumes, but I want some. But that guy isn’t ranting about open source, he is ranting about one or two open source projects. Be it LLVM or what ever.
I feel like the first half about the issues with Open Source and Pull Requests are not really issues with the principles of them, just issues with how they can end up being used in practice.
Like, the issue of PRs that don't get merged being wasted work is an issue that can simply be solved with communication. Before you put hours of work into a PR, check with the maintainers if that is something they would actually want to add... like you could enforce that all PRs must first be a draft so you can greenlight the idea or provide other feedback before work is done. On the open source videogame project I am a maintainer for that is what we do on any large change. There are many small PRs that get made without that process still, but it prevents contributors from wasting effort goinf down a path that we would reject.
As far as the community of Open Source being abrasive and critical of code or changes... That sounds like he just has a problem with the internet culture in general. That is hard to solve in the wider internet, but if you wanted to alleviate that within your own contributor community for a project, then you could take some steps to reduce anonymity so people don't default to the rudeness that anonymity can encourage.
In other words, management is hard. Outsourcing most of the development to random people doesn't fundamentally change that.
The tiling window managers? and window snapping to other windows and borders? that was long vefore windows or mac came with those. The 3D desktop effects? The 3D cube? multiple desktop workspaces? the online self-updatable package managers/app markets? all of this was in the open source linux before windows, android or mac did it on a consumer/user level
Come on these are amazing innovations and user conveniences that later came to the windows and mac because they were god damn cool.
Mr blow is cherrypicking. Open source is doing a lot of stuff, in a lot of stuff there happens unoriginal stuff, because it is a lot of stuff.
And also if something works... don't fix it.
If Godot forces a change that breaks my ability to ship, I can always fork a private repo as a last resort. If Unity forces an unacceptable change I'm simply screwed. Why on earth would I use Jai knowing Blow is a crotchety BDFL? That would be a massive commercial liability.
You shouldn't. It's his code he wrote so he can make the exact games he wants.
Lol, you won't. Your competence isn't enough to do it solely alone.
The open source code idea is from a time when developers genuinely wanted to "make the world a better place". We had bitcoin, the pirate bay, decentralization, encrypted anonymous communications etc. But now developers are just greedily monetizing everything. It's a real shame.
Blow is full of himself.
Thank god we enjoy a huge messy industry that can operate in a wide spectrum of ad hoc models unapproved by JB, and we can allow contributions by people not in his inner sanctum of smart programmers. You, yes, you, non-developer, can tiptoe into development in some area that provides value to someone else and learn and become better by reading open source code and getting feedback on your PRs and watching the process of other people working in PRs. And if you do eventually create something people really enjoy, keep the door cracked for other people.
He obviously doesn't like proprietary software either (khm... Visual Studio...). So, what does he like? Or is he just a hater and a troll in general?
The latter
He wants everyone to build their own software 😂.
typical "I'm better than u coz I can do what u can't" mindset
There is an underlying feeling that JB is saying "Get on my level or shut up", and it's a prevelant attitude in certain companies or sections of the software community. The problem is that first of oll the majority of developers who think that way aren't actually that good, and refuse to grow. They've been programming in C# their whole life and think the one time they used reflection badly gives them a license to be a jerk.
In the case of Jonathan Blow and yourself, you're absolutely qualified to call yourself at that level, and you're both astounding developers that inspire me. Same with Bob Martin. That said, the majority of programmers are just not that dedicated, and that's okay. The question is whether you can build your code in an understandable enough way for the rest of the developers to use, and the approach some people have of 'get on my level' ends up excluding a lot of people from using your code and libraries. React is an outstandingly popular framework because dumb devs can use it fairly well, but I personally doubt JB's new programming language will achieve any kind of mass adoption because his mindset of 'you have to up your game' rather than making the language understandable will kill any kind of uptake.
It's the same problem as you had with Scala, F#, Haskell, and to some degree vim(though your videos have helped me get into it): They're superior ways to do things IF you can put the work in to understand why they're great, but for the masses of developers that JB seems to look down on, it will just be another fad that code evangalists get obsessed over.
I appreciate the Art of Programming readers of the world, but we need more languages for dumb devs.