====== 기능으로서의 버그 ====== [[소프트웨어]]에 존재하는 [[버그]] 중, 그게 쓸모가 있어서든, 개발자가 고칠 의지가 없든, 아무튼 안 고쳐져서 [[기능]]으로 남게 된 것들. 혹자는 모든 버그는 사실 개발자가 모르거나 의도치 않은 기능이라고 주장하기도 하는데, [[해커영어사전]](Jargon File)의 [[http://catb.org/jargon/html/F/feature.html|feature]] 항목에서는 아예 이렇게 써 놓기도 했다: > 6. [흔한 용례] 문서화된 버그. 뭔가를 기능이라고 부르는 건 종종 프로그램의 작성자가 해당하는 경우에 대해 생각해 본 적이 없으며, 그 경우에 프로그램이 예상은 못 했지만 딱히 아주 틀리진 않은 방법으로 반응하는 걸 가리키곤 한다. 표준적인 농담으로, 버그를 단순히 문서화하거나 (그러면 문서에 적혀 있으니 이론적으로는 아무도 불평을 할 수가 없다) 심지어 그 버그가 좋은 것이라고 주장하는 것만으로 기능으로 만들 수 있다는 얘기가 있다. "그건 버그가 아니라 기능이라고요!"는 흔한 캐치프레이즈이다. ===== 예제 ===== * [[Donald Knuth]]의 [[TeX]]와 [[METAFONT]]는 기능으로서의 버그가 (드물게도) 쓸모가 있는 경우에 속한다. 이들 프로그램은 오랜 세월을 거치면서 기능적인 버그가 거의 존재하지 않는 걸로 알려져 있기 때문에, Knuth 사후에도 남아 있는 버그는 TeX의 안정성을 위해 더 이상 고치지 않고 기능으로 취급하겠다고 선언된 상태이다. (게다가 버전도 각각 [[원주율|π]]와 [[자연상수|e]]로 바뀔 예정.) {{tag>프로그래밍}}