Search |
||
Extensible Open Source projects.Posted by richburridge on May 6, 2004 at 9:43 AM PDT
Quite often an open source project is started because somebody wanted some functionality that didn't already exist (or that they weren't aware of). A small project is released and it will either flourish or languish depending upon whether others find it useful or not. I've seen small one time hacks even become released products from commercial companies. Once such a one-off hack becomes a product, then it needs to be supported which can be quite painful if the initial hack wasn't pretty. A better approach would have been to properly design the application, get potential user requirements, test prototypes with real users, create a functional specification, then work towards an implementation (making sure that everything is fully documented). A lot of work, that not everybody wants to do. Successful projects have typically taken those steps and more. More and more I'm seeing projects that provide some kind of extensible functionality. One such approach is with plugins. For example, vim provides this ability to allow you to automatically include scripts that get loaded when the editor starts. Gimp provides a plugin capability to allow you to have extra image manipulation functionality beyond what exists by default. There are lots of others. With Java apps, a nice way to provide extensibility is to dynamically load certain classes depending upon what you want to do. I used this approach to dynamically load the transport layer code in JSDT, a toolkit for writing collaborative applications. There are other approaches; graphical and audio codecs, web browser plugins, shared libraries etc. There is a catch in that this kind of functionality isn't always the most straight forward approach to doing something if you are just focused on trying to achieve a simple task. Sometimes programmers adopt the "quick'n'dirty" approach rather than consider the greater good. As projects become popular, then functionality like this can be added. There is an old adage that says that a program isn't any good until it's been rewritten 2-3 times and that you should always throw the first one away. Perhaps a better approach would be to take more time and be a little more thorough in the way that that first version is created. »
Related Topics >>
Open Source Comments
Comments are listed in date ascending order (oldest first)
|
||
|
|