Ask Slashdot: Non-Coders, Why Aren't You Contributing To Open Source?
Jason Baker writes: Most everyone is using an open source tool somewhere in their workflow, but relatively few are contributing back their time to sustaining the projects they use. But these days, there are plenty of ways to contribute to an open source project without submitting code. Projects like OpenHatch will even help you match your skill set to a project in need. So what's holding you back? Time? Lack of interest? Difficulty getting started?
I work with computers all day at work. When I get off work, I'm not going to work on them even more, and for free to boot.
Sure, I'll play on computers, and even web surf and make snarky comments on /., but work? Fuck you, pay me.
Between work, my SO, kids, things that need to be done around the house, and a dozen other random things that come up from week to week any free time I have isn't going to be donated away.
The free time I do have is going to be spent relaxing and de-stressing from all of the above.
Unless you are committing code the projects I have tried to get involved with have been a black hole in terms of response.
Documentation is a bitch because things are changing all the time and as a user you are often behind the 8 ball for where development is going. For bug tracking and reporting issues my experience has been either I get no response or I don't have the capabilities to supply the developer with the information they need to track the bug down.
As for artwork I am artistically dead....
The most positive experience with projects has actually been with a game, gnomoria, which is a closed source program with a single developer. I think knowing you are getting paid probably makes a difference.
The opposite end of the spectrum was trying to work with the development team for Evolution (mail client). There was a lot of "if you don't use it this way you are stupid" type responses.
Most open source projects are
999 header files
355 directories
2345 code files
3 intermixed build systems
A python script or so just because
AND (&&)
There will be not a single line of documentation on how the source tree is laid out, and where to start understanding the project.
2). The response when asking where do I begin. RTFSC ? I'd rather pay for the software than be involved with that crap.
Because the only things I want to contribute to most open source projects are to revert the changes that the UX designers make. For some reason, the UXtards don't go for my pull requests.
Let's set aside the bulk of OSS users are by and large oblivious to what OSS even is and focus on those that do and are not programmers. A good portion of those see programmers as old fart *nix self proclaimed messiahs or fast and loose hothead control freaks because about the only time they actually get to see the programmers in nature is when they are fighting over VI and Emacs or Init and Systemd. Would you want to work with you?
"A person is smart. People are dumb, panicky dangerous animals and you know it." - K
Testing alpha/betas full of broken stuff is no fun. Writing detailed reports on what is broken is no fun. Writing documentation is no fun. Endless discussions is no fun. Being help desk for people with entitlement issues who can't be bothered to RTFM is no fun. Being someone else's side show is no fun, graphics artists probably have projects of their own. And I've yet to meet anyone in marketing who'd do that on their own time for fun. In fact, it's a strange breed who comes home from work after developing software all day to continue writing more software in their spare time instead of doing... well, anything else really. It's kind of of cool to make something though, so the coding part gets a pass. The rest is a different story...
Live today, because you never know what tomorrow brings
As a career technical writer, I once tried to help out a few open source projects by improving their universally bad documentation. In all cases, my contributions were belittled, and often far worse than that, eliciting scorn and disdain from the "l33t programmers" who thought I was just wasting repo storage and bandwidth. This was something I did on my own time, to improve projects for the benefits of others, for no money.
As a result, it didn't take me long to say "fuck it" and leave those open source projects to wallow in their own filth. They're little more than a cult, and if you don't conform to the leaders' idea of what a contrib should be and do, you're not welcome.
You're absolutely right. Hipsters are killing open source projects left and right with their fucking awful UI changes.
Just look at what happened to gedit. It's a text editor that comes with GNOME.
Gedit used to look like this: https://upload.wikimedia.org/wikipedia/commons/d/df/Gedit2261.png
It had a clean, usable, consistent UI. The major functionality was easily available, and the UI was extremely intuitive and efficient to use.
The hipsters can't stand for usable software, of course. It needed to be "improved"!
This is what gedit looks like more recently: https://upload.wikimedia.org/wikipedia/commons/e/ef/Gedit_3.11.92.png
I'm not joking. That's really what it looks like. Using it is even worse than it looks.
Gedit's UI today is fucking awful.
It's like they've taken the worst aspects of tablet UI design, and forced it into a text editor that's probably never used anywhere but on desktops and laptops.
The traditional menus and toolbars are gone, replaced with incomprehensibly bad icons and a shitty Chrome-style hamburger menu that's an unusable jumble of unrelated functionality.
It's absolutely fucking moronic what they've done to gedit. They've managed to completely destroy the UI of a text editor, for crying out loud!
Why the fuck would I want to contribute anything but a total and complete reversion back to the old UI? Getting rid of this shit-for-brains UI is the best possible bugfix that gedit could undergo right now. But will it be accepted? Of course not! The hipsters can't possibly be wrong about the UI.
But, how is that specific to open source?
It sounds like the problem with people in general... You find these flaws emerge everywhere on the commercial software spectrum from mass-market consumer applications to meat and potatoes business applications, enterprise verticals, bespoke consulting and in-house development. There can often be a cult of the lead developer, architect, product manager, VP, primary customer, next customer, or last customer.
It seems to me that the only difference with open source, as with any labor-based market, is that your contributions are not as fungible as with cash purchases of software? It is not as trivial to change your mind and send your money elsewhere, both as an individual participant and as a customer base. It's a bit more like society and politics in that regard...
Why aren't you giving more to save starving children?
It sounds like the problem with people in general... You find these flaws emerge everywhere on the commercial software spectrum from mass-market consumer applications to meat and potatoes business applications, enterprise verticals, bespoke consulting and in-house development. There can often be a cult of the lead developer, architect, product manager, VP, primary customer, next customer, or last customer.
But people are less inclined to deal with that when they are just volunteering their spare time.
Could I contribute while mountain-biking? Could I contribute by ballroom dancing? Could I contribute while driving miniature steam engines in the park on Sundays? Could I contribute while acting in local Shakespeare plays? Could I contribute while woodworking? Could I contribute by going to the movies?
It is simple, most people have hobbies that they enjoy spending their spare time on.
Just because some people have a passion for Open Source and others find utility in it doesn't impart any sort of onus to assist development. Isn't that the ethos of Open Source - you can use it with no strings attached?
You might as well ask the opposite - Why are there so few FOSS coders just dropping in at rest homes to talk to the elderly? Why are no FOSS coders painting murals in public spaces? Why are no FOSS coders picking up rubbish in the park? Why are no FOSS coders building mountain bike trails in the weekend?
I think part of the reason people don't contribute is that, whether it's deserved or not, there's a perception that open source projects aren't friendly and aren't welcoming of input from "normal people". I can say that I've been in situations where I submitted a bug and had it ignored or else told that it wasn't a priority and the developer didn't care. I've offered feedback on ways that I thought the software could be improved, and was essentially told, "If you want that done, write it yourself. I'm just here to scratch my own itch." In a number of situations when I've participated in forum discussions, I've encountered the attitude that if you're not a programmer that can contribute code, you should butt out of the conversation.
There was one instance where I actually paid programmers to fix something in an open source project that my company needed to have fixed, and the project would not accept the fix for some reason they wouldn't explain. To be clear, this wasn't a new feature or some kind of redesign, but there was an open source project that wasn't working, we paid a couple of programmers to fix it and make it work, they were successful, and even those programmers (who had experience contributing to FOSS) were surprised when the fix was rejected without explanation. That's fine, since my company got what we needed out of the software once it was fixed, but I doubt anyone else ever got to benefit from the fix.
Now, I'm not claiming that these handful of experiences represent every open source project out there. I'm sure there are projects that are very welcoming, but I haven't really experienced that. You ask why I don't contribute? It'd because nobody has asked, and my attempts to help have not been welcomed. And then when I've explained this on Slashdot before, people respond saying something like, "Well you need to approach the community in the right way. They have their own way of doing things, and you should spend time to learn about the community and do things the way they want things done, and then I'm sure they'll welcome your contributions."
Which... you know... fine. Maybe that's true. But honestly, I don't care that much. My motivation to contribute my time and effort for free is pretty limited to begin with, and if people are going to make it even harder and less pleasant, then I'm not going to bother.
But, how is that specific to open source?
Because of money.
With commercial code, programmers are paid, and people will put up with a lot of crap to keep their jobs.
More importantly, paying customers are much harder to ignore than freeloading users.
If you don't give customers what they want, they go elsewhere, and you go out of business.
When you have to meet payroll in a week, and you don't have enough money in the bank account to cover it, you will find a way to refocus your priorities away from petty power games.
In that case it's the opposite, they tried to fix something that isn't broken and have now divided entire sections of the OS community.
Oh and a special mention to systemd for wrecking Debian and starting a thousand flamewars because they just had to have Debian running their anti-unix init system.
Yeah, those are some great software projects there...
That and I think Poettering is a megalomaniacal douche.
Bull. FOSS is about "the freedoms you have while using the software", including using the software as you see fit. It's not free if there's even an implicit "you should donate time" attached.
This is SUCH a typical response. "You didn't have a problem, you're just too stupid. See?" THAT'S why I quit trying to contribute as a non-technical user.
Shutting down free speech with violence isn't fighting fascism. It IS fascism!
The real question should be:
Why aren't companies paying more people to work on Open Source projects.
Does their purchase of a programmer's coding time give them any editorial control on the project? If it doesn't, then it's got little value to them to contribute patches to a project, if there's no chance that they're going to be accepted. This is frequently true when you want to make changes that go across area boundaries in Linux, and you aren't an area maintainer, like Alan Cox or Ingo Molnar.
So the company is willing to hire people who already have commit bits and/or a high enough position in the project that they aren't going to be stuck maintaining local patches for the rest of eternity, and applying them to every new revision that comes out. Google was this way; the Google server team has literally years worth of patches that aren't being accepted back into mainline Linux at this point (example: the TSC resynchronization code for AMD processors that puts the TSCs on all the CPUs back where they would have been, before the platform went into a C2 or greater state, and stopped the CPU clocks. Google carries these forward every time the update the server OS.
If the software is strategic: you don't want it to be Open Source.
If the software is tactical: you want it back into the project so that it reduces your ongoing maintenance burden.
If you can't have both those things, then it makes sense to just internally fork the project, and then ignore anything major that causes divergence with the original project, unless it's a bug fix. Which you then merge back into your private source base.
NB: This is largely how Android works; most of the development is not in public, and is only published post, or simultaneous to, a hardware release. That's also how Apple works, too, when they figured out that developing in public had no commercial benefit, and leaked a lot of information. Apple didn't want to preannounce their hardware, any more than an Android using company like Samsung wants Huawei or Apple knowing ahead of time what hardware they're going to be releasing in 6 months.
So I guess if you want more companies hiring people to work on Open Source, you need to turn the question around a bit, and ask why editorial control is centralized in so few people, and why is their kingdom building that reinforces that centralization, such that there are not more prominent developers with some say in the project direct that are available for companies to hire?
But people are less inclined to deal with that when they are just volunteering their spare time.
Amen...
Pay me a quarter of a million dollars a year and I'll play the office politic game, I'll work with the management that I am dealt and the staff that I have, and get the project done because that is my job and I'm paid well to do it.
Ask me to do ALL THAT FOR FREE?
Yea, no thanks...