Monday, September 28, 2009

Impediments to Code Reuse

Off the top of my head ...
  • Source control systems.  I started with VSS, then moved on to SVN, and now I'm seeing stuff appear in GIT.  For a while I thought a convergence on Subversion from CVS and Visual SourceSafe users, well-supported tools like TortoiseSVN, and free hosting like Google Code might mean a new era in source sharing.  Now I'm wondering if I need to learn GIT in order to get some of the bleeding-edge libraries.
  • Language features.  PHP4 had poor class and object support, PHP5 fixed that.  Classes between these two major releases may not work without major tweaking.  Likewise in the world of C# there are classes and namespaces which pop up and then fall under the axe of deprecation.  Solid code left unmaintained becomes unusable until refactored.
  • Software licenses.  The battlefield between proprietary and GPL is littered with corpses ... and zombies.  Simpler licenses like MIT/BSD get out of my way whereas tiny bits of code tagged with GPL are cringe-inducing.  I still don't think I figured out if mixing GPL and BSD (what I use) is okay.  Restrictive licenses tear up focus and force me to start thinking about confusing legalities.

What else is preventing you from re-using some piece of code versus writing your own?

0 comments: