Leveraging Open Source Software
- By Emma McGrattan
- December 1st, 2009
In today’s economy it’s becoming increasingly difficult for graduates to find that elusive first job. Employers have cut back significantly on internship programs, which means that many graduates are attempting to enter the workforce without any real-world experience on their résumés. It quickly becomes a vicious cycle — without experience you can’t get a job, without a job you can’t get experience. Open source provides a unique opportunity to break out of this cycle and to present a resume that can point directly to real world experience in a large and globally distributed project.
The Open Source Value Proposition
In the current economic crisis we are striving to get maximum value for every dollar spent in both our private and professional lives. Since the majority of our budget is typically allocated for paying the bills, we are postponing new purchases and cutting out luxury items. Grocery stores are noticing a significant increase in purchases of their store-branded items as shoppers make substitutions for the typically more expensive brand-named goods. In business and on campus, IT departments are looking to make similar savings by finding alternatives to the high-ticket items on their shopping lists and postponing non-critical projects. Open source software is one way for IT departments to achieve significant savings by switching out prohibitively expensive proprietary software for less expensive open-source alternatives.
What Is Open Source Software?
Open source software is software for which there is typically no up-front licensing fee and which is supported by a community of software developers who have access to the source code so that they can fix bugs and add new features. Many popular open source projects like MySQL, Linux, and Ingres are supported by commercial organizations that provide the standard assurances — such as 24/7 technical support — needed before software can be put into mission-critical deployments. Organizations such as Google, eBay, and Amazon have achieved significant savings by making use of open source.
Open source is also a platform for innovation and collaboration. The Linux operating system, the most pervasive operating system in the world, was born of open source. Just recently Google announced the availability of their Chromium Open Source Operating System (www.chromium.org/chromium-os), built specifically for those who spend most of their time on the Web. Anyone who wishes to contribute to this revolutionary project is encouraged to do so. This affords students a priceless opportunity to get involved in a cutting-edge project while still at university.
The Pervasiveness of Open Source
A recent survey by Gartner Research found that 85 percent of organizations surveyed are making use of open source software today, and the remaining 15 percent have plans to do so in the coming 12 to 18 months. From its humble beginnings as a low-cost alternative to Windows in the data center, open source is now pervasive in the enterprise. It is incumbent upon us to ensure that students leaving our universities and colleges are prepared for the next great technology wave. From understanding how open source software is licensed, to becoming involved in open source development while still at college, there is a lot to learn and an abundance of resources available to assist, encourage, and guide.
Open source projects run the gamut from wikis and Web servers, to sophisticated gaming engines for the latest computer games, and everything in between. Most projects have roles for individuals of all skill levels, and there are a variety of Websites, such as ohloh.net and sourceforge.net, that make it simple to find the perfect match to an individual’s skills and interests. By participating in open source projects, students can learn more about the technology, gain expertise in their chosen field, and have proven experience that they can point to when searching for that elusive first job.
Opportunities for Learning
Open source operates as a meritocracy, and participants must earn their stripes. The typical route is to start by using the software, reporting and fixing bugs, and ultimately adding new features to the project. Real-world development projects tend to have more rigorous coding standards and development practices than university projects. For example, all code submissions are put through a rigorous peer review process, which can be a significant learning experience for a student who may not have thought about the performance, security, or maintainability implications of his or her work.
Working in large, diverse, and distributed development teams on software that has a significant user base is quite different than working with a small team of classmates on carefully designed projects. There is little in a computer science student’s life that will compare to the thrill of fixing an elusive bug that has been plaguing the user community, or adding a long requested feature to a software product that has a global user community.
Open Source Initiatives for Universities
There are initiatives in place today in which students can become involved in open source projects while still at school.
The Free and Open Source Learning Center (www.fosslc.org) was established to educate students on the fundamentals of open source and to encourage their involvement in open source projects. From humble beginnings at Carleton University in Ottawa, Canada, the program has now spread to universities in the U.S., Germany, and the U.K.
Recognizing the need for graduates to obtain real-world software development experience while still at college so that they can hit the ground running when they enter the workplace, Google established the Google Summer of Code (code.google.com/soc), where college students are paid to participate in open source development. The students are paired with a project that matches their interests, assigned a mentor, and paid for their contribution. In 2009, more than 1,000 students from around the globe participated in this project.
Emma McGrattan is senior vice president of Engineering at Ingres Corporation. A leading authority in open source and database management system (DBMS) technologies, Ms. McGrattan is a popular speaker at conferences around the globe. Emma also discusses open source in her blog, “The View from 25B”.