Bitcoin Forum

Other => Beginners & Help => Topic started by: subsidiarity on June 15, 2013, 04:03:38 PM



Title: How to contribute to Bitcoin dev or other OSS?
Post by: subsidiarity on June 15, 2013, 04:03:38 PM
I would like to learn how to code better and I would like to help OSS development. Can these be put together? Is there a way to learn better programming by helping OSS projects? I have never held a programming job and have only worked on small projects for my personal use. Is there a path that can make me useful enough to contribute and learn from these projects?

My limited experience is mostly web dev, php/mysql, html/css. My goal, as it stands, is to learn more about database administration. But I am willing to follow opportunities elsewhere.

I'm assuming there is no shortage of work to be done in OSS. But is there work for beginners? Any insights are welcome.


Title: Re: How to contribute to Bitcoin dev or other OSS?
Post by: coinedBit on June 15, 2013, 05:07:38 PM
Sure, there are plenty of options - just check out stackoverflow.com: http://stackoverflow.com/questions/749195/is-there-a-resource-that-helps-people-find-oss-foss-projects-to-participate-in

Honestly though, I really wouldn't focus on bitcoin or other cryptocurrencies, simply because you'll require an exceptionally strong background in CS and maths. If you are not mathematically inclined, it will be incredibly painful to make even minor changes. Keep in mind that bitcoin et al are also about p2p, networking, privacy etc - so there are definitely many options, but the expertise you mentioned is all mostly web-development, i.e. no compiled languages - but bitcoin and other cryptocurrencies are traditionally implemented in compiled languages like C, C++ or CUDA/OpenCL.

With your DBA focus, btc is also of questionable use, simply because it's basically a distributed hash database - nothing like conventional SQL, more like "noSQL" solutions.

You could probably look for projects that you are interested in by joining sourceforge or freshmeat.

Again, starting out with bitcoin/cryptography is going to be a hefty experience without any relevant background experience.

Some "beginner" work would be triaging bug reports, contributing to wikis, fixing documentation, helping on forums. But if you are set on doing development, you will want to look for "mini projects".