Sunday, October 1, 2017

You Might Be Contributing to Open Source without Even Knowing It

I went to a session about open source programming at OpenWorld 2017 today, and half-way through the presentation it dawned on me that I have contributed to open source myself.  You probably have as well without even realizing it.




My church (the Church of Jesus Christ of Latter-day Saints) is very much into genealogy. And the way we go about it is very similar to the way that members of the open source community collaborate with each other to make the world a better place.  If you create an account on familysearch.org, you will very likely either be able to see your ancestors in a family tree, or you will be able to find information that allows you to link yourself to your ancestors. How is this done?  Because crowd sourcing will have paved the way for you.

  • Some people take pictures of birth certificates, censuses and other documents that identify our ancestors and store them in an image database.
  • Other people look at these digital images and type the information into a gigantic text database so that yet other people can more easily search it.
  • Still other people find the information that came from the images whose birth, marriage, and death dates, etc. were entered into the text database and attach that information (along with links to the digital images) as "sources" that positively identify your ancestors and allow you to link to them.
Do these people sometimes get it wrong?  Yes.  I made such a mistake recently, which is kind of like introducing a bug into my family line.  But with crowd sourcing, where virtually everyone has a vested interest in making the best product possible, there are people with even more expertise that identify and help fix those problems.  And someone helped me fix mine.


From the OpenWorld session today, I learned about why a lot of people don't contribute to open source (and similar reasons can be given for not participating in crowd sourcing efforts such as Family Search).
  • They are afraid that they have nothing to contribute. 
  • They don't realize that they actually already do contribute.  During the session, I came to realize that a few times a year I do contribute, by posting code examples on this blog of things that I've discovered.  (I do realize that I need to get more involved than that, however.)
  • People think that only geniuses contribute to open source.  (As you'll see below, there are a variety of ways that you can contribute, even if you're not a genius.)
  • People are afraid to ask questions, thinking that others more knowledgeable that them will laugh at them. Actually, when that does happen, that has been a sign that that particular open source community is not thriving.
Most people think that contributing actual new lines of code is the only way to participate in open source.  Coding is not only not the only way, it's actually the toughest way to contribute. What are some other ways that you can contribute (and may already be contributing) to open source?
  • Extending unit and integration tests is something that a lot of programmers don't prefer to do when compared to writing new code.  So if you like to improve the test scripts out there, you will be much appreciated. 
  • A way to dramatically improve code without writing code is to make code more readable, through commenting the code, renaming variables to have more descriptive names, etc. 
  • Even if you don’t have anything else to contribute to open source. You can get to know someone else's open source contribution and evangelize it (make it more popular) on your blog, Twitter, or other social media. 
  • If you find a bug in someone else's open source code that you're using, create a small project with small unit test to include with your jira or github that demonstrates how the code fails, making it easier for another programmer to fix it. 
  • Even if your forte is CSS and graphical skills you can improve open source web sites. 
For most of us, it's hard to believe that there really are no stupid ideas.  Hopefully that gives you more courage to make your first contribution to the open source community--unless you just realize that you've already been contributing!

No comments: