I have noticed a buzzword culture at Cornell. If you want to grab attention on this campus, the easiest way involves attaching a word like sustainability, diversity or transparency to your cause. Even if your idea is half-baked or has little to do in practice with said buzzword, simple patronage goes a long way.
For example, last semester Microsoft’s Chief Research and Strategy Officer Craig Mundie delivered a talk titled “Rethinking Computing” to a standing-room only audience in Phillips 101. Later that day, a Cornell professor delivered another talk in Phillips 101 as part of the Sustainable Earth, Energy and Environmental Systems speaker series. Guess which talk got covered in The Sun? Even a friend of mine who took an offer at Google wondered why the latter talk was the only one covered by this paper.
However, today I will focus on a lesser-known but growing buzzword: open-source software. Before I explain what exactly qualifies software as open-source, I’ll note that it has grown in popularitty in the government, non-profit and education sectors. For example, Drupal, a popular open-source content management used by CornellSun.com, was recently adopted both by the Cornell library’s website as well as WhiteHouse.gov.
To open-source enthusiasts, open-source software is a product whose human-readable (at least to programmers) source code is written, maintained and publicly released by an open community of people. Conversely, closed-source software is only released in binary form (the incomprehensible 1s and 0s only a computer can understand) and is often made by a company instead of a community.
To any normal person reading this column, however, open-source software is free software.
For our uninformed politicians of both parties, this open-source movement could seem like some sort of socialist utopia or dystopia for software developers. Perhaps someone in the middle would view open-source software as a democratic software movement.
In reality, it is none of those. In a talk delivered at DrupalCon 2009, one of Drupal’s most famous developers, Angela Byron, made a great point which applies not only to Drupal, but really any open-source project if you think about it.
Drupal is not a democracy — while the entire community provides feedback on proposed features, that alone does not determine what makes the cut. Drupal is a do-ocracy — a feature only makes it in if someone will actually do the work.
And if you want to understand the strengths and weaknesses of the open-source movement, it all comes back to one question: Who are the doers?
The answer is the developers. While some open-source products with broad appeal such as OpenOffice, the open-source alternative to Microsoft Office, have gained popularity, the most popular open-source products are ones made by developer for developers: operating systems like Linux, web server software like Apache, databases like MySQL and programming languages like PHP (the four of these together form the LAMP stack). If I used terms that went above your head, it just proves my point.
Likewise, if I gave you a list of tasks Linux does better than Windows in this column, only I, along with fellow geeks, would care about most of the items on that list. In general, Linux advocates who bash Windows can be split into two types.
The first type actually has legitimate complaints; this type reached its peak during the era of Windows Vista. The other type, however, is incensed at Microsoft for excluding some “critical” feature that geekdom cannot live without, instead focusing on features useful for the rest of the human population.
In an xkcd webcomic, Supported Features, a geek brags about how the latest version of Linux now supports computers with 4,096 CPUs, whereas the old limit was 1,024. When someone asks if the issues with full-screen Flash videos have been fixed, the geek responds, “No, but who uses that?” The sad thing when I read this webcomic was that it was true in my case.
Furthermore, if all this software was truly free, then one would wonder how developers could afford to work for nothing. Sure, some developers have paid jobs and contribute to open-source software in their free time, but can one really build a great product on those contributions alone?
Of course not. While the product is free, services are not. Anyone can find all the software they need to run a full-fledged web server (such as the aforementioned LAMP stack) for free, but installing, configuring and maintaining these products is a completely different story. Even if you have the technical expertise to handle all these tasks, everything takes time, and time is a valuable resource.
For example, MySQL is sold in two editions: community and enterprise. The actual code is absolutely free in both, but the enterprise edition purchased by many companies includes various services and support to ensure it runs perfectly. Likewise, for Drupal, there are endless opportunities for Drupal experts to sell their services, and many companies who use Drupal look to hire Drupal developers.
Nonetheless, in an educational setting, there are huge advantages to open-source. Teaching a class on operating systems is much easier with access to the code for an operating system like Linux, and students who get involved in open-source development gain valuable experience which helps them land jobs at any company. Personally, I’ve learned a lot about coding just by sifting through Drupal’s code, and my experience working with Drupal on The Sun’s web staff definitely helped me land an internship and later a full-time offer at Microsoft.
Obviously, some of my criticisms of open-source software are a bit overstated and could use some more nuance. But I do not mind that, because while there are many positive aspects to open-source software, it would truly be a shame if it became little more than just another buzzword.
Original Author: Mike Wacker