Open Source is how the world runs. Somewhere, deep inside the box of thinking sand you’re sitting at right now, there’s code you can look at, modify, compile, and run for yourself. At every point along the path between your router and the horrific WordPress server that’s sending you this webpage, there are open source bits transmitting bytes. The world as we know it wouldn’t exist without Open Source software.
That said, how does someone contribute to Open Source? Maintainers do like to build their own little kingdoms, so how does anyone break into developing Open Source hardware and software?
Our guest for this Hack Chat will be Robert Wolff, technical writer, and Open Source evangelist who has a history of working in and around STE*M-based educational programs. Right now, Robert is the community manager for 96Boards at Linaro. 96Boards is a hardware specification to make the latest ARM-based processors available at a reasonable cost. This open specification defines a standard board layout for SoC-agnostic platforms that can be used by any application, device, and kernel by system software developers.
The questions we’ll be looking at during this Hack chat is how to contribute to Open Source projects, how to do that using 96Boards, the technical challenges involved in documenting an Open system, the difficulty in designing a processor-agnostic system, and general questions about the 96Boards community, ecosystem, and resources.
As always, we’re going to be taking questions from the hackaday.io community, so if you have a question, drop it on the Hack Chat event page.
Our Hack Chats are live community events on the Hackaday.io Hack Chat group messaging. These Hack Chats usually happen at Noon, Pacific time, on Friday. This week, everything is going down on Noon, PST, Friday, December 8th. Don’t have any idea what time that is on your meridian? Here’s a handy countdown timer!
Click that speech bubble to the left, and you’ll be taken directly to the Hack Chat group on Hackaday.io.
You don’t have to wait until Friday; join whenever you want and you can see what the community is talking about.
How do you make a living by working on Open Source projects from home?
As someone already pointed out, work on the weak spots, of which documentation is a big one because it’s not sexy. People will pay for good documentation.
“I have met people I would pay not to work anywhere given their coding style is a security nightmare.”
B^)
I will express one of my views:
Let’s for a moment ignore the open source “day job” or instant “pay day”. I would like to think that if you are working on an Open Source project (be it your own or someone else’s) you are doing this out of a necessity to yourself, general interest, personal growth, the list goes on… You are either creating a new project, out of curiosity or because you need something, or contributing to something you have consumed due to a lack of features or robustness etc…
If you create a project out of necessity or with the possible goal of eventually heading to market (making money), there are surely things a vibrant community (such as the open source one) can provide. In many cases, one does not have a room full of engineers or software gurus to create and test the things that fuel your wildest dreams. The shared interest in your dreams might fork into someone else’s and thus creating a cycle that provides (in many cases) the chance for a “win, win, win” scenario. Working on open source projects isn’t always about an instant payday, it could also be about engineering hours and shared passion for creation and the pursuit of perfection.
Either way, if you are creating, consuming, and/or contributing, each individual gains so long as your efforts are done for you (and with occasion the greater community and those involved).
I could honestly talk about this for hours >.<
Disclaimer: I’m no Shakespeare.
Years ago I became disgusted not with Open Source Software, but Open Source Software documentation. B^)
While I wanted to assist in writing better docs for OSS, I often found myself unable to do so because of poor documentation.
Not knowing what the s/w really does makes it tough to instruct others how to do it. The original authors of the s/w are not concerned about documenting their accomplishments, just eager to code some more.
And then there is the short life of some of the OSS, once when I offered to write documentation about an audio player, more informed people told me “nobody uses that anymore, use xxxx instead!”.
As far as I see, most of Makers Favorites could benefit from some “not coding project angles” that do the grind work of documenting stuff, writing guidelines, clear out old stuff, update to-do-lists etc.
But sadly, those angles don’t fall here from anywhere…
That is definitely the nightmare I encountered. Got tired of projects getting forked or just flat out scrapped because folks decided X was the flavor of the week. Same reason I left my local LUG as it was just a weekly distro roundup and some person touting their over others. I get why there are different distros but it also seemed to consistently undermine Linux as a whole being tight and moving forward in ways I thought were less confusing imho.
The other thing that bugged me was true of any online forum where some jackwagon would come in with something 80% done, I would correct/fix his mess and then he ghosts into the ether only to pop up 3 months later with a new project that “he” came up with. Then there is the awkward eventuality of a person wanting to take it from OSS into proprietary world when the smell of filthy lucre wafts in and they have to find a way to rationalize flushing their scruples lol. It is all going to be appropriated by ahem a certain asian country sweatshops to undercut any kind of creativity involved by the supporters anyway, so probably better to just not help anymore. I hate code anyway lol.
Finally, folks occasionally saying “Thank you” would go a looooong way instead of the nitpicking pissing contests that these things become (HaD comment sections aside).
If you want to contribute to OSS in a general sense, you NEED to get an account Github and learn the workflow.
I struggled for some time with how to get involved with something… as it turns out, most projects we use on a day-to-day basis are just mature codebases with no devoted maintainers around, and they’re happy to accept any bits you might throw their way. Now you can find them on Github, and doing the “fork->commit->pull request” makes submitting small patches SO EASY. And it doesn’t always need to be a major feature addition or whatever. I’ve converted shoddy makefile-builds into Autotools, corrected typographical errors in docs, fixed compatibility issues when compiling on certain platforms – all the stuff I had to do “just to get it to build”, but now it’s like 30 seconds of extra work to share it with the world.
If you had told me five years ago I would one day submit patches to snes9x and advancemame I would say you’re insane. Github has made it an everyday exercise.
Run Gitlab locally, pull entire source, submit back what’s needed.
I guess when I made my first attempt to assist in writing/editing docs, github did not exist.
Diff, email, patch is not really that much different from the GitHub workflow for smaller projects, honestly. I’d never go back, though. Revision control is the shizz.
“The world as we know it wouldn’t exist without [insert anything here and it would still be true]”.
The world would have existed happily without software being protected by copyright and/or patent law. It would just be different. Likely more accountability since support would be the only way to monetize. Longer development times would push for better OS architectures as well. Just sayin.
Since HaD writers mostly delete any anti-OSS talk, I feel the need to say I, for one, welcome our new OSS overlords and apologize for my dribble.
Wouldn’t exist without…porta-potties. :-D