4 ms·
Please provide a criticism of open source software which you can't answer with "If you don't like it, fix it."[1] I wager you can't. If that's true, you're basi
by akkartik 15y ago
Please provide a criticism of open source software which you can't answer with "If you don't like it, fix it."[1] I wager you can't. If that's true, you're basically claiming that open source projects are immune to criticism[2].
[1] It's really, "If you don't like it, learn programming, then download the source code, then learn to build it, then learn to read it, then make your change, then build it, then use it, then champion getting it merged."
[2] Complaint, whine, we can call it whatever you want. I'm a grown man secure in my whining.
---
Do you really go hack on random large codebases at a moment's notice when something about them irks you? If so, please know that nobody else on the planet can do this without spending weeks of time (conservatively). It's utterly disingenuous to so ignore the fixed costs inherent in programming.
---
Is this the same firefox that can afford to advertise in the NYTimes? How much of its development is really on a volunteer basis anymore? Let's decide once and for all whether this is a mature codebase that's encouraging us to use it for mission-critical work in the world. If it is, it's open to criticism (yes, even trivial criticism).
- Zev 15y agoDo you really go hack on random large codebases at a moment's notice when something about them irks you? If so, please know that nobody else on the planet can do this without spending weeks of time (conservatively). Yes. At least when the codebase is in a paradigm that I'm familiar with. Note: language is not important in exploring a codebase. I probably couldn't do this with, say, GHC. But, I bet I could with Clang or a js library, if I wanted. While I might not know my way around the codebase, I can certainly use grep to find where I need to go, or just ask someone on irc. In a few hours, I can at least find where I need to be, and be hacking. The end result might not be good enough to send in as a patch, but it'll certainly fulfill my needs. Sure, I have some skills that others don't. But, I'm not the only one who can do this, either.
- joeyh 15y agoIt's interesting to think that this might be a skill that we free software developers have to degrees that other developers don't. I generally think of this as "hacking".
- akkartik 15y agoYeah I'd love to have a place or way to learn from free software developers.
- akkartik 15y agoThat's really cool. I'd love to see and learn from some of your past patches.
- Zev 15y agoThe biggest thing to learn isnt in the patches. It's in the process -- don't be afraid to break things, and dont let "I don't know everything about this" stop you from learning one small corner of it.
- akkartik 15y agoYeah I've tried that many times (I have some experience with vim, gcc, windowmaker, but mozilla was larger than them all, last time I checked) and with some success. It's totally possible. My point is merely that it's labor-intensive. There's a cost to swapping in all that state, and to swapping it out and back in again everytime you find a bug with your hacks. (Tangent) Lately I find I'm much more likely to hack on codebases with lots of tests. Having a single command tell me when I've broken things makes me less afraid of having to deal with subtle breakage, where my changes break some feature I just happen to not use for the next n weeks/months.
- skore 15y agoNot "immune to criticism", but set up in such a way that criticism always has a specific, useful outcome. Or turning your question on its head: If it is possible to fix and you would like to see it fixed, why do you insist on criticizing? And it's not just "here, hack our code to make it work for us", although that is of course preferred. It's already useful to have people report problems or to talk to people who work on the code on forums. It is absolutely conceivable that a lot of the people already working on Firefox simply never thought of adding line numbers to the view source (as mentioned elsewhere, you CAN see the linenumber already, just not constantly on the side) and having the suggestion come up from the community is already a valuable asset. If that's not your thing - no problem. But for some people, it is, and that's how the software grows. As for the comment about advertising: Mozilla does collect money on Firefox (through Google, mostly, IIRC) and uses the money to advertise it. Advertisement brings more users in who may be interested in participating. They are simply not your standard software corporation that turns money into software and software into money.
- romaniv 15y agoOr turning your question on its head: If it is possible to fix and you would like to see it fixed, why do you insist on criticizing? Because the time he would spend changing it (and learning how the project codebase is structured, and setting up the environment, etc, etc.) would be orders of magnitude higher than if the same change was done by someone who actively works on the project. Because even if he writes a patch, it might be rejected and then all his effort will be effectively wasted. Besides, this is not a valid response anyway. If the code browser should have had line number support and didn't get it for seven years, then clearly there is some problem. Pinning that problem on the person who first spoke about it doesn't really improve anything.
- skore 15y agoFirst - maybe my reversed question wasn't entirely clear. I was asking why he so insists on his right to level as much criticism as he can at a FOSS project when there are clearly ways to get the job done. What I said was that there already are places to bring your ideas and criticism. You say "the code browser should have had line numbers support" - well, by what right is that a necessity? If it really was such a bad idea to not have line numbers, you'd think people would be all over this for the past 7 years. They weren't, because there already is a way to figure out the line numbers. It might be a matter of taste whether their old solution did the job, but that's why I think it's a sign of how the consensus has shown that it wasn't needed. Now the tables have turned - somebody went through the trouble to get the code done, enough people were convinced that it's a good idea and it has been accepted. So what's your beef here? The process works just fine. Just because you or the person you are defending wouldn't go through the trouble doesn't mean that it wouldn't be taken over by other people once a critical mass is built. It's all fine and well to bitch about hypothetical issues, but I don't see how you can do that in a topic that screams the exact opposite.