Slashdot is powered by your submissions, so send in your scoop

 



Forgot your password?
typodupeerror
×
User Journal

Journal Pii's Journal: Please Re-invent the Wheel!

I was reading the thread on the German Government Commissioning a KDE Groupware System, and I kept seeing comments from people to the effect of "I hope they aren't re-inventing the wheel."

I see this comment again and again, in all manner of threads on Slashdot. Mostly, it's meant as critisism of people that start up a new project that duplicates the solution provided by another project.

It's true that there's a tremendous benefit to the reusing of code, and that in may cases, it would probably be more efficient to extend the functionality of an existing piece of software, rather than to begin again from scratch, but really, what's the difference?

They make it out as though the resources of the new project take away from the resources of the existing project, when in truth, that is probably not the case. That only happens when a project is forked, and a group of developers defect to the spin-off project.

Competition is a good thing, if not for the competitors, then certainly for the end users. There is a certain amount of vanity that comes along with the development of open source software. While many projects exist to satisfy the needs of the initial programmer, today, it seems as though most projects begin development with the intention of having their chosen application used by the greatest amount of people possible.

In order to facilitate that kind of adoption amongst users, your application must stand out from others in some way. It must run faster... It must incorporate a unique and/or useful feature that is lacking from other projects... It must have a more elegant or attractive interface... In short, it must appeal to the end user in a signifigant enough manner that they choose to use it.

The end result is that we learn what is truly useful to the end user, and as a result, that feature gets incorporated into all of the competing projects.

Then, it is up to the individual projects to find that next useful feature that will set them apart once again as the best of breed.

The other thing I find funny about the "Don't re-invent the wheel" expression is that the wheel, throughout it's history, has been re-invented, improved, and refined a number of times.

First, they were solid discs made of stone... Later, they were made of wood... Eventually, spokes evolved. Then tires came onto the scene. Older materials have been replaced a number of times, and the designs have been altered repeatedly.

"Good Enough" has it's place, but there are few things yet devised by man that cannot be improved or refined. To people that are willing to undertake a software project that we may all benefit from, I say do so, and wether you reuse existing code, join an existing project, or begin from scratch to build an application or server that has in essence been done before, good for you.

We are all better off because of it.

This discussion has been archived. No new comments can be posted.

Please Re-invent the Wheel!

Comments Filter:

On the eighth day, God created FORTRAN.

Working...