Behind The Scene and Funding of Free Open Source Software Development Edit

We all know that free open source software [FOSS] are usually manage by a group of individuals but how do they manage the project financially and balancing their own career and life in parallel. “I really hope the Heartbleed vulnerability helps bring home the message to other communities that FOSS does not materialize out of empty space; it is written by people.” (Kamp, 2014)[1]

The recent OpenSSL Heartbleed bug have created an uproar in Internet Security. While most of the people blame the OpenSSL Foundation, they never did think about the time need to maintain a half million worth of code by a small group. Not to mention, they only receive $2000 a year in donations to maintain the code. That is not even a month worth of salary for the average programmer in United States. The community needs to stop taking it for granted on free open source software without thinking the people behind it. One of the way to fund FOSS is to set up foundations to generate income and maintain a group of developer.

For example, the Mozilla Foundation was funded by AOL in 2003 with a whopping two million dollar. (DiBona, Cooper & Stone, 2006)[2] Great backers can create great software. Without the contribution from AOL, Mozilla Foundation would not have revolutionized the web browser. This in turn will be the lost of the world. In conclusion, the community need to be more aware that the people behind FOSS need time and support to create quality software. Crowdfunding is very important at the development of great open source software we have today and setting the benchmark for every Open Source Software. We have to start appreciating and support their work.

Code Reusability in Open Source Edit

As per mentioned by the previous paragraphs of this toolkit, most collaboration of open source occurs via the Internet. Which brings a question when developers do share their code, do other developers build software from scratch or they reuse code that is already available and alter them based on their needs.

Based on the article named “Code Reuse in Open Source Software” by (Haefliger, Krogh, & Spaeth, 2008)[3] has a similar concern whereby “Lame, a music encoder, cannot be used directly, but has to be built into, and used by another program to create MP3 files.” Thus if a developer whom wishes to extend the capability or use MP3 files do the developers have to build their own version of the MP3 or use the available knowledge and software codes from other projects? (Haefliger, Krogh, & Spaeth, 2008)[3]

The esteem researchers (Haefliger, Krogh, & Spaeth, 2008)[3] states that by using the GNU General Public License (GPL) will grant the developers to reuse the software components without raising legality issues as per mentioned in the Free Open Source Software section. Furthermore, code reusability encourages collaboration between users by allowing users to share their opinions, feedback of a particular code. Where their feedback or alteration of the code may improve or worsen the original intent of the code.

Based on the figure on the right, it shows a list of projects where developers collaborate to develop together, from this we are able to see that the lines of code for each project which is to be considered to
Screen Shot 2015-05-20 at 1.59.11 PM
be huge. Without this medium the project completion would never be as quickly as it was conceived. Thus future development of any existing projects or inspired new projects of the old would be delayed without code reusability.

References Edit

  1. Kamp, P. (2014). Quality software costs money---heartbleed was free. Commun. ACM Communications of the ACM, 49-51.
  2. DiBona, C., Cooper, D., & Stone, M. (2006). Open sources 2.0: The continuing evolution (Second ed.). O'Reilly.
  3. 3.0 3.1 3.2 Haefliger, S., Krogh, G. v., & Spaeth, S. (2008, January 1). Code Reuse in Open Source Software. Retrieved May 20, 2015 from EBSCO HOST: