title: Open implementation
text: In computing, open implementation platforms are systems where the implementation is accessible.  Open implementation allows developers of a program to alter pieces of the underlying software to fit their specific needs.  With this technique it is far easier to write general tools, though it makes the programs themselves more complex to design and use.
  
  There are also open language implementations, which make aspects of the language implementation accessible to application programmers.
  
  Open implementation is not to be confused with open source, which allows users to change implementation source code, rather than using existing application programming interfaces.
  
  See also 
  
   Aspect-oriented programming for a successor concept in research
   Metaobject protocol for the primary implementation means
   Software architecture for organization of software in general
  
  External links
  Links pertaining to open implementation
  
  Free software culture and documents