Open Source Projects For Beginners
itwbennett writes "Whoever said 'everyone has to start somewhere' has clearly never tried contributing to an open source project — the Linux Kernel development team in particular is known for its savagery. But if you're determined to donate your time and talents, there are some things you can do to get off on the right foot. Of course you should pick something you're interested in and that you use. Check, and double check. You should also research the project, learn about the process for contributing, and do your utmost to avoid asking questions that you can find the answers to. But beyond that there are some hallmarks of beginner-friendly open source projects like Drupal, Python, and LibreOffice — namely, a friendly and active community, training and mentorship programs, and a low barrier to entry."
I get hungry for Nachos.
I am very small, utmostly microscopic.
I always picture the slap-fight scene in Nacho Libre. Forever damaged.
I object to power without constructive purpose. --Spock
Beginners and non programmers can even help. 99.99786% of all OSS projects desperately need help with documentation. IF you want to start somewhere, start there.
Do not look at laser with remaining good eye.
the Linux Kernel development team in particular is known for its savagery
I've found that the "It's my party and no one else is invited" syndrome permeates all too many OSS projects. Finally stopped offering to help after encountering one too many projects that act like the snobby fraternity from a bad 80's movie. Now I do my own stuff and forgo the projects that have already started.
The cow says "Moo." The dog says "Woof." The Timothy says "Thanks, valued customer. We appreciate your input."
Newbie: Hi! I have a set of ideas for improving the Linux memory manager which I've laid out in this mail.
Linus: #k$^!@s!!
Ulrich: ^$#&!&*!!!!!
Newbie: Wait a minute. I thought this was the place for kernel discussions.
Linus: Oh sorry.... this is abuse.
How about contribute to something you can add value to? like, not treating it like contributing just something to just any project has absolute value that you can then put on your CV.
So look at software you use - fix some bugs that annoy you and contribute fixes or create new features that you would find useful in the software. that's how almost all successful small open source projects operate. which is pretty much how the example guy on the article went about it. contributing to software you don't use is going to be a mess.
if you have a truly novel fix or improvement to the linux kernel, you could always present it at as well. that's contributing even if you don't get your commit in, if it's a good solution to some known problem then people will take notice. because if you feel like that your changes wouldn't be appreciated, you could always just release a fork.
just answering questions on stackoverflow etc can greatly help some projects too.
world was created 5 seconds before this post as it is.
My fist ever contribution to an open source project was a silly little patch for the Kernel. While there was some initial indifference on the mailing list, I received actionable feedback. I iterated a couple of times, times, fixed issues that were called out and got my pulled in. All without any 'savage' name calling, flaming or . True, there are more than a few grumpy Kernel hackers, just are also loads of folks willing to help out newbies. You know, like in ANY opensource project. Hell, there's a website and a mailing list just for newbies! I really don't understand why Linux gets so much hate. Especially considering that it is the LARGEST, most successful open source project ever?
Mozilla offers a lot of help to those who wish to contribute. I was quite pleasantly surprised with how smooth the process for contributing to firefox was.
"Did you no tell them they were the Lard's Chips?"
1) Get a github account.
2a) Submit a bug.
2b) Request a new feature.
2c) Fix a bug.
2d) Research and comment on an open issue.
2e) Add a new feature.
2f) Fix typos in documentation.
2g) Add documentation.
2h) Add a translation for your own language.
2i) Add a new theme/template.
2j) Make the project page nicer to look at.
2k) Thank the authors.
2l) ???
3) Profit!
Getting involved starts simply with making "first contact".
Any half-decent project team will gracefully accept anything you have to offer and pretty soon you'll find you have quite a lot to offer.
Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
Try Oolite. A free, cross-platform space game based on the classic Elite. Dead easy to get into and a great community behind it.
Smivs on the intertubes!
Everyone will post their 2 cents worth, recreating the article in a hodge-podge way.
Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
I heard that FreeRCT is in need for both programmers and graphic artists. Their goal is to create an open game in the spirit of Rollercoaster Tycoon 1 & 2.
OpenHatch is a non-profit dedicated to matching prospective free software contributors with communities, tools, and education.
http://openhatch.org/
Very useful for beginners.
http://openhatch.org/search/?q=&toughness=bitesize
http://openhatch.org/search/?q=&contribution_type=documentation&toughness=bitesize
I was pretty big into fixing bugs and hacking Wine until I got turned off by a Codeweavers dev who refused to help with a bug that I had patched. His code was an admitted "hack" that made some other software work for him but breaks mine. I gave up on it shortly after that. It's also why I refuse to buy Crossover.
Uh, this one is really simple.
Don't start at the kernel, idiot.
Don't start at a compiler or programming language or other system part, fool.
Start with an application. In fact, if you need to get that explained, you should start with a good book.
The kernel and compiler, etc. people ought to be hostile to newbies. Their goal is not to teach newbies, it's to deliver reliable code. You don't start learning to fly with a Boing 747 full of passengers, you start with a simulator or a Cessna.
Your first contributions shouldn't be in anything that other (applications) rely on. It should be in an application. Something where if it fails only that thing fails and not everything that depends on it. You'll find that the maintainers of these applications are more forgiving, simply because the burden on them is a lot less.
And yes, I say that as someone who has contributed to bunches of projects.
Assorted stuff I do sometimes: Lemuria.org
The BRL-CAD project defines two levels of tasks geared towards new contributors. "Deuces" are small tasks expected to take less than 2 hours. "Quickies" take around 2 days:
http://brlcad.org/wiki/Deuces
http://brlcad.org/wiki/Quickies
The project even provides a virtual machine disk image that has everything set up and ready to go.
Cheers!
Sean
After being savaged for filing perfectly valid and well-stated bug reports at three different OSS projects, I've given up ever providing reports to any of them. They take a bug report as a personal attack, and lash back at you; sometimes in an extremely pithy manner.
I run my own FOSS project, and have taken to heart the lessons that I've learned dealing with those brats.
As a result, I get plenty of help keeping my project at an almost unbelievable quality level. It often requires back-and-forth with the reporter, and, yes, they are often stunningly naive, and yes, sometimes, they start off rude, but responding in a measured, kind, understanding manner has had tremendous benefits.
Just my experience. YMMV.
Instead of those arbitrary picks, how about looking at Google Summer of Code?
Those projects have conveniently listed what things they want help on and already have allocated mentors to lead those projects.
While you might not be a student, if you really want to help out, I bet most of those projects would welcome additional involvement and the mentors would be willing to talk with you if you are serious about helping.
Thanks for the link. I hadn't heard of them yet. I've also seen this site. I haven't used either of them yet to know how well they work.
http://thecommunitycorps.org
it's dominated by pure technical types (hello, Linus Torvalds) that seem to have very little patience for non-technical types. In order to have a commercially viable version of Linux (or UNIX) you've got to involve people that can design an attractive, usable UI. For evidence, just look at what Apple has done with OSX and Google has done with Android. Both are beautifully designed and easy to use yet still have the power of Linux/Unix under the covers. You've got to have talented designers and good documentation. Otherwise it will be relegated to a hobbyist platform. Nothing wrong with that, by the way, but it is what it is.
Telling people to "do your utmost to avoid asking questions that you can find the answers to" is really bad advice. I've seen this sentiment a lot and Eric Raymond wrote an entire article (How To Ask Questions The Smart Way) that boils down to RTFM and is outright contemptuous of newbies.
Asking questions is a fast way to get a problem resolved and people should not be intimidated from doing that. On the mailing lists I frequent, newbie questions are asked all the time and answered fairly quickly. A nice side effect is that you learn something new by skimming posts that aren't relevant to you. So asking questions has a benefit to persons other than the one who's asking. Other mediums, like IRC channels, exist to get problems resolved quickly and how can you do that if you do not ask?
Now, I agree that you should do some research before asking, simply because it might be quicker to find an answer that way. But if after a bit of research you can't figure it out then go ask a question!
Free Manning, jail Obama.
Windows 3.1, Windows 95-ME were very different OSs from Windows NT, much less Vista. In case of the first 3, the underlying OS was DOS. In case of NT, the underlying OS was Windows, but on a win32 API. Architecturally, NT was nothing even close to Windows 3.x, except for the appearance. The Windows name was common for branding purposes, even though they shared some things, such as parts of the API, and so on. Vista, again, as well as Windows 7 & 8 are based on win64. Again, different enough to be considered a different OS.
The Ubuntu example is not exactly analogous - it would be something like putting something like Compaq's DesQview or HP's Dashboard on top of Windows 3.1. In the case of Ubuntu, the OS is Linux, and the DE that they put on top is GNOME/Unity on top of X. NEXT & Apple, like Microsoft, don't have a clean separation between XNU, Quartz and Aqua the way you have on other Unixes or Linux b/w the base OS, X11 and the DE, such as KDE or GNOME. So I don't think that analogy is exactly parallel.
I've tried to get more contributors for my project www.wograld.org , but the few people that had an interest did not meet all the requirements to be able to make meaningful contributions.
The new, revised list of requirements is as follows.
1) broadband internet connection. 2) Distro of Linux with admin privileges on a desktop and/or laptop. 3) Skill in one or more of the following 1) C programming 2) Java programming 3) gnu autotools, 4) Pixel Art 5) Perl coding. 4) Ability to read the README and install the game (I will help if asked, but I can't do it for you, sorry) 5)An interested in RPG's, MMO's in particular 6) Willingness to follow the design document, also known as the project mission statement and statements about what the project is supposed to do as shown on the website. 7)Basic Familiarity with the command line of Linux and command line tools. 8)Time to devote to the project, preferably 15+ hours a week (although for small fixes less time is needed)
I've often envisioned a sort of combination of a social networking like website with a dating site like match up system, and social networking capabilities designed to help match contributors to projects. But I have neither the time (like thousands of years) nor the the skills (like php ) to code such a thing.