If you don't have coding skills, why don't you help foss software by making it more user friendly instead?
Disclaimer
Not trying to blame anyone here. I‘m just taking an idea I‘ve read and spinning it further:
Intro
A lot of people use free open source software (foss), Linux being one of them. But a lot less actually help make this software. If I ask them why, they always say „I don’t have the coding skills!“.
Maybe its worth pointing out that you don‘t need them. In a lot of cases it’s better to not have any so you can see stuff with a „consumer view“.
In that situation you can file issues on github and similar places. You can write descriptions that non technical people can understand. You can help translate and so on, all depending on your skills.
Other reasons?
I‘d really like to know so the foss community can talk about making it worthwile for non coders to participate.
Yes, absolutely but github (which is only an example, mind you) has a lot of consumer friendly accomodations like github gui and cli.
You can edit stuff directly in someone elses repo (or so it seems) in the web browser. I know you have to do a branch and a pull request but thats something that can be worked on.
Since you're trying to build bridges with this post, I just want you to know that everything you mentioned in this comment is far beyond a non-programmer and sounds totally incomprehensible. It's jargon soup. I don't say this to dunk on you or anything, I just wanted to let you know how high your own skill level is, because it can be easy to forget sometimes. People without those skills won't be able to follow this kind of explanation.
Tried submitting a relatively simple change to the Ansible code base once. Added an option to the telnet module to support different ports. Submitted a pull request. Was told I needed to change and update the documentation. Didn’t know how to do that, and I didn’t get any guidance, so I abandoned the pull request. Kept on using my own hack until someone else added the option.
Make contributing easy, and more people will contribute.
Pretty much this. I had a similar experience on a different project. If I ever submit a patch again, I'll make sure to run it by the maintainers before I start coding.
CONTRIBUTING.md should be very simple to follow and have all the steps necessary to submit a successful contribution.
Have a section in there for first time contributors. Link to a YouTube video outlining the basics if need be. Explain the process from the very beginning. If you want fresh talent to contribute, educate them on the right way to do so. (Perhaps this is an opportunity for boilerplate language. However, best current practice may change over time.)
Be pleasant to and patient with contributors who fall short. They may never have contributed anything before. In that case, you are an ambassador not just for your project but for all open source projects. Don’t be a jackass who drives away talent just because they didn’t do something exactly perfect.
What use is a readme written by someone who doesn't know the code, doesn't know the internal designs, the design goals, the plans of the current maintainers, anything? It'd be no better than asking ChatGPT to write it for you.
If you give me an extremely easy way to submit feedback, then I will. Don't expect me to go way out of my way, though, researching how to get into contact with you and such. I don't actually care that much, you know how many products exist out there, right?
But, just by way of example, an early access game I started playing recently has a very convenient button in the main HUD for submitting bug reports/suggestions, and I've been considering different ideas to submit with it. Any I cannot throw out as impractical or counter-productive will get submitted eventually. I'll also report bugs I encounter, of course.
I will not look up your team's forums just to talk to you though.
Absolutely relatable. Thats why we need to make this a more streamlined process.
Like every foss software, be it games or whatever, should have an easy way to report bugs.
One thing I see different is foss-software and -games: You getting something for free and asking for „everything be dead easy“ without helping it become dead easy is not the most healthy.
You cant compare foss software with for profit software that either takes your money, serves you ads or outright sells your data. Thats only making the world a worse place.
The devs dont make money off you, yet you‘re saying you‘ll not give anything back except if they pave your way to it. I think you should pay for foss software then.
Side thought: If someone just puts an email address for receiving feedback somewhere where I'll see it, I'll use that too. A UI button isn't really necessary, just so long as I can send the feedback without having to do my own research in order to do so.
Totally. Everyone has a threshold of pain in the ass above which they don't care enough to contribute.
Some want to contribute but find that having to use git, let's say, is too big a hurdle, otherwise they'd totally contribute. Ok, so lower the barrier to entry. Make it less of a pain in the ass.
You don't need to make it so easy that any idiot on earth can submit changes or the project will be flooded with bullshit probably. But for those who would otherwise be dedicated contributors but for that one thing, fix the one thing.
Going Medieval has a Bug Report button in the top right corner during gameplay at all times. It's an early access game, and the devs have been actively updating it and adding new features over the past couple years since it first went into EA. What's there is great, and you can spend tons of hours just building up your settlement.
I'm a programmer and I find dealing with other programmers frustrating and pointless if you discuss anything that's not programming related.
They'll happily discuss algorithms or language paradigms for hours but if you mention design, UI/X, marketing, etc they shut you down claiming some greater-technical reason for the feature.
Lemmy is a good, recent example. As part of being a web dev I've also done a lot of SEM. The devs have a Github issue for making readable URLs. They completely refused to consider it claiming other technical requirements for not allowing it. Any arguments outside the narrow technical reasons are discounted. So what if readable URLs will help people find the site through Google easier (because Google will better index the site). It breaks X feature and we don't see a need. No discussion and no listening.
If devs don't see a strict technical need for something they ignore it at best and at worst they insult you for being an idiot.
Hubris and ignorance make it a PITA to deal with them.
Ohhh I know that one! This happened to me a lot already. Some devs are completely socially incompetent although brillant programmers. I mostly call them out on their bs if they start it. Happened a couple times in this comment section alone.
This is why I'm so glad my degree forced us to have UI and UX classes to graduate. I definitely picked up a lot from those that have helped me be a better developer overall
If you can't code (or have limited coding skill) but know the system well, one of the best ways to contribute is by writing end-user focused documentation. Write about things that confused you. Improve the "getting started" guide. Add more articles to the docs. Create video tutorials. Things like that.
I think a major deterrent from contributing things that aren't code is that whoever is implementing it might think their design is better just because it's theirs.
Try talking to the GNOME team, for example. You will never be able to get a suggestion past them because they're always right and you're always wrong.
Even when you prove them wrong and they backpedal, they are still correct and you are still wrong.
I ran into basically this with home assistant. Commented on an issue about an integration to point out that it didn't work at all, and to support another user that had rewritten it in a way that fixed it. The approval dev jumped in to say that they only permit single changes to be approved. That's fine, I guess, but to fix the issue multiple changes were necessary. The user that had rewritten it then tried to limit the change to a single fix, but because that didn't resolve the issue they blocked the change. The integration still doesn't work and the user stopped trying to fix it.
I mean, you‘re not wrong. But I think you’r example applies to far more than you think.
I think the reason we are in a dystopian hellscape is because people need to be always right and never say sorry. That is why the master manipulators are running our countries and economies. Because then you can be always right, poor and exploited but always right.
The movie idiocracy is a perfect depiction of our current world.
But I think we can make it happen nevertheless. We need to tackle points like yours and take them serious. This would be excellent in a code of conduct for the foss community to take on.
I agree. I‘m also often confused. I‘m not adept at coding but a lot of low level programming, scripting, config files and so on I can do.
We need a more streamlined process and a behavioral code how to treat contributors. Something like the fedi instances that have decided to band together against bigotry and such.
Writing documentation of all kinds seems like it would help a great deal. I would be hesitant to file UX complaints, because those tend to be ignored by programmers who focus their limited available time on fixing defects and shipping features.
Where are all the programmers who enjoy improving UX and enjoy the challenge of changing legacy code? 😉
Fair enough. There seems to be a hole in the plan there. I think most UX programmers are sitting on their 5000$ chairs writing code on their 10k$ mac for their billion $ corporate employer. Kind of joking but I bet its not far from the truth.
Some people are better at technical writing, some are better at coding, some better at UI/UX design
I don't think op is asking people with zero technical aptitude to jump in writing user manuals.
Just because you don't code doesn't mean you can't contribute in some fashion. If you have the skills to improve a user manual, wiki, or help file.... Why not right?
I've been doing a lot of translations for Debian into my native language, and the most important factor there is being part of a translation team of people. Many times the english original is ambiguous or just poorly written by a programmer, and with a team you can get help and find the intended meaning and its proper translation. We read each others translations and come up with constructive criticisms.
To me, what makes or breaks good work is the organisation and cooperation between people: the community. I believe the great challenge of FOSS is the organisation of people and their efforts.
OP, your post has inspired me! I'm going to write a small python program that works as a multiple choice questionnaire that spits out a comprehensive 'contributing.MD' at the end of it.
When I'm done, will you test it for me and give some feedback?
Yes indeed! Feel free to dm me if you‘re interested in helping with this. I feel like now that so many people responded positively, we could discuss where to go from here.
I can code or do errands, and am willing to help out a bit. I'm not sure how much time exactly I can devote to this, but if you're stuck on something and can't find anyone else to do it, I'm a good call. I might switch back to lemmy.sdf.org depending on how broken it stays, same username though.
I have worked in IT on and off for 20 yrs so I‘m quite familiar with tickets. The problem is mostly the organization. If you have a hybrid like me who has seen many jobs, you have no problems with tickets. The issue is reducing the headcount to the most skeleton crew as possible and then letting high profile coders take tickets from IT noobs. Thats a bomb just waiting to explode.
Making it easier to contribute is the main thing. I don't use git or discord, so I usually try to find an email address, if none is available I move on.
I would be happy to give feedback, but I have no idea how to do so. On a few occasions, I have responded to posts, such as like on Lemmy where someone asked for suggestions to improve KDE. I still have no idea how to use GitHub at all, much less to provide feedback. I know GitHub is something I can work on to learn to interact with the FOSS development community, but it's probably a major barrier to the non-tech people that use FOSS.
Now that I think about it, I'm thinking it would increase non-tech interaction if developers of FOSS engaged the community through social media. Like, get on Lemmy, Mastodon, even Reddit, FB, and Instagram, and engage the community in these discussions. I think that will definitely increase engagement from the non-tech users, though some of those sites may feel like a betrayal of values. It seems like an interesting ethical dilemma.
Edit: So I looked into it for KDE in particular. They actually have a Wiki that simplifies user engagement. Maybe promoting these avenues will also help engagement.
Thanks for the elaborate explanation. Learned a lot today. :)
We definitely need more integration between say github and social media. You can already comment on github stuff but devs would probably puke if john commented that he‘d like the button in red.
Not sure myself how this would work. Probably a sliding scale of integration and ease of use so peeps dont just comment for fun or to let off steam.
Edit: DUDE! I just realized its you! Hahahaha thanks for replying! :)
You're welcome! The more I think about it, I think it's mostly an exposure thing. Unless I'm really invested in tech, I'm not going to be going to those sites regularly. But I do go to my social media sites often, so if I regularly saw discussions/posts on the topic, I'd be more like to engage since it's in my awareness more often.
DUDE! I just realized its you! Hahahaha thanks for replying! :)
Right‽ Isn't it exciting when you see someone you know doing there thing? It's like, "Hey, that's my friend!"
Because my skills when it comes to coding (absolutely none), is using the program until it breaks and telling someone what happened from an uneducated stand point.
If you are going to make things for "idiots" you need to hand it to "idiots" for testing.
I think just spreading awareness is a step in the right direction. Most people I know just have no clue and continue purchasing the established mainstream programs. I encourage people to give GIMP a try instead of buying photoshop, or OfficeLibre instead of MSOffice. Most of them are ecstatic to save a couple hundred bucks. The more people that use FOSS software the more likely we are to get the support it needs.
I really appreciate this positive comment. I fully agree. We need more people like you who understand open source, know that it doesnt work without contribution and has a non condescending attitude towards noobs. :)
I wish I or someone else who understands CAD modeling could help make FreeCAD work better. A LOT of the issue is tools that are commonly used are hidden in weird places that make sense only to people who don't used cad for a living.
You‘re the best person for this job. The issue seems to be that you dont know where to point your feedback? Which is the whole point of this discussion. :) thanks for making your point.
It takes a certain kind of a skill set and experience to be able to translate this "consumer view" into something that can be acted upon by a developer.
Sure, the skill set can be developed, the knowledge (about software development, the available technologies, and having an idea of what is and isn't feasible in the first place) can be built up, and the experience (communicating with developers) can be accrued, but that really stops a lot of people from even thinking of contributing.
Perhaps a subset of the (open-source) community can help in developing these (skills, knowledge, experience) among interested people. Teach people how to look for issues, bugs, or come up with feature requests; teach them how to put these into a form that's easily understood and appreciated by the developers, and finally, teach them how to communicate with developers without losing the "non-techie user POV" which makes their feedback valuable in the first place.
IDK though, having read what I've just written, it seems to be quite a task.
That's supposed to be part of their job, right? Along with coordinating the dev team's efforts: who works on which, which aspects of the project is to be prioritized, which bugs are to be fixed ASAP; and other things that doesn't come to mind at the moment.
But what I am actually imagining when I made that reply is on the other side of the "business-dev" divide. I'm actually thinking of someone who's leading the QA team? I guess? I don't even have any idea how it all works out on large corporate software projects.
I think you are totally on the right track but yes, the task is massive. Thats why I asked. I‘m trying to help with making it happen. And asking questions is one way of doing so. :)
Yeah. And I'm just throwing what I think is a reasonable idea, but there's this nagging feeling I've got inside that goes "how can you be so sure no one's thought about it before? Maybe there's something more pertinent and basic that stops them from doing just that?"
I have to write userscripts to make websites bearable, software UI is not as customizable( bright white background at night, tiny 9pixel fonts, huge empty margins and content crammed into 200x200 boxes,lots of tiny cryptic icons crammed into toolbars that suppose to be menus,etc )