NavigationUser login |
Open Source Software, an Inevitable FutureSo the idea of open source software has been around for a while now. If you don't know what 'open-source' means right now, I can guarantee that within a hundred years everyone will know exactly what it means. This is because open-source software is the future. If you'd like a more comprehensive background on OSS and some of its implications for the programming community, you should check out Eric Raymond's excellent write-up The Cathedral and the Bazaar. Aside from all the wonderful things that OSS brings to the table, from its frequently unconventional development environments to the ability of anyone to take a look at the nittiest-grittiest details of a program, OSS greatest strength is not its own. I would say that the relatively inflexible nature of important requirements is OSS's greatest strength. Once you define a particular methodology for doing something, whether that methodology happens to find the square root of a particular input, or that methodology presents a spreadsheet program to the user, the internal logic of these methodologies is entirely static. To be sure, the spreadsheet program has to have updated interfaces in order to actually display a spreadsheet on your screen or to allow you to manipulate that spreadsheet using a graphical interface, but its internal logic, the 'spreadsheet-ness' of the program, is entirely static. Of course, you can represent spreadsheet-ness in more than one way, but how many different representations do you need when you already have one that works well, or well enough? In a nutshell, although you may have to define new interfaces for how you're going to pass inputs to your square root program, and for how you're going to interpret the output, the internal logic of the square root program is not going to change at all. Also, due to the open and collaborative efforts that go in to producing OSS, requirements are frequently satisfied in the most generic or the most efficient manner possible, greatly expanding their use beyond the programs that originally necessitated those requirements. The avoidance of re-inventing the wheel is a prime motivator for programmers, and OSS eventually gets around to making some damn fine wheels. The conceptual leap from considering a 'wheel' as a basic tool to considering 'spreadsheet-ness' as a basic tool is relatively small.
|
|