http://qs321.pair.com?node_id=180061


in reply to Re: Re: Initiative or otherwise?
in thread Initiative or otherwise?

Your arguement ignores the power of open source software. Yes, it is true that Person A has built code that he understands better than the code that person B has modified, but that is only true for the person who has authored the code, not for anyone looking at or using it in the future.

By reusing/improving upon something that already exists, Person B has a code base tested by users from around the world. By contributing back to the code base he insures that his code changes will get also get that testing. Since his code ties into the open source commons, his company can now leverage the communities knowledge base and as the codes tree matures, gives them access to free upgrades in the future.

If a programmer brought to me a library that duplicated something that I knew already existed in open source, I would ask him why I am paying him to reinvent the wheel. Such an activity may be interesting for the programmer, but it is pure folly from a business perspective.

Yes, it is true that there are times when the solutions available are weak and a good programmer can do it better, but such times are rare, and need to be carefully considered before the path is embarked upon. A solution to things already considered is a fragile flower with little chance of survival even when built by the best of programmers.

We all stand on the shoulder's of giants. What better than to help everyone get a little higher?

()-()
 \"/
  `                                                     

Replies are listed 'Best First'.
Re(4): Initiative or otherwise?
by cjf (Parson) on Jul 08, 2002 at 02:18 UTC
    Person B has a code base tested by users from around the world

    How do you know this? How do you know you're not the first person to ever run it? How do you know the author hasn't completely ignored all patches sent his way? Just because the code exists doesn't mean it has been thoroughly tested.

    By contributing back to the code base he insures that his code changes will get also get that testing.

    What if management won't let him release the source? What if the project is not open source?

    Such an activity may be interesting for the programmer, but it is pure folly from a business perspective.

    Is allowing your employees to spend time improving their skills "pure folly?" I think not.

    When using existing code you have to take into account licensing, quality, and maintenance considerations. Same as if you wrote the code yourself. The same rules apply. Blindly trusting a piece of software because the source is available is very dangerous.

      >> tested by users from around the world
      > How do you know this?

      I think that it is safe to assume that code created from scratch that noone else has seen has had less viewing and use that code freely available off of the internet. A programmer that does not test any code that he writes or uses is a fool. If proper testing does not exist, write it, and post it for others to take advantage of.

      > How do you know the author hasn't completely ignored
      > all patches sent his way?

      I don't. Such things are a shame, but do not detract from the usefullness of the code for the situation at hand.

      > What if management won't let him release the source?

      The programmer needs to talk it out with management. They like saving money, and it they don't than hey, no harm, no foul. Things are always flexible. Apple is doing a pretty good job of being an open-source contributor at the same time as they use that foundation to sell commercial software.

      > Is allowing your employees to spend time improving
      > their skills "pure folly?"

      There are other ways to improve ones skills that writing yet another thing that does something that already exists. I think that one learns a heck of a lot by working within the confines of a larger whole: Teamwork.... managing and understanding large codebases... writing code that MUST play well with others. Tell me, who learns more: The guy who writes yet another 0.0.1a templating system, or the guy who makes a solid contribution to Axkit?

      UPDATE: fixed a typo.

      ()-()
       \"/
        `