Hacker News new | ask | show | jobs
by fooqux 4468 days ago
Creating a large software project is hard and time consuming. Lets use an analogy to help visualize it: say, building Eiffel Towers.

If everyone collaborated on a few such projects, we'd have a few really great Eiffel towers scattered around.

If everyone started their own, we'd have a million piles of metal all over, and very few towers.

2 comments

Coordinating with random people over the internet is also very hard and time consuming and fraught with all sorts of problems like NIH, bike shedding, etc, particularly if you're the "newbie" trying to get changes into the existing project.

Sometimes it is easier to work within an existing project and sometimes it is easier to just fork to meet your own needs, unimpeded by the pace of the original project's maintainers... neither choice (to fork or not to fork) is correct for all situations.

I think your analogy, while a good one, is quite a bit off on scale there.

But if I wanted to attempt to build my own Eiffel Tower in my backyard, why is it bad that I wish to do so? Maybe I just want to do it to see if I can accomplish it?

>I think your analogy, while a good one, is quite a bit off on scale there.

According to wiki.answers, it took 300 people just over two years to build the Eiffel Tower.

Now compare that to Linux, or Gimp, or any other large OSS project and tell me the scale is still off. Or were you claiming that I was off in the other direction? In which case... I might agree with you. ;-)

> But if I wanted to attempt to build my own Eiffel Tower in my backyard, why is it bad that I wish to do so? Maybe I just want to do it to see if I can accomplish it?

It depends entirely on your motive and goal. If your goal is to build it yourself, if your motive is just "see if I can build this with my own power" then there is nothing at all bad. I applaud that. If your goal is to make the best software to fill a certain gap, if it's to make the world a better place with the highest change/effort ratio, then I would argue that adding your knowledge & power to an already existing project is the better way.